I've got a laptop with the Intel ipw3945 wireless card. In order to run this guy, you need to load some firmware and start a daemon. I've been struggling trying to get this to work properly with udev and was hoping for some help.
On boot, the daemon never gets started. I've been using the following udev rule which I copied from suse: SUBSYSTEM=="drivers", ACTION=="add", DEVPATH=="/bus/pci/drivers/ipw3945", RUN+="ipw3945d.sh start" This runs a simple little script in /lib/udev which actually executes /sbin/ipw3945d. I've attached the script. I also took this from suse with the exception of a couple minor changes, mostly stylistic. I placed the firmware in /lib/firmware, and it seems to be loaded with the LFS 27-firmware.rules. I've placed the ipw3945 rule after the firmware rule at 35-ipw3945.rules. This is essentially a LFS-6.2 system with udev-096. I'm running linux-2.6.18.6 and have removed the WAIT_FOR_SYSFS=="bus" rule from 05-udev-early.rules as this workaround is not needed on newer kernels as I understand. Udev bootscripts are the same. The rule and script work on suse. When I boot this system, the above rule never seems to be executed because I have the script send some output to a temporary file which never shows up. However, if I remove the ipw3945 module from a shell prompt and modprobe it again, the daemon gets executed properly from the script and everything works. For this reason, I believe that the rule and script are correct. I'm stumped as to why this doesn't happen at boot. I've tried moving the above rule before the firmware rules, but it doesn't seem to help. Anyone have any ideas? What's the best way to debug udev during the early boot process? Thanks for any help. -- Dan
ipw3945d.sh
Description: Bourne shell script
-- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
