On 11/06/2013 07:32, Dave B wrote:> On Wed, Nov 06, 2013 at 04:38:35AM +0100, B?la wrote: > ... >>> Are the firmware files really installed where they are expected to be? >>> The path is either "/usr/pkg/libdata/firmware/if_wpi" or >>> "/usr/pkg/libdata/if_wpi", the latter being where the package >>> effectively installs the files. See also the output of "sysctl >>> hw.firmware.path" to confirm. >> >> sysctl hw.firmware.path outputs: hw.firmware.path = >> /libdata/firmware:/usr/libdata/firmware:/usr/pkg/libdata/firmware:/usr/pkg/libdata >> >> the iwlwifi-3945.ucode firmware file is in /usr/pkg/libdata/if_wpi > ... > > The wpi firmware has been included in the NetBSD core > distribution for awhile; or at least it's present--without any > pkgsrc version installed--on my 5.2_STABLE i386 and 6.1_STABLE > amd64 machines in > > /libdata/firmware/if_wpi/*iwlwifi-3945.ucode > > Do you have it too? What files do you have in that directory, if > any?
Yes firmware files are also installed in /libdata/firmware/if_wpi(by default maybe, the binary package is then quite superfluous). > >> Also, I noticed something odd, when I remove the firmware, I still get >> "wpi0: fatal firmware error" instead of "wpi0: could not read firmware >> file" or "wpi0: could not load firmware" as the manuel suggest error >> messagges should be... > > Was this with the pkgsrc package entirely and cleanly removed? > (Or just with the iwlwifi-3945.ucode file manually deleted from the > /usr/pkg/libdata/firmware/ directory)? Yes I had cleanly removed the package with pkg_delete, then rebooted. > > Cheers, -Dave > On 11/06/2013 07:08, Robert Elz wrote: > Date: Wed, 06 Nov 2013 04:38:35 +0100 > From: =?UTF-8?B?QsOpbGE=?= <[email protected]> > Message-ID: <[email protected]> > > I have a Dell laptop with that card... > > | sysctl hw.firmware.path outputs: hw.firmware.path = > | > /libdata/firmware:/usr/libdata/firmware:/usr/pkg/libdata/firmware:/usr/pkg/libdata > | > | the iwlwifi-3945.ucode firmware file is in /usr/pkg/libdata/if_wpi > > but I put (manually copied/moved) the firmware to /libdata/firmware/if_wpi > > The reason is that /usr/pkg (for me) isn't mounted when the firmware load > is performed, so it doesn't get found there. If your /usr/pkg isn't on > the root filesystem, and you don't have its filesytem (and any others needed, > which would mean /usr if /usr/pkg is separatly mounted) listed in > critical_filesystems_local in /etc/rc.conf then you'll most likely need > to do the same - it can be the easy way to be safe anyway (stuff needed > to make the hardware work is better placed on the root filesystem than > anywhere else, regardless of how you attempt to force early mounting.) > > You can verify if this is likely to be the problem easily, just > > ls -lu /usr/pkg/libdata/if_wpi I tried ls -lu on both /usr/pkg/libdata/if_wpi and /libdata/firmware/if_wpi. You are right, only /usr/pkg/libdata/if_wpi seems to be accessed. Anyway, I still get wpi0: fatal firmware error. > > then reboot, and repeat the ls. If the access time (which is the time shown > with ls -lu) hasn't altered, then the file is not being accessed, which almost > certainly means that it isn't present when the access is attempted. > > kre > > ps: for me with that card (and often slightly flakey wireless access - I > push the distance limits sometimes) I tend to need to restart wpa_supplicant > from time to time, I have a script that watches if the wireless network > is connected, and if not, restarts wpa_supplicant, and if needed dhclient > (dhcpcd would probably notice the link down/up and do its thing itself, > but I haven't switched that system to dhcpcd yet.) > In conclusion, I guess the system does manage to locate the necessary files but for some reason loading it crashes every time. Any ideas why this could happen?
