File: README.md

package info (click to toggle)
hwinfo 21.67-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 8,836 kB
  • sloc: ansic: 45,096; perl: 3,325; makefile: 233; sh: 181
file content (127 lines) | stat: -rw-r--r-- 4,670 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# hwinfo

## Overview

hwinfo/libhd are used to probe for the hardware present in the system. It can be
used to generate a system overview log which can be later used for support.

This project provides a hardware probing library `libhd.so` and a command line tool `hwinfo` using it.
A major project using this library is [YaST](https://yast.github.io), the SUSE installation tool.

To give you an idea what kind of information it provides, here's the output it gives when asked about the graphcs card:

```sh
# hwinfo --gfxcard
27: PCI 200.0: 0300 VGA compatible controller (VGA)
  [Created at pci.378]
  Unique ID: B35A.G9ppNwS+xM4
  Parent ID: _Znp.nMBktMhAWbC
  SysFS ID: /devices/pci0000:00/0000:00:02.0/0000:02:00.0
  SysFS BusID: 0000:02:00.0
  Hardware Class: graphics card
  Model: "nVidia GF119 [NVS 310]"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x107d "GF119 [NVS 310]"
  SubVendor: pci 0x10de "nVidia Corporation"
  SubDevice: pci 0x094e
  Revision: 0xa1
  Driver: "nvidia"
  Driver Modules: "nvidia"
  Memory Range: 0xfa000000-0xfaffffff (rw,non-prefetchable)
  Memory Range: 0xf0000000-0xf7ffffff (ro,non-prefetchable)
  Memory Range: 0xf8000000-0xf9ffffff (ro,non-prefetchable)
  I/O Ports: 0xe000-0xefff (rw)
  Memory Range: 0xfb000000-0xfb07ffff (ro,non-prefetchable,disabled)
  IRQ: 82 (3241635 events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v000010DEd0000107Dsv000010DEsd0000094Ebc03sc00i00"
  Driver Info #0:
    Driver Status: nouveau is not active
    Driver Activation Cmd: "modprobe nouveau"
  Driver Info #1:
    Driver Status: nvidia is active
    Driver Activation Cmd: "modprobe nvidia"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #9 (PCI bridge)

Primary display adapter: #27
```

If that's a bit too much information, you can ask it also for an abbreviated form. For example:

```sh
# hwinfo --short --disk --cdrom
disk:
  /dev/sda             WDC WD10EARS-00Y
  /dev/sdb             ST2000DM001-1CH1
cdrom:
  /dev/sr0             PLDS DVD+-RW DS-8ABSH
```

You can influence libhd via the `hwprobe` environment variable resp. the `hwprobe` boot option.
This includes turning on or off
probing modules and also manually adding hardware devices (to some degree).

For example

```sh
export hwprobe=-bios
```
will turn off the `bios` probing module.

For details about `hwprobe` look [here](README-hwprobe.md).

For general usage instructions, see `hwinfo` manual page.

> ### Note
>
>
> `hwinfo` has a legacy interface, accepting `hwprobe`-like options as command argument (For example
> `hwinfo -bios` - note the single '`-`'). Please don't do this. If you are interested, you can
> read about it [here](README-legacy.md).

## Technical documentation

The hardware detection library makes use of a number of technical specifications.

[Here](specifications.md) is a compilation of external links to technical standards relevant to `libhd`.

## openSUSE Development

To build the library, simply run `make`. Install with `make install`.

Basically every new commit into the master branch of the repository will be auto-submitted
to all current SUSE products. No further action is needed except accepting the pull request.

Submissions are managed by a SUSE internal [jenkins](https://jenkins.io) node in the InstallTools tab.

Each time a new commit is integrated into the master branch of the repository,
a new submit request is created to the openSUSE Build Service. The devel project
is [system:install:head](https://build.opensuse.org/package/show/system:install:head/hwinfo).

For maintained branches, the package is submitted to a devel project but the final submission
must be triggered manually.

`*.changes` and version numbers are auto-generated from git commits, you don't have to worry about this.

The spec file is maintained in the Build Service only. If you need to change it for the `master` branch,
submit to the
[devel project](https://build.opensuse.org/package/show/system:install:head/hwinfo)
in the build service directly.

The current names of the devel projects for other branches can be seen in the jenkins logs.

Development happens mainly in the `master` branch. The branch is used for all current products.

In rare cases branching was unavoidable:

* branch `sl_11.1`: SLE 11 SP4
* branch `sle12`: SLE 12 (**not** SPx)

You can find more information about the changes auto-generation and the
tools used for jenkis submissions in the [linuxrc-devtools
documentation](https://github.com/openSUSE/linuxrc-devtools#opensuse-development).

## Updating Database for Pci and Usb Ids

For details about updating pci and usb ids look [here](src/ids/README.md).