Put in remaining pages and wiki contents.
[ikiwiki.git] / docs / user / ThinkpadX61s.mdwn
1 ## DragonFly on Lenovo Thinkpad X61s \r
2 \r
3 [[!toc  levels=3]]
4 \r
5 Following experience is from running DragonFly 1.11 development on laptop, so it should apply if you are running 1.12 stable and up.\r
6 \r
7     \r
8     $ sudo lspci -nn\r
9     00:00.0 Host bridge [0600]: Intel Corporation Mobile Memory Controller Hub [8086:2a00] (rev 0c)\r
10     00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile Integrated Graphics Controller [8086:2a02] (rev 0c)\r
11     00:02.1 Display controller [0380]: Intel Corporation Mobile Integrated Graphics Controller [8086:2a03] (rev 0c)\r
12     00:19.0 Ethernet controller [0200]: Intel Corporation 82566MM Gigabit Network Connection [8086:1049] (rev 03)\r
13     00:1a.0 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 [8086:2834] (rev 03)\r
14     00:1a.1 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 [8086:2835] (rev 03)\r
15     00:1a.7 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 [8086:283a] (rev 03)\r
16     00:1b.0 Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio Controller [8086:284b] (rev 03)\r
17     00:1c.0 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 [8086:283f] (rev 03)\r
18     00:1c.1 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 [8086:2841] (rev 03)\r
19     00:1d.0 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 [8086:2830] (rev 03)\r
20     00:1d.1 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 [8086:2831] (rev 03)\r
21     00:1d.7 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 [8086:2836] (rev 03)\r
22     00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev f3)\r
23     00:1f.0 ISA bridge [0601]: Intel Corporation Mobile LPC Interface Controller [8086:2811] (rev 03)\r
24     00:1f.2 IDE interface [0101]: Intel Corporation Mobile SATA IDE Controller [8086:2828] (rev 03)\r
25     00:1f.3 SMBus [0c05]: Intel Corporation 82801H (ICH8 Family) SMBus Controller [8086:283e] (rev 03)\r
26     03:00.0 Network controller [0280]: Atheros Communications, Inc. AR5418 802.11a/b/g/n Wireless PCI Express Adapter [168c:0024] (rev 01)\r
27     05:00.0 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev ba)\r
28     05:00.1 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 IEEE 1394 Controller [1180:0832] (rev 04)\r
29     05:00.2 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 21)\r
30 \r
31 \r
32 ### Kernel and system in general \r
33 \r
34 SMP kernel boots with IO_APIC disabled only. With IO_APIC support it panics early in boot. I haven't bothered yet to dig deeper into this issue.\r
35 \r
36 I'm not able to boot machine with SATA controller in AHCI mode while running on battery (without AC). It boots fine with AHCI AC connected as it does SATA controller in IDE mode. As some brief benchmarks showed that there is no actual difference I'm using it SATA controller in IDE mode at the moment. The issue itself is related to interrupt routing probably, it really needs some love in DragonFly.\r
37 \r
38 ##### Update from 20.05.2008 \r
39 \r
40 The BIOS update released in 18.05.2008 - 7NETB3WW (2.13) - solves most of problems mentioned here, but the kernel with IO_APIC is still no go.\r
41 \r
43 * A kernel without IO_APIC option boots fine with SATA controller in any mode - AHCI or compatibility, with and without AC. So there is no need to switch SATA controller to compatibility mode any more.\r
45 * A kernel with IO_APIC boots with SATA controller in AHCI mode, but doesn't find any disks.\r
47 * A kernel with IO_APIC boots with SATA controller in compatibility mode, finds disks, but ath(4) doesn't work.\r
48 \r
49 ### ACPI and power management \r
50 \r
51 There is no issues in running with ACPI.\r
52 \r
53     \r
54     acpi0: <LENOVO TP-7N> on motherboard\r
55     acpi_ec0: <Embedded Controller: GPE 0x12, ECDT> port 0x66,0x62 on acpi0\r
56     acpi0: Power Button (fixed)\r
57     acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0\r
58     cpu0: <ACPI CPU (3 Cx states)> on acpi0\r
59     cpu1: <ACPI CPU (3 Cx states)> on acpi0\r
60     acpi_tz0: <Thermal Zone> on acpi0\r
61     acpi_tz1: <Thermal Zone> on acpi0\r
62     acpi_lid0: <Control Method Lid Switch> on acpi0\r
63     acpi_button0: <Sleep Button> on acpi0\r
64     atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0\r
65     acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%\r
66     acpi_cmbat0: <Control Method Battery> on acpi0\r
67     acpi_acad0: <AC Adapter> on acpi0\r
68 \r
69 \r
70 Suspend (S3) doesn't work though - panics on resume. Haven't time to dig into it yet. Throttling CPU speed works through ACPI, but it doesn't seem to have any impact to battery life, it makes system just slower. So I disabled automatic throttling while running on battery:\r
71 \r
72     \r
73     $ sysctl hw.acpi.cpu\r
74     hw.acpi.cpu.throttle_max: 8\r
75     hw.acpi.cpu.throttle_state: 8\r
76     hw.acpi.cpu.performance_speed: 8\r
77     hw.acpi.cpu.economy_speed: 8\r
78 \r
79 \r
80 [est(4)](http://leaf.dragonflybsd.org/cgi/web-man?command#est&section4) in DragonFly doesn't support Core family CPU's yet AFAIK. I have 8 cell battery and it lasts about 5 hours, which is enough for me at the moment. Therefore I haven't bothered to dig into power management issues yet.\r
81 \r
82 For tuning/controlling/monitoring ACPI extras for Thinkpad laptops I have acpi_ibm(4) and acpi_video(4) ports from FreeBSD in work. Neither of them are rady to commit yet, but I can share the current state if you contact me privately. I'll work on them after 2.0 release probably.\r
83 \r
84     \r
85     $ sysctl hw.acpi.ibm\r
86     hw.acpi.ibm.initialmask: 2060\r
87     hw.acpi.ibm.availmask: 16777215\r
88     hw.acpi.ibm.events: 0\r
89     hw.acpi.ibm.eventmask: 2060\r
90     hw.acpi.ibm.hotkey: 2483\r
91     hw.acpi.ibm.lcd_brightness: 0\r
92     hw.acpi.ibm.volume: 0\r
93     hw.acpi.ibm.mute: 0\r
94     hw.acpi.ibm.thinklight: 0\r
95     hw.acpi.ibm.bluetooth: 1\r
96     hw.acpi.ibm.wlan: 1\r
97     hw.acpi.ibm.fan_speed: 4343\r
98     hw.acpi.ibm.fan_level: 0\r
99     hw.acpi.ibm.fan: 1\r
100     hw.acpi.ibm.thermal: 52 48 48 49 37 -1 35 -1\r
101 \r
102 \r
103 ### Video controller \r
104 \r
105 The chipset in use is Intel 965GM.\r
106 \r
107     \r
108     agp0: <Intel GM965 SVGA controller> port 0x1800-0x1807 mem 0xe0000000-0xefffffff,0xf8000000-0xf80fffff irq 10 at device 2.0 on pci0\r
109     agp0: detected 7676k stolen memory\r
110     agp0: aperture size is 256M\r
111     drmsub0: <Intel i965GM> on agp0\r
112 \r
113 \r
114 Although there are some issues with it, Intel chips are the best ones to use at the moment. I experimented a lot with Xorg and found that XAA acceleration architecture with DRI works best for me. DRM isn't in CVS yet, so you have to use info from [this mail](http://leaf.dragonflybsd.org/mailarchive/users/2008-01/msg00003.html).\r
115 \r
116 [[!table  data="""
117 |<15%>  **XAA without DRI**  | Works in general, but there are random XVideo related crashes - [this bug](https://bugs.freedesktop.org/show_bug.cgi?id=13976). Crashes seem to be specific to 965GM chipset, 965Q I'm using in desktops doesn't have this problem. 
118 <15%>  **EXA without DRI**  | Unusably slow. Seems to be known problem (see [this bug](https://bugs.freedesktop.org/show_bug.cgi?id=13389) for example) Note, that EXA is default in new intel driver 2.2.0, so if you don't want to run DRI, switch to XAA. 
119 <15%>  **XAA with DRI**  | Best option so far. Running GL applications is problematic though - I'm able to crash X 100% with moving glxgears window (see [this bug](https://bugs.freedesktop.org/show_bug.cgi?id=13985) for details) and with trying to run second glxgears. The second issue is probably related to bugs in our DRM locking. XVideo crashes are rare, but they are there. 
120 <15%>  **EXA with DRI**  | The speed is good, I can't crash X with moving glxgears windows, but opening second glxgears still crashes X. There are also some random crashes I'm not yet sure about. |\r
121 """]]\r
122  **Update (20080228)** \r
123 \r
124 XVideo crases seems to be related Intel(R) Textured Video adaptor. Modified Xorg driver (2.2.1) which adds hardware overlay support for G965 chips works fine without crashes so far. See [this thread](http://thread.gmane.org/gmane.comp.freedesktop.xorg/26334) for details how to modify the driver.\r
125 \r
126 ### Ethernet controller \r
127 \r
128 Works without any problem with em(4).\r
129 \r
130     \r
131     em0: <Intel(R) PRO/1000 Network Connection, Version - 6.2.9> port 0x1840-0x185f mem 0xf8225000-0xf8225fff,0xf8200000-0xf821ffff irq 11 at device 25.0 on pci0\r
132 \r
133 \r
134 ### Wireless card(s) \r
135 \r
136 AFAICS all X61(s) models have either Intel PRO/Wireless 3945ABG or Intel PRO/Wireless 4965AGN Mini-PCI Express WiFi adapters. Unfortunately neither of them is working in DragonFly at the moment. Situation isn't hopeless though, both of them are supported in OpenBSD via wpi(4) and iwn(4) drivers respectively. With some effort it would be possible to support them. There is also wpi(4) work in progress in FreeBSD which would be simpler to port than the driver from FreeBSD.\r
137 \r
138 I haven't done any porting work yet, because I can use Atheros AR5418 802.11a/b/g/n Wireless Mini-PCI Express adapter for now. I'm not very happy with it though, because I have to use ath(4) driver with binary blob. Blob in DragonFly doesn't work either and I have to use the one from [[http://people.freebsd.org/~sam/]]. This one works without problems so far and has necessary for me WPA support.\r
139 \r
140     \r
141     ath0: <Atheros 5418> mem 0xf7f00000-0xf7f0ffff irq 11 at device 0.0 on pci3\r
142     ath0: mac 12.10 phy 8.1 radio 12.0\r
143 \r
144 \r
145 If you plan to change Mini-PCI Express card note that "unauthorised" ones don't work out of box. See [this link]( http://www.thinkwiki.org/wiki/Problem_with_unauthorized_MiniPCI_network_card) for more details.\r
146 \r
147 ### Bluetooth \r
148 \r
149 Works with ubt(4) driver without problems. In fact all my bluetooth(4) work is done with this laptop.\r
150 \r
151     \r
152     ubt0: <Broadcom Corp BCM2045B, class 224/1, rev 2.00/1.00, addr 3> on uhub0\r
153 \r
154 \r
155 ### Audio \r
156 \r
157 Works without problems.\r
158 \r
159     \r
160     pcm0: <Intel 82801H High Definition Audio Controller> mem 0xf8220000-0xf8223fff irq 11 at device 27.0 on pci0\r
161     pcm0: <HDA Codec: Analog Devices AD1984>\r
162     pcm0: <HDA Driver Revision: 20071129_0050>\r
163 \r
164 \r
165 ### Firewire \r
166 \r
167 Seems to work, but I haven't done any tests so far.\r
168 \r
169     \r
170     fwohci0: vendor#1180, dev832\r
171     fwohci0: <1394 Open Host Controller Interface> mem 0xd7efe800-0xd7efefff irq 11 at device 0.1 on pci5\r
172     fwohci0: OHCI version 1.10 (ROM=0)\r
173     fwohci0: No. of Isochronous channel is 4.\r
174     fwohci0: EUI64 00:16:d3:ff:ff:c2:f7:57\r
175     fwohci0: Phy 1394a available S400, 1 ports.\r
176     fwohci0: Link S400, max_rec 2048 bytes.\r
177     firewire0: <IEEE1394(FireWire) bus> on fwohci0\r
178     fwe0: <Ethernet over FireWire> on firewire0\r
179     fwe0: MAC address: 02:16:d3:c2:f7:57\r
180     sbp0: <SBP-2/SCSI over FireWire> on firewire0\r
181     fwohci0: Initiate bus reset\r
182     fwohci0: node_id#0xc800ffc0, gen1, CYCLEMASTER mode\r
183     firewire0: 1 nodes, maxhop <# 0, cable IRM  0 (me)\r
184     firewire0: bus manager 0 (me)\r
185 \r
186 \r
187 ### SD card reader \r
188 \r
189 Isn't supported yet.\r
190 \r
191 \r
192 -- Hasso Tepper (31.01.2008)\r