That's not what I meant to link to
[www.git] / projects / openbsd_devtree.shtml
1 <!--#include virtual="/doctype.txt"-->
2 <html>
3
4 <!--#include virtual="/head.shtml"-->
5
6 <body>
7
8 <!--#include virtual="/header.shtml"-->
9
10 <!--#include virtual="/navigation.shtml"-->
11
12 <div id="content">
13
14 <h1>Printing device trees on OpenBSD</h1>
15
16 <p>
17 I've written a small Perl utility for OpenBSD that takes <tt>dmesg</tt>
18 output on standard input and produces a human-friendly tree of devices
19 on standard output. Since it accepts any (OpenBSD) <tt>dmesg</tt>
20 output, you can use it to produce a tree of hardware on someone else's
21 system as well as examine your own.
22 </p>
23
24 <p>As an example, this is what it looks like on my Lemote Yeeloong:</p>
25
26 <code>
27 $&nbsp;dmesg&nbsp;|&nbsp;devtree&nbsp;<br>
28 root<br>
29 &nbsp;&nbsp;|-mainbus0&nbsp;(Lemote&nbsp;Yeeloong)<br>
30 &nbsp;&nbsp;|&nbsp;&nbsp;|-apm0<br>
31 &nbsp;&nbsp;|&nbsp;&nbsp;|-bonito0&nbsp;(memory&nbsp;and&nbsp;PCI-X&nbsp;controller,&nbsp;rev&nbsp;1)<br>
32 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;|-pci0&nbsp;(bus&nbsp;0)<br>
33 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-auglx0&nbsp;(AMD&nbsp;CS5536&nbsp;Audio)<br>
34 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-audio0<br>
35 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-ehci0&nbsp;(NEC&nbsp;USB)<br>
36 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-usb0&nbsp;(USB&nbsp;revision&nbsp;2.0)<br>
37 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-uhub0&nbsp;(NEC&nbsp;EHCI&nbsp;root&nbsp;hub)<br>
38 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-ehci1&nbsp;(AMD&nbsp;CS5536&nbsp;USB)<br>
39 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-usb1&nbsp;(USB&nbsp;revision&nbsp;2.0)<br>
40 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-uhub1&nbsp;(AMD&nbsp;EHCI&nbsp;root&nbsp;hub)<br>
41 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-umass0&nbsp;(Generic&nbsp;USB2.0-CRW)<br>
42 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-scsibus0&nbsp;(2&nbsp;targets,&nbsp;initiator&nbsp;0)<br>
43 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-sd0&nbsp;(Generic-,&nbsp;Multi-Card,&nbsp;1.00)<br>
44 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-urtw0&nbsp;(Realtek&nbsp;RTL8187B)<br>
45 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-glxpcib0&nbsp;(AMD&nbsp;CS5536&nbsp;ISA)<br>
46 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-glxclk0&nbsp;(clock,&nbsp;prof)<br>
47 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-gpio1&nbsp;(32&nbsp;pins)<br>
48 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-iic&nbsp;(not&nbsp;configured)<br>
49 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-isa0<br>
50 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-mcclock0&nbsp;(port&nbsp;0x70/2:&nbsp;mc146818&nbsp;or&nbsp;compatible)<br>
51 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-pckbc0&nbsp;(port&nbsp;0x60/5)<br>
52 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-pckbd0&nbsp;(kbd&nbsp;slot)<br>
53 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;|-wskbd0&nbsp;(console&nbsp;keyboard,&nbsp;using&nbsp;wsdisplay0)<br>
54 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-pms0&nbsp;(aux&nbsp;slot)<br>
55 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-wsmouse0&nbsp;(mux&nbsp;0)<br>
56 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-ykbec0&nbsp;(port&nbsp;0x381/3)<br>
57 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-ohci0&nbsp;(NEC&nbsp;USB)<br>
58 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-usb2&nbsp;(USB&nbsp;revision&nbsp;1.0)<br>
59 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-uhub2&nbsp;(NEC&nbsp;OHCI&nbsp;root&nbsp;hub)<br>
60 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-ohci1&nbsp;(AMD&nbsp;CS5536&nbsp;USB)<br>
61 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-usb3&nbsp;(USB&nbsp;revision&nbsp;1.0)<br>
62 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-uhub3&nbsp;(AMD&nbsp;OHCI&nbsp;root&nbsp;hub)<br>
63 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-pciide0&nbsp;(AMD&nbsp;CS5536&nbsp;IDE)<br>
64 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-wd0&nbsp;(Corsair&nbsp;Force&nbsp;3&nbsp;SSD)<br>
65 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-rl0&nbsp;(Realtek&nbsp;8139)<br>
66 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;|-rlphy0&nbsp;(phy&nbsp;0:&nbsp;RTL&nbsp;internal&nbsp;PHY)<br>
67 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-smfb0&nbsp;(Silicon&nbsp;Motion&nbsp;LynxEM+)<br>
68 &nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-wsdisplay0&nbsp;(std,&nbsp;vt100&nbsp;emulation)<br>
69 &nbsp;&nbsp;|&nbsp;&nbsp;|-cpu0&nbsp;(STC&nbsp;Loongson2F&nbsp;CPU&nbsp;796&nbsp;MHz,&nbsp;STC&nbsp;Loongson2F&nbsp;FPU)<br>
70 &nbsp;&nbsp;|-softraid0<br>
71 &nbsp;&nbsp;|&nbsp;&nbsp;|-scsibus2&nbsp;(256&nbsp;targets)<br>
72 &nbsp;&nbsp;|-vscsi0<br>
73 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-scsibus1&nbsp;(256&nbsp;targets)<br>
74 </code>
75
76 <p>Source and a man page are available under the
77 <a href="http://git.sjm.so/?p=openbsd-goodies.git;a=blob;f=COPYING;hb=HEAD">WTFPL</a>
78 from
79 <a href="git://git.sjm.so/openbsd-goodies.git">git://git.sjm.so/openbsd-goodies.git</a>
80 (or view it on <a href="http://git.sjm.so/?p=openbsd-goodies.git;a=tree;f=devtree;hb=HEAD">GitWeb</a>)
81 .
82 </p>
83
84 </div>
85
86 <!--#include virtual="/footer.shtml"-->
87
88 </body>
89
90 </html>