- updated documentation (bnc #470160)
[opensuse:hwinfo.git] / README
1 See hwinfo man page for general usage instructions.
2
3 This document describes some legacy features and the "hwprobe" environment variable.
4
5
6 1. Legacy
7 =========
8
9 ***  Note: please do not do this, this is only kept to assist debugging.  ***
10
11 Legacy mode is activated when no option starting with "--" is given. In this case hwinfo
12 works as follows:
13
14   hwinfo [debug=deb_flag] [log=log_file] [list[+]=hw_item] [[+|-]probe_option1] [[+|-]probe_option2] ...
15
16 Examples:
17
18   hwinfo
19     - probes for nearly everything
20
21   hwinfo +all
22     - probes for everything
23
24   hwinfo log=hw_log
25     - default probing, output is written to hw_log
26       *** Please don't use "hwinfo >some_log 2>&1" to store the output into a
27       log file! ***
28
29   hwinfo -all +pci +int
30     - probe for pci devices
31
32 Note that "int" should almost always be active.
33
34 Some probing flags do not stand for complete modules but enable additional
35 features; e.g. "bios.vesa" or "block.cdrom".
36
37 Example:
38   hwinfo -all +block +int
39   gives a list of all block devs
40
41   hwinfo -all +block.cdrom +int
42   additionally reads the iso9660 info
43
44 The list of supported flags varies from version to version. To get a list of
45 the actual set of probing flags, call "hwinfo -all" and look at the top of
46 the log.
47
48
49 2. Environment variable/kernel cmdline parameter
50 ================================================
51
52 You can control the hardware probing using the environment variable
53 "hwprobe" and the kernel cmdline parameter "hwprobe".
54
55 If "hwprobe" is set on the kernel cmdline, the environment variable
56 "hwprobe" is ignored. Otherwise, the meaning of both is exactly the same.
57
58   hwprobe
59     - Controls which probing flags should *always* be set/cleared. (These
60       settings *cannot* be overridden by command line switches.)
61
62       Examples:
63         hwprobe=-isapnp
64           o *never* do any isapnp probing
65
66         hwprobe=-braille,-modem
67           o don't look for braille displays & modems
68
69     - Allows you to add and remove hardware from the probing results. In this case
70       the syntax is (-: remove, +: add at end of list, <nothing>: add at begin of
71       list):
72         hwprobe=[+-]<device_class>:<vendor_id>:<device_id>[:<unix_device_file>]
73
74       <device_class>, <vendor_id> and <device_id> are device ids as used by libhd.
75       See the output of hwinfo for examples. In connection with "-", you can use
76       "*" as a placeholder that matches every id.
77
78       Note: <unix_device_file> is optional.
79
80       Note2: you cannot usefully *add* hardware that needs more info than that
81       given by the hwprobe entry. Disks & floppies are notable examples.
82       (But you can *remove* them.)
83
84       Here is a typical hwinfo output for a mouse, with the relevant ids
85       underlined (<device_class> is the combined base_class & sub_class),
86       [see 1st example below]:
87
88         14: PS/2 00.0: 10500 PS/2 Mouse
89                        ^^^^^ -->        <device_class>
90           [Created at mouse.110]
91           Vendor: s0200 "Unknown"
92                   ^^^^^  -->            <vendor_id>
93           Model: 0002 "Generic PS/2 Mouse"
94                  ^^^^  -->              <device_id>
95           Device File: /dev/psaux
96                        ^^^^^^^^^^ -->   <unix_device_file>
97           Driver Info #0:
98             XFree86 Protocol: ps/2
99             GPM Protocol: ps2
100           Attached to: #8 (PS/2 Controller)
101
102
103       Examples:
104         hwprobe=+10500:s200:2:/dev/psaux
105           o add a ps/2 mouse [at the end of the hardware list]
106
107         hwprobe=10500:s200:2:/dev/psaux
108           o add a ps/2 mouse [at the start of the hardware list, so it
109             is our default mouse]
110
111         hwprobe=+10b00:s5001:0:/dev/ttyS0
112           o add a braille display connected to /dev/ttyS0
113
114         hwprobe=-10500:s200:2:/dev/psaux
115           o remove ps/2 mice attached to /dev/psaux
116
117         hwprobe=-10500:s200:2
118           o remove all ps/2 mice
119
120         hwprobe=-10500:*:*
121           o remove all ps/2 mice
122
123         hwprobe=-*:*:*:/dev/hdc
124           o remove /dev/hdc
125
126         hwprobe=+401:1274:5000
127           o add an ensoniq sound card
128
129       Grafics cards are are slightly trickier:
130
131         hwprobe=+300:1014:b7
132           o add a Fire GL1 card
133             Note: this way you'll get a multihead config. You'll probably
134             rather want the following example.
135
136         hwprobe=-300:*:*,+300:1014:b7
137           o remove all graphics cards; then add a Fire GL1 card
138
139         hwprobe=+400:121a:1
140           o add a 3fx voodoo card (Note the class "400", not "300"!)
141
142     - for more ids, see "src/ids/names.*" and "src/ids/drivers.*"
143