On Tuesday 17 July 2007 17:36:08 Nicholas Fearnley wrote: > On 17 Jul 2007, at 16:09, Hans Verkuil wrote: > > On Tuesday 17 July 2007 17:00:40 Nicholas Fearnley wrote: > >> On 17 Jul 2007, at 15:08, Tyler Trafford wrote: > >>> Nicholas Fearnley wrote: > >>>> My hotplug script is custom also. It is being called for sure, > >>>> but not by IVTV. I have something along the lines of: > >>>> > >>>> echo >> "I'm being called for $FIRMWARE" > >>>> > >>>> Which does show a couple of things, but not IVTV. The IVTV INIT > >>>> simply fails to load the firmware for the detected PVR-150 > >>>> card. It fails on retry also (with the 'firmware' suggestion). > >>>> > >>>> So hotplug is there, it's callable (it's getting called!), but > >>>> not by IVTV. IVTV is detecting the card fine as a PVR-150, but > >>>> just not calling hotplug at all. > >>> > >>> Is ivtv compiled as a module? > >> > >> No, compiled in kernel. Should that cause a problem? I should > >> probably try and compile as a mod and get back to you. > >> > >> It would be cool to have it in kernel though from a 'firmware' > >> build perspective - less to miss, and I can disable module loading > >> from the kernel to make it tighter. > > > > I've never actually tested having ivtv compiled in the kernel, I > > always > > tested it as a module. I'm not sure how firmware loading is > > supposed to > > work for in-kernel drivers. I suspect that by the time the driver > > is initialized the hotplug daemons may not be active yet. > > > > Regards, > > > > Hans > > Agreed, that's probably the issue - but as a module I have problems > still. > > My hotplug script has a little debug in it thus (the script I have > used on 2.6.18 for a while now): > > It yields: > > HOTPLUG: called add, with /module/ivtv () > HOTPLUG: called add, with /bus/pci/drivers/ivtv () > HOTPLUG: called add, with /devices/pci0000:00/0000:00:08.0/firmware/ > 0000:00:08.0 (v4l-cx2341x-enc.fw) > HOTPLUG: loading /lib/modules/v4l-cx2341x-enc.fw to /sys//devices/ > pci0000:00/0000:00:08.0/firmware/0000:00:08.0/data > HOTPLUG: called remove, with /devices/pci0000:00/0000:00:08.0/ > firmware/0000:00:08.0 (v4l-cx2341x-enc.fw) > HOTPLUG: called add, with /devices/pci0000:00/0000:00:08.0/firmware/ > 0000:00:08.0 (v4l-cx2341x-enc.fw) > HOTPLUG: loading /lib/modules/v4l-cx2341x-enc.fw to /sys//devices/ > pci0000:00/0000:00:08.0/firmware/0000:00:08.0/data > HOTPLUG: called remove, with /devices/pci0000:00/0000:00:08.0/ > firmware/0000:00:08.0 (v4l-cx2341x-enc.fw) > > Notice the double // in sys//devices! So I modify the script to > remove this, but where did it come from? The kernel/driver must > pass /devices in, so my loading line is now: > > cp "$FIRMWARE_DIR/$FIRMWARE" $SYSFS$DEVPATH/data > > But I now get this error: > > <6>ivtv: ==================== START INIT IVTV ==================== > <6>ivtv: version 1.0.0 (2.6.22.1 preempt mod_unload VIAC7 ) loading > <6>ivtv0: Autodetected Hauppauge card (cx23416 based) > <6>ivtv0: Unreasonably low latency timer, setting to 64 (was 32) > <3>firmware_loading_store: unexpected value (0) > <3>ivtv0: unable to open firmware v4l-cx2341x-enc.fw (must be 376836 > bytes) > <3>ivtv0: did you put the firmware in the hotplug firmware directory? > > And running the insmod ivtv.ko manually whilst quickly doing an 'ls' > on /devices/pci0000:00/0000:00:08.0 in another shell reveals no > firmware directory is created. > > Wierd. What did I do!!!!
Attached is my hotplug script that I'm using under kernel 2.6.22. Note
that my script retrieves the firmware from /lib/modules, but that's
just because I'm too lazy to move it to /lib/firmware :-)
Regards,
Hans
hotplug
Description: application/shellscript
_______________________________________________ ivtv-devel mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-devel
