Firmware loading now works

I found what was wrong. I do not have any hardware that needs firmware, or rather I do... one of my PCs has a wireless network card that requires the 'acx' module, but it never worked (it doesn't do WPA either) and I have always used Ndiswrapper for that card. So I left the 'acx' module out of 4.1alpha1.

Well, Ndiswrapper needs firmware too. Anyway, I compiled the 'acx' module, burnt a CD, booted up, and did some testing to find out why the requested firmware was not loading. It turns out that a simple change is required. Line 308 needs to look like this:

add@/*/firmware/*) #v4.02 add@/class/firmware/*)

I don't recall why I thought the uevent had to be "add@/class/firmware/*", maybe I was testing on the 2.6.21.7 kernel. Testing on the 2.6.25.4 kernel the message is of the form "add@/devices/*/firmware/*" but to play safe and to cover the original case I have made the test for "add@/*/firmware/*".

So, add this to the other two fixes I posted earlier today.

UPDATE:
Actually, there have been two fixes to pup_eventd as well a the two posted about rc.modules(2). Line 308 on in pup_eventd looks like this:

add@/*/firmware/*) #v4.02 add@/class/firmware/*)
if [ -e /sys${DEVPATH}/loading -a "$FIRMWARE" != "" ];then
fndFIRMWARE="`find /lib/firmware -type f -name ${FIRMWARE}`"
if [ "$fndFIRMWARE" != "" ];then
echo 1 > /sys$DEVPATH/loading
cat "$fndFIRMWARE" > /sys$DEVPATH/data
echo 0 > /sys$DEVPATH/loading
else
echo -1 > /sys$DEVPATH/loading
fi
fi
;;


Posted on 27 May 2008, 21:38


Comments:

Posted on 27 May 2008, 21:53 by nfisher
hotplug2stdout
Is the source for the latest hotplug2stdout posted anywhere yet? The snapshot I have does not have the 2SECTIMOUT or any of the extra information. I would like to work from the latest code.


Posted on 27 May 2008, 23:34 by kirk
pupeventd
Your too quick for me. I was just getting on line to post the problem with line 308. I'll post the kernel sfs file tonight when I get home.




Posted on 28 May 2008, 3:38 by kirk
pup_eventd
Not sure why yet. After fixing pup_eventd, if I reboot, my ipw2200 still doesn't get it's firmware. It hangs in the boot process waiting for the firmware to load for a minute or two. Then if I rmmod ipw2200 and modprode ipw2200, the firmware loads. During boot does something else handle the loading of firmware?



Posted on 28 May 2008, 6:04 by kirk
pup_eventd
Never mind,I haven't applied the fixes to rc.modules


Posted on 28 May 2008, 9:26 by BarryK
Re: no firmware at bootup
Ahem, yes, well, firmware does not yet load at bootup. Firmware loading is something that I tacked on quickly just before releasing 4.1alpha, but neglected to consider bootup. I'll see what I can do about that....


Posted on 28 May 2008, 9:34 by BarryK
Re: hotplug2sdtout source
Nathan,
I have uploaded the source to here:
http://puptrix.org/sources/alphabetical/h/


Posted on 28 May 2008, 17:03 by Dougal
line 308
#v4.01


Posted on 29 May 2008, 3:14 by kirk
line 308
Close enough. :)