I experienced the same issue with my WiFi USB dongle as observed by the fellow member
coreplayer2 (
http://forum.tinycorelinux.net/index.php/topic,20891.msg130518.html#msg130518). Back then this issue was marked as solved because this is error message is supposed to be normal since WiFi should be working anyway. I strongly disagree with this statement, because any error reported by the system is there for a reason.
Tiny Core Linux comes with a set of extension packages containing various firmware images covering different hardware/chipset manufacturers.
In my case following firmware extension packages are loaded on system boot
firmware-atheros.tcz
firmware-broadcom_bcm43xx.tcz
firmware-broadcom_bnx2.tcz
firmware-broadcom_bnx2x.tcz
firmware-chelsio.tcz
firmware-getB43.tcz
firmware-intel_e100.tcz
firmware-ipw2100.tcz
firmware-ipw2200.tcz
firmware-iwimax.tcz
firmware-iwl8000.tcz
firmware-iwl9000.tcz
firmware-iwlwifi.tcz
firmware-marvel.tcz
firmware-myri10ge.tcz
firmware-netxen.tcz
firmware-openfwwf.tcz
firmware-ralinkwifi.tcz
firmware-rtl8192ce_se_de.tcz
firmware-rtl_nic.tcz
firmware-rtlwifi.tcz
firmware-ti-connectivity.tcz
firmware-tigon.tcz
firmware-ueagle-atm.tcz
firmware-vxge.tcz
firmware-zd1211.tcz
From what I see, firmware images will show up in the
/usr/local/lib/firmware folder. The issue here is that whenever I insert my WiFi USB dongle to the USB port I will get an error indicating that firmware image for my WiFi USB dongle failed to load. After some experimentation I was able to figure out that system is expecting to find firmware images in the
/lib/firmware folder and not in the location specified by the firmware extension packages. If I create a symlink in the
/usr/lib folder to point to the firmware folder located in
/usr/local/lib, then firmware image for my WiFi USB dongle is loaded without an error.
$ dmesg
...
usb 1-6: new high-speed USB device number 2 using xhci_hcd
rtl8192cu: Chip version 0x10
rtl8192cu: Board Type 0
rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
usb 1-6: Direct firmware load for rtlwifi/rtl8192cufw_TMSC.bin failed with error -2
usb 1-6: Falling back to user helper
...
$ sudo ln -s /usr/local/lib/firmware /lib/firmware
$ dmesg
...
usb 1-6: new high-speed USB device number 4 using xhci_hcd
rtl8192cu: Chip version 0x10
rtl8192cu: Board Type 0
rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
ieee80211 phy1: Selected rate control algorithm 'rtl_rc'
...
My question here is what should be done? Should all firmware extension packages be repackaged to have firmware images located in the
/lib/firmware folder? Maybe there is a configuration option for Linux kernel to specify a different location for firmware images?
Any feedback is much appreciated. Thanks!