All of lore.kernel.org
 help / color / mirror / Atom feed
* Firmware loading with static kernel and initramfs
@ 2014-06-29 17:15 John Talbut
  2014-06-29 18:31 ` Larry Finger
  0 siblings, 1 reply; 7+ messages in thread
From: John Talbut @ 2014-06-29 17:15 UTC (permalink / raw)
  To: linux-wireless

There seems to be a general problem when using a static kernel and 
initramfs in that the wireless drivers try to load firmware before the 
disks are mounted and the /lib/firmware folder is available.  Various 
people seem to have come across problems with firmware not loading, some 
of which seem to relate to this problem, which they have approached as 
if it is a problem with their particular driver.  However it seems to be 
a general problem and I have had it with three different drivers.

There seems to be a number of possible approaches to this: loading the 
firmware in an initramfs; changing the sequence in which wireless 
drivers start so that they wait until the disks are mounted; compiling 
the firmware into the kernel and loading the firmware as part of ifup. 
I see that the latter has been done for one driver 
(http://thread.gmane.org/gmane.linux.kernel.wireless.general/3390).

What is the current situation with this problem and what needs doing?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Firmware loading with static kernel and initramfs
  2014-06-29 17:15 Firmware loading with static kernel and initramfs John Talbut
@ 2014-06-29 18:31 ` Larry Finger
  2014-06-29 19:19   ` John Talbut
  0 siblings, 1 reply; 7+ messages in thread
From: Larry Finger @ 2014-06-29 18:31 UTC (permalink / raw)
  To: John Talbut, linux-wireless

On 06/29/2014 12:15 PM, John Talbut wrote:
> There seems to be a general problem when using a static kernel and initramfs in
> that the wireless drivers try to load firmware before the disks are mounted and
> the /lib/firmware folder is available.  Various people seem to have come across
> problems with firmware not loading, some of which seem to relate to this
> problem, which they have approached as if it is a problem with their particular
> driver.  However it seems to be a general problem and I have had it with three
> different drivers.
>
> There seems to be a number of possible approaches to this: loading the firmware
> in an initramfs; changing the sequence in which wireless drivers start so that
> they wait until the disks are mounted; compiling the firmware into the kernel
> and loading the firmware as part of ifup. I see that the latter has been done
> for one driver (http://thread.gmane.org/gmane.linux.kernel.wireless.general/3390).
>
> What is the current situation with this problem and what needs doing?
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

What kernel version, and what wireless drivers have this problem?

At one point, there was a timeout of 30 seconds for request_firmware() calls, 
and that led to problems even when the drivers were built as modules. That 
situation was handled in a number of wireless drivers by using 
request_firmware_nowait(); however, my understanding was that user space was 
fixed to avoid the timeout. I think udev was the component that changed. What 
version of that are you using?

Larry


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Firmware loading with static kernel and initramfs
  2014-06-29 18:31 ` Larry Finger
@ 2014-06-29 19:19   ` John Talbut
  2014-06-29 22:11     ` Larry Finger
  0 siblings, 1 reply; 7+ messages in thread
From: John Talbut @ 2014-06-29 19:19 UTC (permalink / raw)
  To: Larry Finger, linux-wireless



