Building V4L-DVB with kernel 3.14.1 - fails? (TBS 6980) CX23885
Added by Mike A over 10 years ago
Hi,
I'm trying to get the TBS drivers working (the version in current kernel, not TBS's shody ones)
I've downloaded and built the latest stable kernel (3.14.1) this is fine.
https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.1.tar.xz
I've downloaded the latest V4L-DVB (as these modules are not in kernel.org code, right?)
http://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers#Retrieving_and_Building.2FCompiling_the_Latest_V4L-DVB_Source_Code
However, when I run the build as below;
git clone git://linuxtv.org/media_build.git cd media_build ./build
I get errors, where it can't apply patch, and fails?
How do I get around this? I'm on the latest of both???
Replies (4)
RE: Building V4L-DVB with kernel 3.14.1 - fails? - Added by Mike A over 10 years ago
I removed the patch files at it compiled ok. So I'm getting closer. But now I'm stuck. I can see the cards in TvHeadend now, but the firmware does not seem to load?!?
[ 7.755088] cx23885 driver version 0.0.3 loaded [ 7.755288] CORE cx23885[0]: subsystem: 6980:8888, board: TurboSight TBS 6980 [card=41,autodetected] [ 9.957325] cx25840 11-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) [ 10.604951] cx25840 11-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 10.620751] cx23885_dvb_register() allocating 1 frontend(s) [ 10.620754] cx23885[0]: cx23885 based dvb card [ 10.663120] cx24117 10-0055: creating new instance [ 10.663127] i2c i2c-10: cx24117: Attaching frontend 0 [ 10.663130] DVB: registering new adapter (cx23885[0]) [ 10.663135] cx23885 0000:06:00.0: DVB: registering adapter 0 frontend 0 (Conexant CX24117/CX24132)... [ 10.663485] cx23885_dvb_register() allocating 1 frontend(s) [ 10.663487] cx23885[0]: cx23885 based dvb card [ 10.663491] cx24117 10-0055: attaching existing instance [ 10.663495] i2c i2c-10: cx24117: Attaching frontend 1 [ 10.663497] DVB: registering new adapter (cx23885[0]) [ 10.663500] cx23885 0000:06:00.0: DVB: registering adapter 1 frontend 0 (Conexant CX24117/CX24132)... [ 10.663807] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 10.663814] cx23885[0]/0: found at 0000:06:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xf7a00000 [ 10.664205] CORE cx23885[1]: subsystem: 6980:8888, board: TurboSight TBS 6980 [card=41,autodetected] [ 12.828486] cx25840 14-0044: cx23885 A/V decoder found @ 0x88 (cx23885[1]) [ 13.460379] cx25840 14-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 13.476203] cx23885_dvb_register() allocating 1 frontend(s) [ 13.476206] cx23885[1]: cx23885 based dvb card [ 13.476210] cx24117 13-0055: creating new instance [ 13.476213] i2c i2c-13: cx24117: Attaching frontend 0 [ 13.476214] DVB: registering new adapter (cx23885[1]) [ 13.476216] cx23885 0000:07:00.0: DVB: registering adapter 2 frontend 0 (Conexant CX24117/CX24132)... [ 13.476424] cx23885_dvb_register() allocating 1 frontend(s) [ 13.476425] cx23885[1]: cx23885 based dvb card [ 13.476428] cx24117 13-0055: attaching existing instance [ 13.476430] i2c i2c-13: cx24117: Attaching frontend 1 [ 13.476431] DVB: registering new adapter (cx23885[1]) [ 13.476433] cx23885 0000:07:00.0: DVB: registering adapter 3 frontend 0 (Conexant CX24117/CX24132)... [ 13.476605] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 13.476609] cx23885[1]/0: found at 0000:07:00.0, rev: 2, irq: 19, latency: 0, mmio: 0xf7800000 [ 58.725747] i2c i2c-10: cx24117_cmd_execute_nolock() Firmware not responding [ 58.725752] i2c i2c-10: cx24117_load_firmware() Error running FW. [ 58.725754] i2c i2c-10: cx24117_firmware_ondemand: Writing firmware failed [ 58.725770] i2c i2c-10: cx24117_firmware_ondemand: Firmware upload failed [ 59.781438] i2c i2c-10: cx24117_cmd_execute_nolock() Firmware not responding [ 60.793157] i2c i2c-10: cx24117_cmd_execute_nolock() Firmware not responding [ 61.800848] i2c i2c-10: cx24117_cmd_execute_nolock() Firmware not responding [ 77.004385] i2c i2c-10: cx24117_cmd_execute_nolock() Firmware not responding [ 78.016089] i2c i2c-10: cx24117_cmd_execute_nolock() Firmware not responding
I don't think this is related to the v4l-cx23885-avcore-01.fw. But this to this file;
/lib/firmware/dvb-fe-cx24117.fw
Because if I remove it. I get this different error;
[ 13.214292] cx23885 0000:07:00.0: DVB: registering adapter 2 frontend 0 (Conexant CX24117/CX24132)... [ 13.214478] cx23885_dvb_register() allocating 1 frontend(s) [ 13.214480] cx23885[1]: cx23885 based dvb card [ 13.214482] cx24117 13-0055: attaching existing instance [ 13.214484] i2c i2c-13: cx24117: Attaching frontend 1 [ 13.214485] DVB: registering new adapter (cx23885[1]) [ 13.214487] cx23885 0000:07:00.0: DVB: registering adapter 3 frontend 0 (Conexant CX24117/CX24132)... [ 13.214639] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 13.214643] cx23885[1]/0: found at 0000:07:00.0, rev: 2, irq: 19, latency: 0, mmio: 0xf7800000 [ 56.142180] cx23885 0000:06:00.0: Direct firmware load failed with error -2 [ 56.142183] cx23885 0000:06:00.0: Falling back to user helper [ 56.285034] i2c i2c-10: cx24117_firmware_ondemand: No firmware uploaded (timeout or file not found?) [ 56.330943] cx23885 0000:06:00.0: Direct firmware load failed with error -2 [ 56.330946] cx23885 0000:06:00.0: Falling back to user helper [ 56.333257] i2c i2c-10: cx24117_firmware_ondemand: No firmware uploaded (timeout or file not found?) [ 56.335901] cx23885 0000:06:00.0: Direct firmware load failed with error -2 [ 56.335905] cx23885 0000:06:00.0: Falling back to user helper [ 56.338220] i2c i2c-10: cx24117_firmware_ondemand: No firmware uploaded (timeout or file not found?)
I created the file from a post in this form that said
dd if=linux-tbs-drivers/v4l/tbs6981fe_driver.o.x86_64 of=/lib/firmware/dvb-fe-cx24117.fw
but can't find the post again now??
The other firmware I think is loading fine...
I've tried both the firmwares that comes with V4L-DBV packages and the one from the latest Linux TBS
http://www.tbsdtv.com/download/document/common/tbs-linux-drivers_v140323.zip
find / -name v4l-cx23885-avcore-01.fw -exec md5sum {} \;
b3704908fd058485f3ef136941b2e513 /lib/firmware/v4l-cx23885-avcore-01.fw b3704908fd058485f3ef136941b2e513 /usr/src/tbs/v4l-cx23885-avcore-01.fw a9f8f5d901a7fb42f552e1ee6384f3bb /usr/src/media_build/v4l/firmware/v4l-cx23885-avcore-01.fw
Just not sure where I make a valid dvb-fe-cx24117.fw, or if it's needed. Can't really find any help on this?
I think i'm getting close.
Anyone help with the last bit??
RE: Building V4L-DVB with kernel 3.14.1 - fails? (TBS 6980) CX23885 -FIXED!!! - Added by Mike A over 10 years ago
Even though my card is a 6980
I need to used the 6981 file;
unzip -p tbs-linux-drivers_v130901.zip linux-tbs-drivers.tar.bz2 | tar jxOf - linux-tbs-drivers/v4l/tbs6981fe_driver.o.x86_64 | dd bs=1 skip=10144 count=55486 of=dvb-fe-cx24117.fw
working fine now i think.
That was a HARD SLOG!!!
RE: Building V4L-DVB with kernel 3.14.1 - fails? (TBS 6980) CX23885 - Added by Prof Yaffle over 10 years ago
Just googling around for you, even if I can't immediately help... a problem shared, and all that!
Firmware extraction: https://github.com/ljalves/linux_media/wiki/CX24117-firmware
.. might be worth checking different downloads/extracted files?
Your "firmware not responding" message:
https://bugs.launchpad.net/ubuntu/+source/linux-firmware-nonfree/+bug/971951
And similar on the 24116 with link to patch:
http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-NOVA-HD-S2
Can you rmmod/modprobe to see what happens on load/unload? Any errors there that give any clues?
I can't comment on the 23885/24117 firmware difference, I've no idea how this card presents itself. Looking at this page (http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-1700), that card needs the multiple firmwares so it may be that the TBS unit is the same - one file for the card/bus, one for the tuners, etc.
You can download the -enc.fw and the -avcore-01.fw from here as well: http://www.linuxtv.org/downloads/firmware/#3
RE: Building V4L-DVB with kernel 3.14.1 - fails? (TBS 6980) CX23885 - Added by Prof Yaffle over 10 years ago
Bugger, so much for timing - that was a wasted bit of typing