Kompilovanie software pre DVB-C tuner (TBS, Raspberry)

Kompilovanie software pre DVB-C tuner (TBS, Raspberry)
« kdy: 07. 09. 2025, 18:16:18 »
Ahoj. Snažím sa skompilovať ovládače pre DVB-C tuner TBS-5230 podľa postupu na https://github.com/tbsdtv/linux_media/wiki, ale výsledkom je množstvo hlásení v žurnále ako napr.:

Kód: [Vybrat]
kernel: pisp_be: disagrees about version of symbol __video_register_device
kernel: pisp_be: Unknown symbol __video_register_device (err -22)
kernel: rpi_hevc_dec: disagrees about version of symbol v4l2_m2m_job_finish
kernel: rpi_hevc_dec: Unknown symbol v4l2_m2m_job_finish (err -22)

Skúsil som aj samotný install.sh skript z https://github.com/tbsdtv/media_build, ako mi radil vývojár z githubu, ale výsledok bol ešte horší (žiadne ovládače sa nenahrali).

Kompilujem to pre Raspberry Pi 5, Linux rpi5 6.12.34+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.34-1+rpt1~bookworm (2025-06-26) aarch64 GNU/Linux. Predtým som používal Raspberry Pi 4, s trochu iným tunerom a so software nebol problém. (RPi4 a starý tuner neprežili blesk.)

Poradíte mi, prosím, ako opravím ten problém so symbolmi?

P.S.: Zo zvedavosti som to skúsil rozchodiť aj na notebooku s Kubuntu a tam softvér funguje a kernel sa na symboly nesťažuje.


Re:Kompilovanie software pre DVB-C tuner (TBS, Raspberry)
« Odpověď #1 kdy: 07. 09. 2025, 20:43:46 »
Zdá se, že to kompiluješ proti jiné verzi než původní autor, a proto to na sebe nesedí. Díval ses na https://github.com/tbsdtv/linux_media/wiki/Prerequisites,-Build-errors-and-Rebuilding ? Zkus použít verze a distribuce, které jsou tam popsané. Případně se zeptej autorů - mají tam i e-mail. Pak je ještě možnost, že někdo vytvořil fork, který pasuje na aktuální verze v distribucích.

Re:Kompilovanie software pre DVB-C tuner (TBS, Raspberry)
« Odpověď #2 kdy: 08. 09. 2025, 10:33:09 »
Zdá se, že to kompiluješ proti jiné verzi než původní autor, ...

Na Wiki https://github.com/tbsdtv/linux_media/wiki sa píše "support kernel version from v4.19-6.14". To zjavne neplatí. Aj na tom Kubuntu mi to s pôvodným kernelom neišlo (to bol tuším 6.8 ) a rozbehlo sa až keď som dal HWE kernel (6.14).
"Prerequisites, Build errors and Rebuilding" som si samozrejme už prešiel, nevidím tam nič pre mňa relevantné.
Okrem skriptu install.sh obsahuje projekt media_build aj skript build, kde je vetva pre Raspberry, tak verím, že sa nepokúšam o niečo celkom neadekvátne. (Ako som už písal, RPi4 - no problem.)

Súčasťou balíčka linux-headers je aj súbor Module.symvers. Projekt media_build si ale vyrába vlastný Module.symvers s inými adresami (alebo čo znamenajú tie hexa čísla).

Kód: [Vybrat]
# journalctl -b | grep 'Unknown symbol' | head -n 1
sep 07 17:34:51 rpi5 kernel: pisp_be: Unknown symbol vb2_queue_init (err -22)

# grep -F vb2_queue_init `find / -name Module.symvers 2>/dev/null`
/usr/local/src/tbs/media_build/v4l/Module.symvers:0xe422420c    vb2_queue_init_name     /usr/local/src/tbs/media_build/v4l/videobuf2-v4l2       EXPORT_SYMBOL_GPL
/usr/local/src/tbs/media_build/v4l/Module.symvers:0x9adb93ef    vb2_queue_init  /usr/local/src/tbs/media_build/v4l/videobuf2-v4l2       EXPORT_SYMBOL_GPL
/usr/src/linux-headers-6.12.25+rpt-rpi-v8/Module.symvers:0x27c3aa16     vb2_queue_init_name     drivers/media/common/videobuf2/videobuf2-v4l2   EXPORT_SYMBOL_GPL
/usr/src/linux-headers-6.12.25+rpt-rpi-v8/Module.symvers:0xa3575fdc     vb2_queue_init  drivers/media/common/videobuf2/videobuf2-v4l2   EXPORT_SYMBOL_GPL
/usr/src/linux-headers-6.12.34+rpt-rpi-v8/Module.symvers:0x27c3aa16     vb2_queue_init_name     drivers/media/common/videobuf2/videobuf2-v4l2   EXPORT_SYMBOL_GPL
/usr/src/linux-headers-6.12.34+rpt-rpi-v8/Module.symvers:0xa3575fdc     vb2_queue_init  drivers/media/common/videobuf2/videobuf2-v4l2   EXPORT_SYMBOL_GPL

Toto mi príde čudné, ale keďže o zostavovaní modulov do jadra viem veľkú 0, tak neviem, čo s tým.

Re:Kompilovanie software pre DVB-C tuner (TBS, Raspberry)
« Odpověď #3 kdy: 08. 09. 2025, 10:48:31 »
alebo čo znamenajú tie hexa čísla

Sú to CRC z prototypov daných symbolov. Takže to by chcelo inú verziu TBS zdrojákov, ktorá pracuje s prototypmi ako má jadro 6.12. Hm.