linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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:49:56 -0400	[thread overview]
Message-ID: <50218D84.2050301@lockie.ca> (raw)
In-Reply-To: <50218BD8.8040207@lockie.ca>

On 08/07/12 17:42, James wrote:
> 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.
> 

vlc WORKS so I'm not as concerned that kaffeine doesn't.
kaffeine is easier to use but it is a start.


  reply	other threads:[~2012-08-08  1:51 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
2012-08-07 21:49                   ` James [this message]
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=50218D84.2050301@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).