On 29/06/14 19:31, Larry Finger wrote:
> On 06/29/2014 12:15 PM, John Talbut wrote:
>> There seems to be a general problem when using a static kernel and
>> initramfs in
>> that the wireless drivers try to load firmware before the disks are
>> mounted and
>> the /lib/firmware folder is available.  Various people seem to have
>> come across
>> problems with firmware not loading, some of which seem to relate to this
>> problem, which they have approached as if it is a problem with their
>> particular
>> driver.  However it seems to be a general problem and I have had it
>> with three
>> different drivers.
>>
>> There seems to be a number of possible approaches to this: loading the
>> firmware
>> in an initramfs; changing the sequence in which wireless drivers start
>> so that
>> they wait until the disks are mounted; compiling the firmware into the
>> kernel
>> and loading the firmware as part of ifup. I see that the latter has
>> been done
>> for one driver
>> (http://thread.gmane.org/gmane.linux.kernel.wireless.general/3390).
>>
>> What is the current situation with this problem and what needs doing?
>> --
>> To unsubscribe from this list: send the line "unsubscribe
>> linux-wireless" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
> What kernel version, and what wireless drivers have this problem?
>
> At one point, there was a timeout of 30 seconds for request_firmware()
> calls, and that led to problems even when the drivers were built as
> modules. That situation was handled in a number of wireless drivers by
> using request_firmware_nowait(); however, my understanding was that user
> space was fixed to avoid the timeout. I think udev was the component
> that changed. What version of that are you using?
>
> Larry
>
I originally had the problem with a Broadcom BCM43225 wireless.  This 
was with a 3.8 kernel.  This was solved by a patch to the kernel 
brcmsmac driver and this is still working with a 3.14 kernel.

Currently I have the problem with an Intel Centrino Wireless-N 130.  The 
problem was present with a 3.11 kernel and currently with a 3.14 kernel. 
  udev version 204-5linuxmint.

A friend seems to have the problem with a Realtek 8129se wireless but we 
are still checking out that this is the problem.

John

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Firmware loading with static kernel and initramfs
  2014-06-29 19:19   ` John Talbut
@ 2014-06-29 22:11     ` Larry Finger
  2014-06-30  5:09       ` John Talbut
  0 siblings, 1 reply; 7+ messages in thread
From: Larry Finger @ 2014-06-29 22:11 UTC (permalink / raw)
  To: John Talbut, linux-wireless

On 06/29/2014 02:19 PM, John Talbut wrote:
> I originally had the problem with a Broadcom BCM43225 wireless.  This was with a
> 3.8 kernel.  This was solved by a patch to the kernel brcmsmac driver and this
> is still working with a 3.14 kernel.

What sort of patch was that? Driver brcmsmac is still using request_firmware().

> Currently I have the problem with an Intel Centrino Wireless-N 130.  The problem
> was present with a 3.11 kernel and currently with a 3.14 kernel.  udev version
> 204-5linuxmint.

The current Intel drivers all use request_firmware_nowait(), but I'm not sure 
when they were changed.

> A friend seems to have the problem with a Realtek 8129se wireless but we are
> still checking out that this is the problem.

To my knowledge, there is no Realtek 8129se driver. Do you mean rtl8192se? If 
so, that one has used request_firmware_nowait() for some time.

Larry


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Firmware loading with static kernel and initramfs
  2014-06-29 22:11     ` Larry Finger
@ 2014-06-30  5:09       ` John Talbut
  2014-06-30  8:22         ` Arend van Spriel
  0 siblings, 1 reply; 7+ messages in thread
From: John Talbut @ 2014-06-30  5:09 UTC (permalink / raw)
  To: Larry Finger, linux-wireless

On 29/06/14 23:11, Larry Finger wrote:
> On 06/29/2014 02:19 PM, John Talbut wrote:
>> I originally had the problem with a Broadcom BCM43225 wireless.  This
>> was with a
>> 3.8 kernel.  This was solved by a patch to the kernel brcmsmac driver
>> and this
>> is still working with a 3.14 kernel.
>
> What sort of patch was that? Driver brcmsmac is still using
> request_firmware().

I believe it was this patch:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c?id=25b5632fb35ca61b8ae3eee235edcdc2883f7a5e
>
>> Currently I have the problem with an Intel Centrino Wireless-N 130.
>> The problem
>> was present with a 3.11 kernel and currently with a 3.14 kernel.  udev
>> version
>> 204-5linuxmint.
>
> The current Intel drivers all use request_firmware_nowait(), but I'm not
> sure when they were changed.
>
>> A friend seems to have the problem with a Realtek 8129se wireless but
>> we are
>> still checking out that this is the problem.
>
> To my knowledge, there is no Realtek 8129se driver. Do you mean
> rtl8192se? If so, that one has used request_firmware_nowait() for some
> time.

Yes, the rtl8192se driver.

John

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Firmware loading with static kernel and initramfs
  2014-06-30  5:09       ` John Talbut
@ 2014-06-30  8:22         ` Arend van Spriel
  2014-06-30  9:08           ` John Talbut
  0 siblings, 1 reply; 7+ messages in thread
From: Arend van Spriel @ 2014-06-30  8:22 UTC (permalink / raw)
  To: John Talbut, Larry Finger, linux-wireless

On 30-06-14 07:09, John Talbut wrote:
> On 29/06/14 23:11, Larry Finger wrote:
>> On 06/29/2014 02:19 PM, John Talbut wrote:
>>> I originally had the problem with a Broadcom BCM43225 wireless.  This
>>> was with a
>>> 3.8 kernel.  This was solved by a patch to the kernel brcmsmac driver
>>> and this
>>> is still working with a 3.14 kernel.
>>
>> What sort of patch was that? Driver brcmsmac is still using
>> request_firmware().
> 
> I believe it was this patch:
> https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c?id=25b5632fb35ca61b8ae3eee235edcdc2883f7a5e

Correct. IFF_UP was recommended event to consider user-space ready to
handle request_firmware. However, this may not work for drivers that
initialize the wiphy information based on info retrieved from firmware.

Regards,
Arend

>>
>>> Currently I have the problem with an Intel Centrino Wireless-N 130.
>>> The problem
>>> was present with a 3.11 kernel and currently with a 3.14 kernel.  udev
>>> version
>>> 204-5linuxmint.
>>
>> The current Intel drivers all use request_firmware_nowait(), but I'm not
>> sure when they were changed.
>>
>>> A friend seems to have the problem with a Realtek 8129se wireless but
>>> we are
>>> still checking out that this is the problem.
>>
>> To my knowledge, there is no Realtek 8129se driver. Do you mean
>> rtl8192se? If so, that one has used request_firmware_nowait() for some
>> time.
> 
> Yes, the rtl8192se driver.
> 
> John
> -- 
> To unsubscribe from this list: send the line "unsubscribe
> linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Firmware loading with static kernel and initramfs
  2014-06-30  8:22         ` Arend van Spriel
@ 2014-06-30  9:08           ` John Talbut
  0 siblings, 0 replies; 7+ messages in thread
From: John Talbut @ 2014-06-30  9:08 UTC (permalink / raw)
  To: Arend van Spriel, Larry Finger, linux-wireless



On 30/06/14 09:22, Arend van Spriel wrote:
> On 30-06-14 07:09, John Talbut wrote:
>> On 29/06/14 23:11, Larry Finger wrote:
>>> On 06/29/2014 02:19 PM, John Talbut wrote:
>>>> I originally had the problem with a Broadcom BCM43225 wireless.  This
>>>> was with a
>>>> 3.8 kernel.  This was solved by a patch to the kernel brcmsmac driver
>>>> and this
>>>> is still working with a 3.14 kernel.
>>>
>>> What sort of patch was that? Driver brcmsmac is still using
>>> request_firmware().
>>
>> I believe it was this patch:
>> https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c?id=25b5632fb35ca61b8ae3eee235edcdc2883f7a5e
>
> Correct. IFF_UP was recommended event to consider user-space ready to
> handle request_firmware. However, this may not work for drivers that
> initialize the wiphy information based on info retrieved from firmware.
>
> Regards,
> Arend
>
The command, based on your suggestion, Arend, for the Broadcom wireless,:
echo 0000:01:00.1 > /sys/bus/pci/drivers/iwlwifi/bind
brings up the Intel wireless.

Regards
John

>>>
>>>> Currently I have the problem with an Intel Centrino Wireless-N 130.
>>>> The problem
>>>> was present with a 3.11 kernel and currently with a 3.14 kernel.  udev
>>>> version
>>>> 204-5linuxmint.
>>>
>>> The current Intel drivers all use request_firmware_nowait(), but I'm not
>>> sure when they were changed.
>>>
>>>> A friend seems to have the problem with a Realtek 8129se wireless but
>>>> we are
>>>> still checking out that this is the problem.
>>>
>>> To my knowledge, there is no Realtek 8129se driver. Do you mean
>>> rtl8192se? If so, that one has used request_firmware_nowait() for some
>>> time.
>>
>> Yes, the rtl8192se driver.
>>
>> John
>> --
>> To unsubscribe from this list: send the line "unsubscribe
>> linux-wireless" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-06-30  9:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-29 17:15 Firmware loading with static kernel and initramfs John Talbut
2014-06-29 18:31 ` Larry Finger
2014-06-29 19:19   ` John Talbut
2014-06-29 22:11     ` Larry Finger
2014-06-30  5:09       ` John Talbut
2014-06-30  8:22         ` Arend van Spriel
2014-06-30  9:08           ` John Talbut

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.