Toshiba P205D-S8804
From ArchWiki
I'm currently working on getting Arch set up on my new Toshiba Satellite P205D-S8804. This page isn't complete yet, but I'll work on it as I get things up!
Contents |
[edit] Toshiba P205D-S8804
[edit] Networking
The on-board ethernet adaptor worked out of the box for me.
[edit] Wifi
This laptop has an Atheros based wireless chipset that I just could not get to work with the MadWifi drivers. My understanding is that they are much better supported in the next upcoming release of MadWifi. In the meantime, Ndiswrapper worked beautifully.
- Add an "!" before ath_pci, ath_hal, and wlan in your /etc/rc.conf; add an entry for "ndiswrapper"
- Install ndiswrapper and cabextract:
pacman -S ndiswrapper ndiswrapper-utils cabextract
- Download the drivers from http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-66449
- Run cabextract on that exe file
- Install the NET5416.INF file with
ndiswrapper -i NET5416.INF
- run these commands
ndiswrapper -m ndiswrapper -ma ndiswrapper -mi rmmod ndiswrapper modprobe ndiswrapper
And you should be all set to configure your wireless card.
[edit] Modem
Looks like this is a winmodem, but I haven't tried it yet.
[edit] Audio
Audio worked out of the box for me as well.
pacman -S alsa-utils
and unmute the volume. This card is a little odd -- it won't automatically mute the main speakers when you plug in headphones -- hence the two channels in alsamixer. Don't know if thats a bug or a feature! ;-) I'll post an update if I can find out how to get it to automatically mute.
Note: Remember to add your user to the audio group, log out and log back in!
gpasswd -a username audio
I have yet to test things like line-out/spdif/microphone-in on this card.
[edit] Video
This laptop ships with ATI Radeon X1200 integrated video. This card combined with the 17" screen should yield a max resolution of up to 1440x900.
[edit] Free Drivers
Initially, I used the free drivers because the prior version of ATI's official driver had serious issues with resolution. I've used xf86-video-vesa, xf86-video-ati, and xf86-radeonhd without problems. All are available in pacman. Note that the vesa driver will not yield high resolutions, and that none of the three provide decent 3D acceleration, although the RadeonHD driver provides some limited accelerated functionality.
[edit] ATI Catalyst Driver
Visit the ATI wiki page for instructions on how to get the intial set up completed.
You'll want to edit your /etc/X11/xorg.conf, because otherwise using accelerated 3D causes rather annoying hard (un-recoverable) kernel locks.
cp /etc/X11/xorg.conf /etc/X11/xorg.conf.sav
to backup the original file, then
nano /etc/X11/xorg.conf
and make changes to the sections below Note: I intentionally left out some sections, like "Fonts" because that may vary from system to system.
Section "ServerLayout" Identifier "X.org Configured" Screen 0 "Screen0" 0 0 InputDevice "Touchpad[1]" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" Option "aiglx" "true" EndSection
Section "Module" #Load "GLcore" Load "dri" Load "dbe" Load "record" Load "glx" Load "xtrap" Load "extmod" Load "freetype" Load "synaptics" Load "i2c" #Load "vbe" EndSection
Section "ServerFlags" Option "IgnoreABI" "on" EndSection
Section "Device" Option "XAANoOffscreenPixmaps" Option "RenderAccel" "true" Option "VideoOverlay" "on" Option "OpenGLOverlay" "off" Option "AllowGLXWithComposite" "true" Identifier "Card0" Driver "fglrx" VendorName "ATI Technologies Inc" BoardName "Radeon X1200 Series" BusID "PCI:1:5:0" EndSection
Section "Extensions" Option "DAMAGE" "true" Option "RENDER" "true" Option "Composite" "true" EndSection
Section "DRI" Mode 0666 EndSection
I added AIGLX to this configuration file, but I do not know that it is necessary -- I added it personally for Compiz.
I haven't tested dual displays or the S-Video out yet.
[edit] Touchpad
Works fine with the synaptics driver.
pacman -S synaptics
then edit your /etc/X11/xorg.conf file to include this section:
Section "InputDevice" Driver "synaptics" Identifier "Touchpad[1]" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "LeftEdge" "1700" Option "RightEdge" "5300" Option "TopEdge" "1700" Option "BottomEdge" "4200" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.06" Option "MaxSpeed" "0.12" Option "AccelFactor" "0.0010" Option "SHMConfig" "on" EndSection
and make sure that the Section "Module" section has this line:
Load "synaptics"
and also change the "InputDevice" line under Section "ServerLayout" that references Mouse0 to look like:
InputDevice "Touchpad[1]" "CorePointer"
Log out of X, log back in and your toucpad should be working much nicer.
[edit] Hotkeys
Not all "hotkeys" are funtional on this machine -- Some of them are not even generating events in the kernel, although I think we can eventually work around that. Here are the keys that I have gotten to work so far:
Mute Suspend to Ram Brightness up Brightness down Volume Wheel "Web" key Play/Pause Stop Previous Track Next Track
What I still have left to fix:
Lock Search Suspend to disk Display toggle Wifi switch (Not sure what this key does -- it is on F8, though) Touchpad switch
In order to get any kind of functionality out of these keys, we need to map them to keysyms under X11. Some window managers (eg GNOME) may do this automatically, but if it doesn't, then here's what we need to do:
- Find out the scan code of the keys we want to map to a specific function. Here's the list that I compiled:
Mute = 160 Suspend to Ram = 223 Brightness Down = 101 Brightness Up = 212 Internet = 178 Play = 162 Stop = 164 Previous Track 144 Next Track = 153 Volume Wheel Down = 174 Volume Wheel Up = 176
- Create an Xmodmap file in your home directory with the functions you want to give those keys.
nano /home/username/.Xmodmap
and create a file with the following format:
keycode ### = function name
where ### = the numerical keycode from the list above, and function name is one of the functions listed in /usr/share/X11/XKeysymDB
For reference, here's what I used for my .Xmodmap:
keycode 160 = XF86AudioMute keycode 223 = XF86Sleep keycode 101 = F28 keycode 212 = F29 keycode 178 = XF86WWW keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume
I mapped Brightness up/down to F28 and F29 since I needed two seperate keys for the scripts that I am trying to write to control the LCD brightness -- this laptop is not really playing nicely with ACPI.
From here you'll have to configure your individual system to react to these X11 events -- this will vary depending on what window manager you use, or Desktop Environment.
[edit] CD/DVD/Labelflash
The drive reads and writes both CD's and DVD's out of the box. This drive also has labelflash capabilities, but I 'm not sure if that is supported under linux or not.
[edit] USB
Functional out of the box
[edit] Firewire
Have not tested.
[edit] PCMCIA
Have not tested.
[edit] 5-in-1 card reader
Funtional out of the box, although we need to manually add a module to enable SD card support
modprobe tifm_sd modprobe tifm_7xx1 modprobe tifm_ms modprobe tifm_core
and add tifm_sd, tifm_7xx1, tifm_ms and tifm_core to the modules section of your /etc/rc.conf
I'm not actually sure if things like CompactFlash or MemoryStick are working, SD card is the only thing I have at the moment.
[edit] Power Management
[edit] Cpufreq
Cpu frequency scaling is supported and works well. Visit the Cpufrequtils wiki page for instructions. The frequency range in question is 800MHz to a max of 2GHz.
[edit] Hibernate
Appears to work flawlessly, although not really speedily. Install pm-utils, if it is not already:
pacman -S pm-utils
For further necessary steps, see this section of the Pm-utils wiki page for more instructions.
Then, after finishing setup, a simple
pm-hibernate
as root will take care of it.
[edit] Suspend to Ram
To my utter shock and amazement, this also works out of the box. Ensure that pm-utils is installed.
pacman -S pm-utils
Edit your /boot/grub/menu.lst
Your kernel line on any entry you want to boot with suspend to ram capabilities needs to have
vga=0
at the end of it.
Reboot, and then you should be able to suspend to ram with
pm-suspend
as root.
[edit] Ndiswrapper and Suspend to Ram/Hibernate
I've noticed that ndiswrapper doesn't play well with suspend to ram or hibernate. So, we need to manually modify how pm-utils behaves when it resumes; specifically, we need to create a hook script that will unload and reload ndiswrapper automatically for us. Makes life a lot simpler when you're using something like Networkmanager to manage your wireless. I mean, why bother with a nice automatic configuration program if you have to manually unload and reload drivers, right? As root:
nano /etc/pm/sleep.d/25ndiswrapper
and paste this script in there
#!/bin/bash
case $1 in
thaw)
rmmod ndiswrapper; modprobe ndiswrapper
;;
resume)
rmmod ndiswrapper; modprobe ndiswrapper
;;
esac
make it executable
chmod +x /etc/pm/sleep.d/25ndiswrapper
And you should be all set. Try
pm-suspend
or
pm-hibernate
and see if it works!
[edit] Webcam
lsusb
returns this webcam as a "Chicony USB 2.0" webcam, which is supported via the uvcvideo and snd_usb_audio modules.
pacman -S linux-uvc-svn modprobe uvcvideo modprobe snd_usb_audio
and add them to the modules section of your /etc/rc.conf
You can view the webcam with different applications -- try VNC, xawtv, ekiga, amsn etc.
[edit] Notes
Please,Please Please! Update this if you have the same model laptop, or if you just feel like correcting me, or fixing my grammar/spelling/confusing entries.