From: James <bjlockie@lockie.ca>
To: Andy Walls <awalls@md.metrocast.net>
Cc: Sakari Ailus <sakari.ailus@iki.fi>,
linux-media Mailing List <linux-media@vger.kernel.org>
Subject: Re: boot slow down
Date: Tue, 07 Aug 2012 17:42:48 -0400 [thread overview]
Message-ID: <50218BD8.8040207@lockie.ca> (raw)
In-Reply-To: <48430fdf908e6481ae55103bd11b7cfe.squirrel@lockie.ca>
On 08/07/12 16:33, bjlockie@lockie.ca wrote:
>> bjlockie@lockie.ca wrote:
>>
>>>> Hi James,
>>>>
>>>> On Mon, Aug 06, 2012 at 12:38:51AM -0400, James wrote:
>>>>> On 08/05/12 17:20, Sakari Ailus wrote:
>>>>>> Hi Andy and James,
>>>>>>
>>>>>> On Sat, Aug 04, 2012 at 06:28:19PM -0400, James wrote:
>>>>>>> On 08/04/12 13:42, Andy Walls wrote:
>>>>>>>> James <bjlockie@lockie.ca> wrote:
>>>>>>>>
>>>>>>>>> There's a big pause before the 'unable'
>>>>>>>>>
>>>>>>>>> [ 2.243856] usb 4-1: Manufacturer: Logitech
>>>>>>>>> [ 62.739097] cx25840 6-0044: unable to open firmware
>>>>>>>>> v4l-cx23885-avcore-01.fw
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I have a cx23885
>>>>>>>>> cx23885[0]: registered device video0 [v4l2]
>>>>>>>>>
>>>>>>>>> Is there any way to stop it from trying to load the firmware?
>>>>>>>>> What is the firmware for, analog tv? Digital works fine and
>>> analog
>>>>> is
>>>>>>>>> useless to me.
>>>>>>>>> I assume it is timing out there.
>>>>>>>>> --
>>>>>>>>> To unsubscribe from this list: send the line "unsubscribe
>>>>> linux-media"
>>>>>>>>> in
>>>>>>>>> the body of a message to majordomo@vger.kernel.org
>>>>>>>>> More majordomo info at
>>> http://vger.kernel.org/majordomo-info.html
>>>>>>>>
>>>>>>>> The firmware is for the analog broadcast audio standard (e.g.
>>> BTSC)
>>>>> detection microcontroller.
>>>>>>>>
>>>>>>>> The A/V core of the CX23885/7/8 chips is for analog vidoe and
>>> audio
>>>>> processing (broadcast, CVBS, SVideo, audio L/R in).
>>>>>>>>
>>>>>>>> The A/V core of the CX23885 provides the IR unit and the Video
>>> PLL
>>>>> provides the timing for the IR unit.
>>>>>>>>
>>>>>>>> The A/V core of the CX23888 provides the Video PLL which is the
>>>>> timing for the IR unit in the CX23888.
>>>>>>>>
>>>>>>>> Just grab the firmware and be done with it. Don't waste time
>>> with
>>>>> trying to make the cx23885 working properly but halfway.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Andy
>>>>>>>
>>>>>>> I already have the firmware.
>>>>>>> # ls -l /lib/firmware/v4l-cx23885-avcore-01.fw
>>>>>>> -rw-r--r-- 1 root root 16382 Oct 15 2011
>>>>> /lib/firmware/v4l-cx23885-avcore-01.fw
>>>>>>
>>>>>> The timeout if for allowing the user space helper enough time to
>>>>> provide the
>>>>>> driver with the firmware, but it seems the helper isn't around as
>>> the
>>>>>> timeout expires. Is udev running around the time of the first
>>> line? Is
>>>>> the
>>>>>> driver linked directly into the kernel or is it a module?
>>>>>>
>>>>>> Kind regards,
>>>>>>
>>>>> I have this set so the firmware is in the kernel.
>>>>>
>>>>> Symbol: FIRMWARE_IN_KERNEL [=y]
>>>>
>>>> I don't know about that driver, but if the udev would have to provide
>>> the
>>>> firmware, and it's not running, the delay is expected. Two seconds
>>> after
>>>> kernel startup is so early that the user space, including udev, might
>>> not
>>>> yet be running.
>>>>
>>>> Kind regards,
>>>>
>>>> --
>>>> Sakari Ailus
>>>> e-mail: sakari.ailus@iki.fi jabber/XMPP/Gmail: sailus@retiisi.org.uk
>>>
>>> Doesn't that kernel option mean the firmware is put into the kernel at
>>> kernel build time?
>>>
>>> If I build the module, is there a module option to skip the delay?
>>
>>
>> Hi,
>>
>> The CX2388x firmware is _never_ built into the kernel. I'm not sure what
>> that particular kernel config option is for.
>>
>> The kernel delay waiting for userspace to load firmware is settable using
>> a node under /sys somewhere. The default is 60 seconds. You will have to
>> change it in very early boot, or fix the hardcoded constant in the kernel
>> and recompile your kernel.
>>
>> Shortening the delay may not get you entirely acceptable results. If udev
>> is not, or is refusing to load firmware for the cx25840 module, then that
>> module will not properly initialize the CX23885/7/8 A/V core hardware and
>> will likely return with failure. I'm not sure if the cx23885 driver will
>> happily continue on, if that happens.
>
> It works fine even though it times out.
>
>>
>> If you still have a modular kernel build around, you may wish to test with
>> it. Blacklist the cx23885 module in /etc/modprobe.conf and the use
>> udevadm to investigate what is going on with udev when you later modprobe
>> the cx23885 driver.
>>
>> If building the video card driver into the kernel is causing you all the
>> problems, then I simply recommend not doing that.
>
> I'll try it as a module.
>
>>
>> Regards,
>> Andy
This is what I tried before.
It implies that I shouldn't need user space.
┌─────────── Include in-kernel firmware blobs in kernel binary ───────────┐
│ CONFIG_FIRMWARE_IN_KERNEL: │
│ │
│ The kernel source tree includes a number of firmware 'blobs' │
│ that are used by various drivers. The recommended way to │
│ use these is to run "make firmware_install", which, after │
│ converting ihex files to binary, copies all of the needed │
│ binary files in firmware/ to /lib/firmware/ on your system so │
│ that they can be loaded by userspace helpers on request. │
│ │
│ Enabling this option will build each required firmware blob │
│ into the kernel directly, where request_firmware() will find │
│ them without having to call out to userspace. This may be │
│ useful if your root file system requires a device that uses │
│ such firmware and do not wish to use an initrd. │
│ │
│ This single option controls the inclusion of firmware for │
│ every driver that uses request_firmware() and ships its │
│ firmware in the kernel source tree, which avoids a │
│ proliferation of 'Include firmware for xxx device' options. │
│ │
│ Say 'N' and let firmware be loaded from userspace.
next prev parent reply other threads:[~2012-08-08 1:44 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-04 15:52 boot slow down James
2012-08-04 17:05 ` Ezequiel Garcia
2012-08-04 17:42 ` Andy Walls
2012-08-04 22:21 ` James
2012-08-04 22:28 ` James
2012-08-05 21:20 ` Sakari Ailus
2012-08-06 4:30 ` James
2012-08-06 4:38 ` James
2012-08-07 11:27 ` Sakari Ailus
2012-08-07 13:04 ` bjlockie
2012-08-07 13:53 ` Andy Walls
2012-08-07 20:33 ` bjlockie
2012-08-07 21:42 ` James [this message]
2012-08-07 21:49 ` James
2012-08-08 8:24 ` Sakari Ailus
2012-08-08 17:18 ` bjlockie
2012-08-11 15:20 ` Sakari Ailus
2012-08-12 0:06 ` Andy Walls
2012-08-12 19:56 ` Ezequiel Garcia
2012-08-13 12:25 ` Mauro Carvalho Chehab
2012-08-07 21:40 ` James
2012-08-06 8:37 ` Andy Walls
2012-08-06 9:19 ` Antti Palosaari
2012-08-06 10:57 ` Andy Walls
2012-08-06 11:41 ` Antti Palosaari
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=50218BD8.8040207@lockie.ca \
--to=bjlockie@lockie.ca \
--cc=awalls@md.metrocast.net \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@iki.fi \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).