Re: [gentoo-user] Firmware exists but fails to load
it does not actually matter how you configured the driver -- built-in kernel or as module: everytime when driver operates the device, it checks whether firmware is loaded. Are you sure about that? AFAIK firmware loading is only attempted once, when the driver is first initialized. functionality of /lib/udev/firmware is controlled by USE=extras. That might have been the case at some point but now sys-fs/udev-164-r2 and sys-fs/udev-171-r1 both install the firmware-related stuff (rules and helper) even with USE=-extras andrea
Re: [gentoo-user] Firmware exists but fails to load
it does not actually matter how you configured the driver -- built-in kernel or as module: everytime when driver operates the device, it checks whether firmware is loaded. Are you sure about that? AFAIK firmware loading is only attempted once, when the driver is first initialized. i'm not sure - just spent few minutes looking through the drivers/net/r8169.c code: the driver attempts to load firmware every time when opening a particular pci eth device functionality of /lib/udev/firmware is controlled by USE=extras. That might have been the case at some point but now sys-fs/udev-164-r2 and sys-fs/udev-171-r1 both install the firmware-related stuff (rules and helper) even with USE=-extras you are right (also reviewed contents of udev tarbal and appropriate ebuild code) - `extras' use flag just adds some runtime dependencies andrea thank you, victor
[gentoo-user] Firmware exists but fails to load
# dmesg | grep firm [ 70.453673] r8169 :02:00.0: eth0: unable to load firmware patch rtl_nic/rtl8168d-2.fw (-2) # ls -l /lib/firmware/rtl_nic/rtl8168d-2.fw -rw-r--r-- 1 root root 1324 Aug 12 13:09 /lib/firmware/rtl_nic/rtl8168d-2.fw Any ideas why this fails? Filesystem is mounted, file is readable...
Re: [gentoo-user] Firmware exists but fails to load
On Mon, August 15, 2011 11:13 am, Adam Carter wrote: # dmesg | grep firm [ 70.453673] r8169 :02:00.0: eth0: unable to load firmware patch rtl_nic/rtl8168d-2.fw (-2) # ls -l /lib/firmware/rtl_nic/rtl8168d-2.fw -rw-r--r-- 1 root root 1324 Aug 12 13:09 /lib/firmware/rtl_nic/rtl8168d-2.fw Any ideas why this fails? Filesystem is mounted, file is readable... Is the filesystem mounted when it tries to find the firmware? In other words, are you perhaps using a ramdisk? If you have this drives as a module, can you try removing it (rmmod driver and then reloading it (modprobe driver)? If it isn't a module, can you rebuild your kernel to have the relevant driver as a module? -- Joost
Re: [gentoo-user] Firmware exists but fails to load
Is the filesystem mounted when it tries to find the firmware? I thought it was, but having another look at dmesg, it looks like that's not the case. proxy linux # dmesg | grep eth0 [0.897559] r8169 :02:00.0: eth0: RTL8168d/8111d at 0xc936, 1c:6f:65:20:3f:c6, XID 083000c0 IRQ 41 [ 70.453673] r8169 :02:00.0: eth0: unable to load firmware patch rtl_nic/rtl8168d-2.fw (-2) [ 70.461027] r8169 :02:00.0: eth0: link down [ 70.461050] r8169 :02:00.0: eth0: link down [ 70.461444] ADDRCONF(NETDEV_UP): eth0: link is not ready [ 72.851287] r8169 :02:00.0: eth0: link up [ 72.851846] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready proxy linux # dmesg | grep btrfs [1.647953] btrfs: use lzo compression [2.129807] VFS: Mounted root (btrfs filesystem) on device 0:13. In other words, are you perhaps using a ramdisk? If you have this drives as a module, can you try removing it (rmmod driver and then reloading it (modprobe driver)? If it isn't a module, can you rebuild your kernel to have the relevant driver as a module? Its not a module - i'll make it one and see how that goes.
Re: [gentoo-user] Firmware exists but fails to load
On Mon, Aug 15, 2011 at 4:13 AM, Adam Carter adamcart...@gmail.com wrote: # dmesg | grep firm [ 70.453673] r8169 :02:00.0: eth0: unable to load firmware patch rtl_nic/rtl8168d-2.fw (-2) # ls -l /lib/firmware/rtl_nic/rtl8168d-2.fw -rw-r--r-- 1 root root 1324 Aug 12 13:09 /lib/firmware/rtl_nic/rtl8168d-2.fw Any ideas why this fails? Filesystem is mounted, file is readable... 1) build the driver as a module (firmware loading from disk does not work otherwise) 2) emerge linux-firmware, if you haven't already. 3) reboot and good luck :)