All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Weber <rjohnweber@gmail.com>
To: "Eric Bénard" <eric@eukrea.com>
Cc: "meta-freescale@yoctoproject.org"
	<meta-freescale@yoctoproject.org>,
	poky@yoctoproject.org
Subject: Re: [meta-freescale] Firmware loading
Date: Thu, 07 Mar 2013 11:50:24 -0600	[thread overview]
Message-ID: <5138D360.2020000@gmail.com> (raw)
In-Reply-To: <5138BE79.7060106@gmail.com>

I incorporated this blobs into the kernel image and it seems to have worked. 
Not the best option, but it does move me forward.

John

On 3/7/13 10:21 AM, John Weber wrote:
> Not at all - CONFIG_FW_LOADER=y is definitely in the kernel config.
>
> I think the issue is tied to some major changes in udev related to firmware
> loading.  Udev 176 brought all of the firmware loading functionality into a
> built-in function, rather than launch an external firmware helper script. This
> could be the reason that Canonical still hasn't moved to udev 176 or later
> versions.
>
> While I haven't been able to do thorough testing, the Broadcom (brcm80211)
> driver does attempt to request firmware during the probe.  I believe that udev
> 182 does not permit this until after the module is loaded.  This has caused some
> consternation amongst the maintainers [1], resulting in Linus adding direct
> firmware loading from the filesystem into kernel 3.7 and later [2].  This would
> bypass udev entirely for firmware loading.  I personally like this because in my
> view, this whole process of going to userspace to load firmware is too complicated.
>
> Since, I'm on kernel 3.0.35 (stuck in the dark ages with Freescale), it might
> mean that I might have a few options, none of which are great.
>
> (A) Go back to udev 164 in Danny which supports using a rule to launch an
> external helper script to load firmware
> (B) Backport the firmware loader from file functionality from an upstream kernel
> into 3.0.35
> (C) Move to a mainline kernel, which isn't really an option because all of
> Freescale's multimedia functionality gets lost
>
> Here is the dump of /var/log/messages related to udevd after I load the module
> using modprobe:
>
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: validate module index
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2119 queued, 'remove'
>   'firmware'
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2119 forked new worke
> r [501]
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2120 queued, 'add' 'd
> rivers'
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[501]: seq 2119 running
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2120 forked new worke
> r [502]
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[501]: no db file to read /var/r
> un/udev/data/+firmware:mmc1:0001:2: No such file or directory
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[501]: passed -1 bytes to netlin
> k monitor 0x49c50
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[501]: seq 2119 processed with 0
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2119 done with 0
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: seq 2120 running
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: device 0x36b70 has devpat
> h '/bus/sdio/drivers/brcmfmac'
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: no db file to read /var/r
> un/udev/data/+drivers:brcmfmac: No such file or directory
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: passed -1 bytes to netlin
> k monitor 0x36dc8
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2120 done with 0
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: seq 2120 processed with 0
>
>
> [1] http://lwn.net/Articles/518942/
> [2]
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=abb139e75c2cdbb955e840d6331cb5863e409d0e
>
>
>
> On 3/6/13 4:04 PM, Eric Bénard wrote:
>> Le Wed, 06 Mar 2013 15:56:03 -0600,
>> John Weber <rjohnweber@gmail.com> a écrit :
>>> Thanks for the help.  I've since broken the driver out of the kernel and
>>> modprobed it with the same results.  This allows me to start udevadm to see some
>>> debug output from udev, but it still fails.  I've manually created a firmware
>>> helper script as well, and that's not even being executed at the moment.
>>>
>>> It just seems like this kind of thing is already being done as the i.MX6 vpu
>>> firmware is needed (not being loaded into the filesystem now, but that is a
>>> different issue), as well as other machines use atheros wifi modules.  This
>>> seems that I'm missing something.
>>>
>> stupid question, but do you have
>> CONFIG_FW_LOADER=y
>> in your kernel config ?
>>
>> Maybe you can post the udev log also as it may contain some hints.
>>
>> Eric
>>


WARNING: multiple messages have this Message-ID (diff)
From: John Weber <rjohnweber@gmail.com>
To: "Eric Bénard" <eric@eukrea.com>
Cc: "meta-freescale@yoctoproject.org"
	<meta-freescale@yoctoproject.org>,
	poky@yoctoproject.org
Subject: Re: Firmware loading
Date: Thu, 07 Mar 2013 11:50:24 -0600	[thread overview]
Message-ID: <5138D360.2020000@gmail.com> (raw)
In-Reply-To: <5138BE79.7060106@gmail.com>

I incorporated this blobs into the kernel image and it seems to have worked. 
Not the best option, but it does move me forward.

John

