Difference between revisions of "Category:W500"
Nils.schlupp (Talk | contribs) |
(→ThinkPad W500) |
||
Line 33: | Line 33: | ||
(User [[User:gatman3|gatman3]] reports being able to get an entirely clean out-of-the-box install on W500 model 4062 with Intel AGN 5100 wi-fi using the released Ubuntu 8.10, both 32 bit and 64 bit. Did not have to set Default Primary Video Device to PCI Express. Setting Graphics Device to Integrated (Intel) results in Xorg automatically using the Intel driver, although the default resolution was 1680x1050, not 1920x1200 as my model supports. Setting Graphics Device to Discrete (ATI) results in Xorg automatically using the Radeon driver. For ATI graphics, I recommend switching to the proprietary fglrx driver, which provides very good 3d acceleration, suspend/hibernate work IF Desktop Effects and Xv video playback are not used, and consumes significantly less power - although slightly more than the Intel graphics). | (User [[User:gatman3|gatman3]] reports being able to get an entirely clean out-of-the-box install on W500 model 4062 with Intel AGN 5100 wi-fi using the released Ubuntu 8.10, both 32 bit and 64 bit. Did not have to set Default Primary Video Device to PCI Express. Setting Graphics Device to Integrated (Intel) results in Xorg automatically using the Intel driver, although the default resolution was 1680x1050, not 1920x1200 as my model supports. Setting Graphics Device to Discrete (ATI) results in Xorg automatically using the Radeon driver. For ATI graphics, I recommend switching to the proprietary fglrx driver, which provides very good 3d acceleration, suspend/hibernate work IF Desktop Effects and Xv video playback are not used, and consumes significantly less power - although slightly more than the Intel graphics). | ||
+ | |||
+ | |||
+ | ==== Slackware 12.2 (with 2.6.28) ==== | ||
+ | After changing the display setting as stated above and installing Slackware 12.2 with the default huge-smp-2.6.27.7-smp kernel, I was not able to get wireless to work. It appears the reason is probably due to the fact that {{path|/usr/src/linux-2.6.27.7/drivers/net/wireless/iwlwifi/iwl-agn.c}} does not have an entry for my wireless card (AGN 5350). | ||
+ | |||
+ | {{cmdroot|lspci}}: | ||
+ | {{cmdresult|03:00.0 Network controller: Intel Corporation Unknown device 423b}} | ||
+ | |||
+ | Instead of adding the entry and hoping, I decided that upgrading the kernel would probably work better (since I was going to have to compile one anyways). | ||
+ | |||
+ | Things to keep in mind when upgrading the kernel: | ||
+ | *If you plan on using fglrx (ATI's closed source driver, I did) then make sure DRM is a module and not compiled in | ||
+ | **{{kernelconf|DRM|[M]|Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)|Graphics support|Device Drivers||}} | ||
+ | *The sleep/hibernate scripts that I found and tweeked suggest removing the uhci_usb beforehand, so make a module | ||
+ | **{{kernelconf|USB_UHCI_HCD|[M]|UHCI HCD (most Intel and VIA) support|Support for Host-side USB|USB support|Device Drivers|}} | ||
+ | *If you plan on using hibernate, it can't hurt to tell your kernel where your swap is (I don't know what happens if you don't) | ||
+ | **{{kernelconf|PM_STD_PARTITION|Default resume partition|Hibernation (aka 'suspend to disk')|Power management and ACPI options|||}} | ||
+ | *If you have >3GB of ram then you'll need to make sure your kernel can support it | ||
+ | **{{kernelconf|HIGHMEM64G|[Y]|64GB|High Memory Support|Processor type and features||}} | ||
+ | {{NOTE|For some reason I had to rerun mkswap on my swap partition after changing this. Selecting 4GB here gave me only 3GB of physical memory and 1GB of swap}} | ||
+ | |||
+ | After the kernel upgrade the wireless should work, you may have to put updated firmware ({{path|iwlwifi-5000-1.ucode}}) in {{path|/lib/firmware}}. | ||
+ | |||
+ | |||
+ | The next step for me was installing fglrx. I used Catalyst 8.12 because 8.10 did not seem to compile with the new kernel, unfortunately 8.12 is almost completely garbage. Despite the fact that getting DRI/Compiz to work is easy and possible, using 8.12 only allowed me to have one instance of X open (opening a second with fglrx causes an error). Using VESA for the second instance works for a bit, until you switch away and come back, then it appears to have screwed up its color depth. Also, closing my xserver and restarting it requires me to either {{cmdroot|modprobe -r fglrx}} before restarting, or receive an error message followed by a crash, whichever I feel like. | ||
+ | |||
+ | |||
+ | The volume buttons were the next hump to get over. Where as the mute button muted the system, the volume up/down buttons didn't work. Further more {{cmdroot|echo "up" > /proc/acpi/ibm/volume}} and {{cmdroot|echo "down" > /proc/acpi/ibm/volume}} did nothing. Poking around it *appears* that Lenovo made them keyboard buttons instead of controlling a hardware mixer (which is gone now?). I ended up looking for a program to watch my keyboard and run commands based on keys. I stumbled upon [http://www.burghardt.pl/2008/09/ese-key-daemon-124-released/ esekeyd]. It seems to work fine, my esekeyd config file looks as such: | ||
+ | VOLUMEDOWN:/usr/bin/amixer set Master 2dB- | ||
+ | VOLUMEUP:/usr/bin/amixer set Master 2dB+ | ||
+ | Annoyingly when in a real console (Vtx) the volume down button worked, but produced a '~' on the command line. Unsatisfied and lazy, I edited {{path|/usr/share/kbd/keymaps/i386/qwerty/defkeymap.map.gz}} and cleared the entries for 114 (volume down) and 115 (volume up), which were the values I got from {{cmduser|showkey}}. Then over to {{path|/etc/rc.d/rc.local}} to put in {{cmdresult|/bin/loadkeys -d}} to make it load the keymap I just edited. | ||
+ | |||
+ | The multimedia keys weren't really a priority for me, but since it was so easy, I figured I'd tell my window manager about them anyways. Being lazy I just put them in the default {{path|/usr/X11R6/lib/X11/xinit/.Xmodmap}} | ||
+ | keycode 234 = XF86Back | ||
+ | keycode 233 = XF86Forward | ||
+ | keycode 162 = XF86AudioPlay | ||
+ | keycode 164 = XF86AudioStop | ||
+ | keycode 153 = XF86AudioNext | ||
+ | keycode 144 = XF86AudioPrev | ||
+ | The top two keys being the page left and right keys (no clue what they are really called, but they are with the arrow keys), the bottom four the Fn+Arrow audio keys. All values came from {{cmduser|xev}}. | ||
+ | |||
+ | |||
+ | At this point I was getting increasingly lazy, so instead of making separate acpi rules for sleep and hibernate, I just edited {{path|/etc/acpi/acpi_eventhandler.sh}}. It ended up looking like this: | ||
+ | #!/bin/sh | ||
+ | # Default acpi script that takes an entry for all actions | ||
+ | |||
+ | IFS=${IFS}/ | ||
+ | set $@ | ||
+ | |||
+ | case "$1" in | ||
+ | button) | ||
+ | case "$2" in | ||
+ | power) /sbin/init 0 | ||
+ | ;; | ||
+ | *) logger "ACPI action $2 is not defined" | ||
+ | ;; | ||
+ | esac | ||
+ | ;; | ||
+ | ibm) | ||
+ | case "$2" in | ||
+ | hotkey) | ||
+ | case "$5" in | ||
+ | 00001004) #Sleep button Fn+F4 | ||
+ | /etc/acpi/sleep.sh | ||
+ | ;; | ||
+ | 0000100c) #Hibernate button Fn+F12 | ||
+ | /etc/acpi/hibernate.sh | ||
+ | ;; | ||
+ | *) | ||
+ | logger "ibm / hotkey $5 undefined" | ||
+ | ;; | ||
+ | esac | ||
+ | ;; | ||
+ | *) | ||
+ | logger "IBM $1 / $2 / $3 / $4 / $5 / is not defined" | ||
+ | ;; | ||
+ | esac | ||
+ | ;; | ||
+ | *) | ||
+ | logger "ACPI group $1 / action $2 is not defined" | ||
+ | ;; | ||
+ | esac | ||
+ | The sleep script {{path|/etc/acpi/sleep.sh}} was completely ripped off from [[How to configure acpid]]. For {{path|/etc/acpi/hibernate.sh}} I just reused sleep by changing "mem" into "disk" and had it disconnect me from the network before going down. | ||
+ | |||
+ | |||
+ | At this point I have confirmed working | ||
+ | *Graphics/DRI with fglrx | ||
+ | *Volume/multimedia buttons | ||
+ | *Wireless ethernet | ||
+ | *Wired ethernet | ||
+ | *Sleep and hibernate | ||
+ | *The "nub" | ||
+ | |||
+ | Things that don't appear to work right now | ||
+ | *The fingerprint reader, looks like there aren't Linux drivers for it yet (January 8th, 2008) | ||
+ | |||
+ | What I have not tried | ||
+ | *SD card reader | ||
+ | *Vga out | ||
+ | *DisplayPort out | ||
+ | *Modem | ||
+ | *Firewire | ||
+ | *PCMCIA | ||
+ | *Microphone/ headphone | ||
+ | *The touch pad, I hate them so much that the first thing I did after receiving the laptop was disable it, before even booting it once. | ||
+ | |||
==== Standard Features ==== | ==== Standard Features ==== |
Revision as of 02:30, 11 January 2009
ContentsThinkPad W500Force Feeding UbuntuI was unable to get a clean install with a default ThinkPad W500 configuration and a 32 bit Ubuntu 8.10 downloaded ISO burned to CD. I referenced this post from the ubuntu forums which allowed me to complete the Ubuntu installation. Go into BIOS and change your display settings to:
The W500 has switchable graphics and Ubuntu is unable to determine which graphics card to use without these BIOS settings to point the way. After install
Failures and Annoyances
Slackware 12.2 (with 2.6.28)After changing the display setting as stated above and installing Slackware 12.2 with the default huge-smp-2.6.27.7-smp kernel, I was not able to get wireless to work. It appears the reason is probably due to the fact that /usr/src/linux-2.6.27.7/drivers/net/wireless/iwlwifi/iwl-agn.c does not have an entry for my wireless card (AGN 5350).
Instead of adding the entry and hoping, I decided that upgrading the kernel would probably work better (since I was going to have to compile one anyways). Things to keep in mind when upgrading the kernel:
NOTE!
For some reason I had to rerun mkswap on my swap partition after changing this. Selecting 4GB here gave me only 3GB of physical memory and 1GB of swap
After the kernel upgrade the wireless should work, you may have to put updated firmware (iwlwifi-5000-1.ucode) in /lib/firmware.
VOLUMEDOWN:/usr/bin/amixer set Master 2dB- VOLUMEUP:/usr/bin/amixer set Master 2dB+ Annoyingly when in a real console (Vtx) the volume down button worked, but produced a '~' on the command line. Unsatisfied and lazy, I edited /usr/share/kbd/keymaps/i386/qwerty/defkeymap.map.gz and cleared the entries for 114 (volume down) and 115 (volume up), which were the values I got from The multimedia keys weren't really a priority for me, but since it was so easy, I figured I'd tell my window manager about them anyways. Being lazy I just put them in the default /usr/X11R6/lib/X11/xinit/.Xmodmap keycode 234 = XF86Back keycode 233 = XF86Forward keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 153 = XF86AudioNext keycode 144 = XF86AudioPrev The top two keys being the page left and right keys (no clue what they are really called, but they are with the arrow keys), the bottom four the Fn+Arrow audio keys. All values came from
#!/bin/sh # Default acpi script that takes an entry for all actions IFS=${IFS}/ set $@ case "$1" in button) case "$2" in power) /sbin/init 0 ;; *) logger "ACPI action $2 is not defined" ;; esac ;; ibm) case "$2" in hotkey) case "$5" in 00001004) #Sleep button Fn+F4 /etc/acpi/sleep.sh ;; 0000100c) #Hibernate button Fn+F12 /etc/acpi/hibernate.sh ;; *) logger "ibm / hotkey $5 undefined" ;; esac ;; *) logger "IBM $1 / $2 / $3 / $4 / $5 / is not defined" ;; esac ;; *) logger "ACPI group $1 / action $2 is not defined" ;; esac The sleep script /etc/acpi/sleep.sh was completely ripped off from How to configure acpid. For /etc/acpi/hibernate.sh I just reused sleep by changing "mem" into "disk" and had it disconnect me from the network before going down.
Things that don't appear to work right now
What I have not tried
Standard Features
|
Pages in category "W500"
The following 83 pages are in this category, out of 83 total.
B
E
H
I
- Install Lucid Lynx on a ThinkPad W500
- Install Mandriva 2009.0 on a ThinkPad W500
- Installing Debian on a Thinkpad T400
- Integrated camera
- Integrated Fingerprint Reader
- Intel 82801I HDA
- Intel Active Management Technology (AMT)
- Intel Gigabit Ethernet PCI-Express Controller
- Intel GM45
- Intel GMA 4500MHD
- Intel WiFi Link 5100/5300 WLAN controller
- Intel® Turbo Memory hard drive cache
S
- SD Card slot
- Serial Ultrabay Slim Battery
- Serial Ultrabay Slim Battery II
- Serial Ultrabay Slim Battery III
- Serial Ultrabay Slim Blu-ray Drive
- Serial Ultrabay Slim Blu-ray Drive II
- Serial Ultrabay Slim CD-RW/DVD-ROM Combo Drive II
- Serial Ultrabay Slim DVD Multi-Burner III
- Serial Ultrabay Slim DVD Multi-Burner IV
- Serial Ultrabay Slim DVD Multi-Burner V
- Serial Ultrabay Slim DVD-ROM Drive
- Serial Ultrabay Slim DVD-ROM Drive II
- Serial Ultrabay Slim HDD Adapter
- Serial Ultrabay Slim HDD Adapter II
- Serial Ultrabay Slim Travel Bezel
- Sierra Wireless MC5725
- Supported Boot Devices
- Switchable Graphics