site  contact  subhomenews

Bugfixes, firmware bug, new web pages

May 27, 2008 — BarryK
For developers only, we are now testing v4.1alpha1.

Boot script bug fixes
For Puppy 4.1alpha1, there were some small oversights in these boot scripts:

/etc/rc.d/rc.modules, line 81 should look like this:


/etc/rc.d/rc.modules2, line 24 should look like this:

MODALIASES="`cat /sys/bus/*/devices/*/modalias | grep -v '^pci:' | grep ':'`"

Firmware not loading
I had only implemented that theoretically in the pup_eventd script. Feedback from 4.1alpha1 testers is that it isn't working. I wonder why?

New web pages for modules and events
These pages are very preliminary. I created them to give 4.1alpha testers an idea how the new module loading and event management works.


Re: firmware not loading
Username: BarryK
2into1: [i]Dmesg shows an "error loading firmware zd1211rw - error -2 Usb wireless[/i] kirk: [i]ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection ipw2200: ipw2200-bss.fw request_firmware failed: Reason -2 ipw2200: Unable to load firmware: -2[/i] Can you guys check, did the firmware get installed to /lib/firmware? We first need to know if it's there so that pup_eventd can find it.

Username: CHLee
"Inside /lib/firmware , only 14 files and all have the .cis extension. I think the firmware are in /lib/all-firmware, because can find many "firmware" inside it. e.g. zd1211_firmware, iw2200_firmware ...... Just reprot : The time using syslinux to load the vmlinuz and initrd.gz in a FAT16 USB in my eeepc 900 are: v4.01alpha1 : 8 min. 41 sec. v4.00k2.6.21.7 : 1 min. 5 sec

Username: Sigmund
"Great documentation. Thank you, Barry.

Re2: firmware not loading
Username: BarryK
"If the firmware is in /lib/firmware, the next step is to examine pup_eventd script. You can kill it, edit it with some echo statements then start it in a terminal: # killall pup_eventd --edit /sbin/pup_eventd-- # pup_eventd The most relevant part is from line 307: 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 "/lib/firmware/$FIRMWARE" > /sys$DEVPATH/data echo 0 > /sys$DEVPATH/loading else echo -1 > /sys$DEVPATH/loading fi fi ;; ...and I think I can see what the bug is! (that path "/lib/firmware/$FIRMWARE" looks wrong. It looks like it should be just: cat "$fndFIRMWARE" > /sys$DEVPATH/data least for cases where the firmware is in a subdirectory inside /lib/firmware.

Tags: puppy