On 3/7/13 10:21 AM, John Weber wrote:
> Not at all - CONFIG_FW_LOADER=y is definitely in the kernel config.
>
> I think the issue is tied to some major changes in udev related to firmware
> loading.  Udev 176 brought all of the firmware loading functionality into a
> built-in function, rather than launch an external firmware helper script. This
> could be the reason that Canonical still hasn't moved to udev 176 or later
> versions.
>
> While I haven't been able to do thorough testing, the Broadcom (brcm80211)
> driver does attempt to request firmware during the probe.  I believe that udev
> 182 does not permit this until after the module is loaded.  This has caused some
> consternation amongst the maintainers [1], resulting in Linus adding direct
> firmware loading from the filesystem into kernel 3.7 and later [2].  This would
> bypass udev entirely for firmware loading.  I personally like this because in my
> view, this whole process of going to userspace to load firmware is too complicated.
>
> Since, I'm on kernel 3.0.35 (stuck in the dark ages with Freescale), it might
> mean that I might have a few options, none of which are great.
>
> (A) Go back to udev 164 in Danny which supports using a rule to launch an
> external helper script to load firmware
> (B) Backport the firmware loader from file functionality from an upstream kernel
> into 3.0.35
> (C) Move to a mainline kernel, which isn't really an option because all of
> Freescale's multimedia functionality gets lost
>
> Here is the dump of /var/log/messages related to udevd after I load the module
> using modprobe:
>
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: validate module index
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2119 queued, 'remove'
>   'firmware'
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2119 forked new worke
> r [501]
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2120 queued, 'add' 'd
> rivers'
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[501]: seq 2119 running
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2120 forked new worke
> r [502]
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[501]: no db file to read /var/r
> un/udev/data/+firmware:mmc1:0001:2: No such file or directory
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[501]: passed -1 bytes to netlin
> k monitor 0x49c50
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[501]: seq 2119 processed with 0
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2119 done with 0
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: seq 2120 running
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: device 0x36b70 has devpat
> h '/bus/sdio/drivers/brcmfmac'
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: no db file to read /var/r
> un/udev/data/+drivers:brcmfmac: No such file or directory
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: passed -1 bytes to netlin
> k monitor 0x36dc8
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[234]: seq 2120 done with 0
> Mar  6 15:21:01 wandboard-dual daemon.info udevd[502]: seq 2120 processed with 0
>
>
> [1] http://lwn.net/Articles/518942/
> [2]
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=abb139e75c2cdbb955e840d6331cb5863e409d0e
>
>
>
> On 3/6/13 4:04 PM, Eric Bénard wrote:
>> Le Wed, 06 Mar 2013 15:56:03 -0600,
>> John Weber <rjohnweber@gmail.com> a écrit :
>>> Thanks for the help.  I've since broken the driver out of the kernel and
>>> modprobed it with the same results.  This allows me to start udevadm to see some
>>> debug output from udev, but it still fails.  I've manually created a firmware
>>> helper script as well, and that's not even being executed at the moment.
>>>
>>> It just seems like this kind of thing is already being done as the i.MX6 vpu
>>> firmware is needed (not being loaded into the filesystem now, but that is a
>>> different issue), as well as other machines use atheros wifi modules.  This
>>> seems that I'm missing something.
>>>
>> stupid question, but do you have
>> CONFIG_FW_LOADER=y
>> in your kernel config ?
>>
>> Maybe you can post the udev log also as it may contain some hints.
>>
>> Eric
>>


  reply	other threads:[~2013-03-07 17:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-06 15:06 Firmware loading John Weber
2013-03-06 21:18 ` Otavio Salvador
2013-03-06 21:50   ` [meta-freescale] " John Weber
2013-03-06 21:50     ` John Weber
2013-03-06 21:48 ` [meta-freescale] " Eric Bénard
2013-03-06 21:48   ` Eric Bénard
2013-03-06 21:56   ` [meta-freescale] " John Weber
2013-03-06 21:56     ` John Weber
2013-03-06 22:04     ` [meta-freescale] " Eric Bénard
2013-03-06 22:04       ` Eric Bénard
2013-03-07 16:21       ` [meta-freescale] " John Weber
2013-03-07 16:21         ` John Weber
2013-03-07 17:50         ` John Weber [this message]
2013-03-07 17:50           ` John Weber
2013-03-08 12:15           ` Otavio Salvador
2013-03-08 15:35             ` [meta-freescale] " John Weber
2013-03-08 15:35               ` John Weber
2013-03-08 17:36               ` Otavio Salvador
2013-03-12  3:53                 ` [meta-freescale] " John Weber
2013-03-12  3:53                   ` John Weber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5138D360.2020000@gmail.com \
    --to=rjohnweber@gmail.com \
    --cc=eric@eukrea.com \
    --cc=meta-freescale@yoctoproject.org \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.