Page 1 of 1

make error and missing firmware

PostPosted: Tue Apr 20, 2021 10:37 pm
by UKenGB
Trying to setup a TBS-6981 card under debian (actually OpenMediaVault) with kernel 5.10.0-0.bpo.3-amd64. First of all there a make error:-

Code: Select All Code
sh: 0: Can't open /usr/src/linux-headers-5.10.0-0.bpo.3-common/scripts/mkmakefile
make[4]: *** [/usr/src/linux-headers-5.10.0-0.bpo.3-common/Makefile:548: outputmakefile] Error 127
/usr/src/linux-headers-5.10.0-0.bpo.3-common/Makefile:687: include/config/auto.conf.cmd: No such file or directory
make[3]: *** [/usr/src/linux-headers-5.10.0-0.bpo.3-common/Makefile:709: include/config/auto.conf.cmd] Error 2
make[2]: *** [/usr/src/linux-headers-5.10.0-0.bpo.3-common/Makefile:185: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-5.10.0-0.bpo.3-amd64'
make[1]: *** [Makefile:52: default] Error 2
make[1]: Leaving directory '/root/tbs/linux-tbs-drivers/v4l'
make: *** [Makefile:26: all] Error 2


However, I did then 'make install' and rebooted etc and the card is being seen, but there's the following error in dmesg:-

Code: Select All Code
cx23885 0000:04:00.0: Direct firmware load for dvb-fe-cx24117.fw failed with error -2
i2c i2c-7: cx24117_firmware_ondemand: No firmware uploaded (timeout or file not found?)


which I suspect is related to the make error.

Would appreciate some help sorting this out.

Thanks.

Re: make error and missing firmware

PostPosted: Wed Apr 21, 2021 2:41 am
by UKenGB
Originally it did seem to load a driver (showing in dmesg) but failed to find the firmware (as in the error above), but now no driver is being loaded. looks like when 'make install' removed obsolete drivers, it took out the existing one (that at least loaded), but due to the 'make' error, no new drivers have been created. So now I have nothing.

Could do with some help here. If anyone could let me know the specific drivers required by the 6981 card I could try and find them.

Anyone?

Re: make error and missing firmware

PostPosted: Wed Apr 21, 2021 3:56 am
by UKenGB
I recovered the original drivers that had been removed (maybe when I ran 'make distclean'?), then ran make and make install. Despite the 'make' error (as before) it has added something and the driver loads on boot and apparently successfully loads the supplied firmware:-

Code: Select All Code
[    6.054138] cx25840 8-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0])
[    6.065238] cx25840 8-0044: firmware: direct-loading firmware v4l-cx23885-avcore-01.fw
[    6.739694] cx25840 8-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes)


But soon after that I'm back to:-

Code: Select All Code
[  136.554402] cx23885 0000:04:00.0: Direct firmware load for dvb-fe-cx24117.fw failed with error -2
[  136.554423] i2c i2c-7: cx24117_firmware_ondemand: No firmware uploaded (timeout or file not found?)
[  136.555590] cx23885 0000:04:00.0: firmware: failed to load dvb-fe-cx24117.fw (-2)


Which implies that even after 'installing' firmware, the above is still missing.

I tried to the following:-

Code: Select All Code
dd bs=1 skip=166120 count=55352 of=dvb-fe-cx24117.fw


using 'linux-tbs-drivers/v4l/tbs6981fe_driver.o.x86_64' as the input file and moved the resultant file to /lib/firmware, but on next reboot, it was unable to load that firmware file.

Code: Select All Code
[  136.793593] cx23885 0000:04:00.0: firmware: direct-loading firmware dvb-fe-cx24117.fw
[  144.303435] i2c i2c-7: cx24117_cmd_execute_nolock() Firmware not responding
[  144.303440] i2c i2c-7: cx24117_load_firmware() Error running FW.
[  144.303511] i2c i2c-7: cx24117_firmware_ondemand: Writing firmware failed
[  144.303602] i2c i2c-7: cx24117_firmware_ondemand: Firmware upload failed
[  145.479434] i2c i2c-7: cx24117_cmd_execute_nolock() Firmware not responding
[  146.667435] i2c i2c-7: cx24117_cmd_execute_nolock() Firmware not responding



So a bit stuck now, but I am left with 2 major questions:-

How can I avoid the 'make' error and why does the official driver package seem to not supply all the required firmware? Or is the second the result of the first?

Either way, help with this would be appreciated.

Re: make error and missing firmware

PostPosted: Thu Apr 22, 2021 2:23 am
by UKenGB
Turns out that OpenMediaVault/Debian I am using comes with a cx23885 driver. That loads the v4l-cx23885-avcore-01.fw supplied with the drivers, but that left the dvb-fe-cx24117.fw firmware missing.

As I mentioned before, I tried to use 'dd' to make this firmware from the driver package, but that failed to load with an error. However I found a copy of that firmware on github and tried that instead. Surprisingly, that loaded perfectly, even though it was exactly the same size as the one I had made. Something wrong though obviously.

I am about to test the card, but with regard to this thread, I would like to track down why the 'make' failed (it did and 'make install' installed nothing). Hoping for a response from TBS.

Re: make error and missing firmware

PostPosted: Thu Apr 22, 2021 2:41 pm
by zhangchao
hi ,

please add skype jack_2431.
or you can write email to support@tbsdtv.com


best regards!