Tuesday, April 24, 2007
Wireless Disabled After Resume from Suspend
After I resume my laptop (OpenSUSE 10.2, Dell 640m, Intel 3945ABG wireless card) from stand by (suspend to ram), the wireless usually stops working. The KNetworkManager applet stops showing the wireless device. After investigating further, it seems that the problem is with the HAL daemon, and restarting it fixes the problem.
/etc/init.d/haldaemon restart
However restarting HAL daemon manually every time after resume was not a good option. So I decided to use my time while waiting at the SF airport better by finding a solution to the problem. It seems that SuSE uses pm-utils for managing suspend and other power related options stating version 10.2. Some of the configurations are present in /etc/pm/config. It turns out that all the scripts present in /etc/pm/hooks/ are executed after every suspend or resume event. One of the following four option is passed as a command line argument to each of the script: hibernate, suspend, thaw, or resume. Since I wanted to restart haldaemon at every resume, all I had to do was to create a new executable file in /etc/pm/hooks/ with the following contents:
#!/bin/sh
# File: /etc/pm/hooks/99haldaemon
case "$1" in
resume)
/etc/init.d/haldaemon restart
;;
*)
;;
esac
And now the haldaemon is restarted at every resume, and the wireless works fine after I open the laptop lid. This is a hack, and I hope a proper fix will be included in future versions of SuSE.
Sunday, January 28, 2007
SuSE, Acer aspire 5580 and non-standard resolution 1280x800
My roommate recently purchased an Acer Aspire 5580 laptop and handed it to me for installing Linux. It is a pretty good laptop, well supported under Linux. It features Intel Core 2 Duo processor with Intel 945 GMA and 3945ABG wireless. I installed openSUSE 10.2 and everything went fine except for the screen resolution.
This laptop uses 1280x800 as native resolution, but my X refused to work with anything greater than 1024x768. Initially I thought that the problem is with SuSE not recognizing HSync and VSync frequencies of the LCD screen. I tried every possible refresh rate in display settings. After a lot of googling around, I found 945gm and 1280x800 laptop monitor problem suse 10.2 and patch the video BIOS. For some reason, the hardware vendor did not include the native resolution of the LCD display in the list of supported resolutions. The solution however is simple, as there exists a hack for fooling X. On SuSE, simply edit /etc/sysconfig/videobios and reboot. Also make sure that /etc/init.d/boot.videobios is executed on boot time by running the following command.
insserv boot.videobios
After editing, my /etc/sysconfig/videobios looks as follows:
VIDEOBIOS_PATCH="yes" VIDEOBIOS_PARAMETERS="5c 1280 800"
I don't understand why hardware vendors can not follow standards! Anyway, the laptop is functioning fine now.
Saturday, November 04, 2006
My new Dell 640m and Linux
Few days back I treated myself with purchase of a Dell Inspiron 640m. Its a Core 2 Duo (T5500/2MB Cache/1.66GHz/667MHz FSB) machine with Intel chipset and Intel 3945 internal wireless. I installed openSUSE 10.1, and removed designed for windows sticker to stick it on my trash can. Everything worked fine with out-of-the-box install. Here is a detailed account:
Wireless: works fine in out-of-the-box install. Keyboard key to enable/disable wireless also works. The only way however to find out if the wireless is disabled by checking dmesg, which contains the following message when wireless is disabled.
ipw3945: Radio Frequency Kill Switch is On: Kill switch must be turned off for wireless networking to work.
Onboard Video Card: Works fine. Intel's open source driver for 945GM support 3D accelration. I was able to play supertux without any problems. Even Xgl worked flawlessly. But, I was not able to play Warcraft III using Cedega as the framerate was too bad. Native version of UT2004 also didn't work. Probably this card is not meant for gaming.
Dual head mode was not very smooth as resolution sometimes messed up after switching the output device. But it seems like a problem with SuSE and YaST, and not with the drivers.
Sound: Works fine most of the time. But sometimes I need to delete and re-add the sound card using yast for audio to work. This is some bug in the driver as my dmesg is full of error messages.
ALSA sound/core/control.c:635: BUG? (info->access == 0) [] snd_ctl_ioctl+0x463/0x9ea [snd] [ ] snd_ctl_ioctl+0x0/0x9ea [snd] [ ] do_ioctl+0x1c/0x5e [ ] vfs_ioctl+0x24c/0x25e [ ] do_fcntl+0x1c9/0x249 [ ] sys_ioctl+0x51/0x68 [ ] sysenter_past_esp+0x54/0x79
SD card reader: Doesn't work! But I can use my digital camera to transfer using usb. It seems that Gentoo wiki has instructions to enable this support.
Additional keyboard keys: All useful keys like changing LCD brightness, switching video output etc.., work fine. Other additional keys work after setup in GNOME (but not in KDE).
TV out and Express card: not tested
Overall, I am happy with my choice and its Linux compatibility.
