Messages in this thread | | | Date | Mon, 23 Apr 2012 14:21:44 -0700 | From | Greg KH <> | Subject | Re: what determines how firmware is loaded? (Q. on request_firmware details) |
| |
On Mon, Apr 23, 2012 at 04:18:56PM -0400, George Nychis wrote: > Hi all, > > I notice in an older version of Ubuntu that when I plugin a USB > wireless device its firmware is loaded via sysfs. For example, this > would pop up in sysfs: > /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/compat_firmware/2-1/loading
How old are we talking about here? What version of the kernel?
> In newer versions, I'm now seeing that the firmware seems to be loaded > directly via a Kernel thread that is spawned. It checks for the > firmware in some firmware directory (e.g., /lib/firmware) and loads it > to the device.
Yes.
> I see in documentation that one method is referred to as asynchronous. > Is this the former or latter?
Depends on the device.
> Has the former method of loading firmware been removed as the default? > Is there any way to request that the firmware load be done manually > (the former method)?
Why? In the end, they do the same thing, right?
> It seems as though instead of calling request_firmware(), I could call > _request_firmware() with "uevent" set to 0? This would force for > former behavior? > > Does "nowait" also have to be 0? I don't quite understand the > separation between uevent and nowait.
I don't understand the problem here, isn't the end-result the same? What is wrong with newer kernels?
thanks,
greg k-h
| |