Touchpad (and both sliders), display resolution, network, wireless, bluetooth, microphone, DVD writer, USB, KVM, MMC/SD card reader
They just work
Sound
Sound worked properly after firstboot, but for some reason it stopped working after some reboots (without any software updates). The problem was that it started detecting the usb microphone before the sound card what changed the index at what it was.
To fix it I just had to run system-config-soundcard and re-adjust configuration there.
Suspend
Post 2.6.22.1-41.fc7 instructions (Aug 14th 2007):
Since kernel 2.6.22.1-41.fc7 vbestate-restore quirk is needed to get suspend working. To get it working you have to apply a hal-info patch for xps m1210 quirks or use pm-suspend --quirk-vbestate-restore for suspending until a newer hal-info gets into fedora7 updates.
On the wright side, Intel wireless driver included in this kernel now works properly on suspend and resume (in fact suspend stops working if you blacklist it). So now blacklist looks like:
# echo SUSPEND_MODULES=\"kvm kvm_intel\" >/etc/pm/config.d/unload_modules
# chmod +x /etc/pm/config.d/unload_modules
Pre 2.6.22.1-41.fc7 instructions:
To make suspend work reliably you need the first set of updates for Fedora 7 (up until kernel 2.6.21-1.3228.fc7) and putting a few modules on the suspend blacklist:
# echo SUSPEND_MODULES=\"iwl3945 mac80211 kvm kvm_intel\" >/etc/pm/config.d/unload_modules
# chmod +x /etc/pm/config.d/unload_modules
Multimedia keys
To make the front panel keys (volume control, play, ...) work edit ~/.xmodmaprc and paste:
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 168 = XF86AudioMedia
Then logout and login and finally use gnome-keybinding-properties to assign them to the appropriate actions in the sound section.
Fn+?? keys
They'll hopefully work once fedora updates hal-info package. In the mean time you can do it yourself based on this patch :)
Integrated Webcam
It's logitec webcam that is a USB Video Class device, so linux-uvc kernel module will do the trick. You can compile it yourself or use a third-party repo that contains it.
For example you can use drpixel's one:
# rpm -ivh http://download.tuxfamily.org/rpm/drpixel/fedora/drpixel-release-1-2.noarch.rpm
# yum --enablerepo=drpixel install kmod-uvc
Once you reboot or modprobe uvcvideo, you'll be able to use it. It even flips the image when you rotate the camera.
Modem
Not tested
IEEE 1394
Not tested (I don't have any FireWire device)
Aug 14th 2007: I still don't have any hardware to test with, but I have enabled firewire on bios, and HAL sees it and reports device /dev/fw0 exists, so looks promising.
Card reader
Aug 14th 2007: Works out of the box. At least with kernel 2.6.22.1-41.fc7 (first time I've tried it). Tested only with mini-SD (with adapter) cards.
VGA-out and TV-out
Not tested (but will do soon).
HSDPA/UMTS/EDGE/GPRS modem
The Dell Wireless 5505 Mobile Broadband (3G HSDPA) Mini-Card is just a Novatel Wireless EU740 which is supported by mainline kernel. The card is not distributed in Spain, but got mine from ebay.co.uk :)
Edit /etc/sysconfig/modules/novatel3g.modules
#!/bin/sh
modprobe usbserial vendor=0x413c product=0x8116 >/dev/null 2>&1
# chmod +x /etc/sysconfig/modules/novatel3g.modules
To find the correct values for vendor and product look in /proc/bus/usb/devices for the Novatel Wireless entry (you should have a P: Vendor=413c ProdID=8116 Rev= 0.00, just take the values and replace them in novatel3g.modules file).
Once you have the module loaded (on next boot, or if novatel3g.modules is executed manually by root) you should have /dev/ttyUSB0 and /dev/ttyUSB1. Now you can use you favorite ppp connection manager (system-config-network, gnome-ppp, kppp, wvdial, ...) on /dev/ttyUSB0. The actual settings will depend on your mobile provider.
My wvdial configuration looks like (if you configure wvdial manually you won't be able to dial using NetworkManager applet, so it' better to configure it through system-config-network and then adjust the generated wvdial.conf file):
[ModemNovatel]
Modem = /dev/ttyUSB0
Baud = 460800
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
ISDN = off
Modem Type = USB Modem
[ModemYoigo]
Phone = *99***1#
Username = ''
Password = ''
Stupid Mode = on
Idle Seconds = 0
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+COPS=0,0,"Yoigo",2
Init4 = AT+CGDCONT=1,"IP","internet"
Inherits = ModemNovatel
[ModemYoigoPIN]
Init1 = AT+CPIN=????
Inherits = ModemNovatel
[Dialer DefaultProviderPIN]
Inherits = ModemYoigoPIN
[Dialer DefaultProvider]
Inherits = ModemYoigo
And my novatel3g.modules no looks like:
#!/bin/sh
modprobe usbserial vendor=0x413c product=0x8116 >/dev/null 2>&1
wvdial DefaultProviderPIN >/dev/null 2>&1
so it registers with my provider once it boots (note that you need to replace ???? with your PIN).
But this way when it cames back from suspend, it won't register again so now we edit /etc/pm/sleep.d/98novatel3g
#!/bin/bash
. /usr/lib/pm-utils/functions
case "$1" in
thaw|resume)
# Wait until serial device is up again
# then dial the PIN number
(sleep 15 && wvdial DefaultProviderPIN >/dev/null 2>&1)&
;;
esac
exit $?
# chmod +x /etc/pm/sleep.d/98novatel3g
|