Search Linux Wireless

Re: Firmware works only if kernel source drivers are built as modules.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/14/2015 09:56 AM, rhubarbpieguy@xxxxxxxxx wrote:

I'm attempting to load iwlwifi-3160 firmware.  It works only if I build the
following drivers as modules.

     Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate

      Intel Wireless WiFi MVM Firmware Support

If I compile them into the kernel the firmware is not found.  This is my first
experience with firmware.  Does firmware require drivers built as modules?  I
see nothing at https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi stating
modules must be used.

No, having firmware does not require the driver to be a module; however, user space may cause a problem.

To load firmware, the user-space portions needed to read a file must be running. If the driver is a module *not in the initrd image*, then one is assured that a file can be loaded as those routines were used to get the driver file. For the case where the driver is built-in, it is possible for a synchronous request_firmware() call to timeout before user space is ready to deliver the file. The safe way is to request an asynchronous load of at least the first firmware file using request_firmware_nowait(). When the load completes, the callback routine will set a completion event with all other operations held until that event is set.

Note that iwlwifi is correctly coded. It does load a second firmware file synchronously, but only after the first one is available.

The built-in driver will also fail unless the dependent drivers are also built in, but the kernel build process should take care of that.

The bottom line is that I do not know why your system is failing. It should work. (TM) :)

Larry


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux