22.03.3 compile including drivers for usb DVB sticks

I compiled OpenWrt 22.03.3 for Netgear D7800 in order to include kernel support for a usb DVB-T stick and a usb DVB-S receiver for the tvheadend package:
https://www.linuxtv.org/wiki/index.php/ITE_IT9135
https://www.linuxtv.org/wiki/index.php/DVBSKY_S960

I copied the related firmware files in files/lib/firmware before compiling

dvb-demod-m88ds3103.fw
dvb-usb-it9135-02.fw

I selected the two devices in kernel_menuconfig and compilation ends with no errors, but after installing sysupgrade, none of the two sticks get recognized. Logread just states:

usb 3-1: new high-speed USB device number 2 using xhci-hcd
No mention about loading firmware.

What did I miss?

list of installed packages
build log
.config
syslog
kernel log

Note:
I had to comment out the row about fastmirrors.org in feeds/packages/utils/rrdtool1/Makefile
cause it hung downloading non existing files.

Sorry Lucky1, I don't get what that means. I have no practice on compiling but I already compiled 22.03.3 with support for those two receivers for a Buffalo Wzr600-dhp2 and a Linksys 1900acs (only DVB-T on 22.03.0-rc6 for that one) and it worked flawlessly.
They get recognized and initialized at boot:

[    6.984199] hub 1-0:1.0: USB hub found
[    6.988762] hub 1-0:1.0: 2 ports detected
[    7.043257] hub 2-0:1.0: USB hub found
[    7.047551] hub 2-0:1.0: 2 ports detected
[    7.073380] usbcore: registered new interface driver usb-storage
[    7.084299] usbcore: registered new interface driver uas
[    7.091929] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    7.101561] init: - preinit -
[    7.308565] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    7.557426] hub 1-1:1.0: USB hub found
[    7.563297] hub 1-1:1.0: 4 ports detected
[    7.892403] usb 1-1.1: new high-speed USB device number 3 using ehci-platform
[    8.278535] usb 1-1.1: dvb_usb_v2: found a 'DVBSky S960/S860' in warm state
[    8.285690] usb 1-1.1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[    8.295212] dvbdev: DVB: registering new adapter (DVBSky S960/S860)
[    8.302785] usb 1-1.1: dvb_usb_v2: MAC address: 00:17:42:54:96:0c
[    8.352814] i2c i2c-0: Added multiplexed i2c bus 1
[    8.442640] ts2020 1-0060: Montage Technology TS2022 successfully identified
[    8.449868] usb 1-1.1: DVB: registering adapter 0 frontend 0 (Montage Technology M88DS3103)...
[    8.518569] rc_core: IR keymap rc-dvbsky not found
[    8.523366] Registered IR keymap rc-empty
[    8.527536] rc rc0: DVBSky S960/S860 as /devices/platform/18000000.axi/bcma0:11/18021000.usb/usb1/1-1/1-1.1/rc/rc0
[    8.538011] input: DVBSky S960/S860 as /devices/platform/18000000.axi/bcma0:11/18021000.usb/usb1/1-1/1-1.1/rc/rc0/input0
[    8.548878] usb 1-1.1: dvb_usb_v2: schedule remote query interval to 300 msecs
[    8.556071] usb 1-1.1: dvb_usb_v2: 'DVBSky S960/S860' successfully initialized and connected
[    8.658686] usb 1-1.4: new high-speed USB device number 4 using ehci-platform
[    8.811718] hub 1-1.4:1.0: USB hub found
[    8.815866] hub 1-1.4:1.0: 4 ports detected
[    8.828119] b53-srab-switch 18007000.ethernet-switch lan1: configuring for phy/gmii link mode
[    8.836830] bgmac_bcma bcma0:3 eth0: Link is Up - 1Gbps/Full - flow control off
[    8.844477] 8021q: adding VLAN 0 to HW filter on device lan1
[    8.908678] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    9.168532] usb 1-1.4.1: new high-speed USB device number 5 using ehci-platform
[    9.325516] dvb_usb_af9035 1-1.4.1:1.0: prechip_version=83 chip_version=02 chip_type=9135
[    9.342508] usb 1-1.4.1: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in cold state
[    9.350200] usb 1-1.4.1: dvb_usb_v2: downloading firmware from file 'dvb-usb-it9135-02.fw'
[    9.456004] dvb_usb_af9035 1-1.4.1:1.0: firmware version=3.40.1.0
[    9.462095] usb 1-1.4.1: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in warm state
[    9.469730] dvb_usb_af9035 1-1.4.1:1.0: [0] overriding tuner from 00 to 60
[    9.477175] usb 1-1.4.1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[    9.486897] dvbdev: DVB: registering new adapter (ITE 9135(9006) Generic)
[    9.515025] af9033 2-001c: firmware version: LINK 3.40.1.0 - OFDM 3.40.1.0
[    9.521968] af9033 2-001c: Afatech AF9033 successfully attached
[    9.527974] usb 1-1.4.1: DVB: registering adapter 1 frontend 0 (Afatech AF9033 (DVB-T))...
[    9.555596] it913x it9133bx-tuner.0.auto: ITE IT913X BX successfully attached
[    9.628525] rc_core: IR keymap rc-it913x-v1 not found
[    9.633571] Registered IR keymap rc-empty
[    9.637741] rc rc1: ITE 9135(9006) Generic as /devices/platform/18000000.axi/bcma0:11/18021000.usb/usb1/1-1/1-1.4/1-1.4.1/rc/rc1
[    9.649428] input: ITE 9135(9006) Generic as /devices/platform/18000000.axi/bcma0:11/18021000.usb/usb1/1-1/1-1.4/1-1.4.1/rc/rc1/input1
[    9.661500] usb 1-1.4.1: dvb_usb_v2: 'ITE 9135(9006) Generic' successfully initialized and connected
[    9.768510] usb 1-1.4.4: new high-speed USB device number 6 using ehci-platform

Now why is that they don't get recognized on a Netgear D7800? First thing I thought was some missing package but I can't find which one, or maybe a hardware problem. I tried using an active USB hub in case the ports could not supply enough power but the result was the same.
And if I connect an hdd it gets recognized and mounted..

now a read it better
I think there is a kernel switch need to make it work
but it's not selected in the main stream versions
so you have to compile it your self
until the above pull request goes through anyway

so you will have to recompile the new version with the same alterations you made last time

I don't know where to start about that, maybe I'd better wait.
Anyway there's no selectable package
kmod-multimedia dvb-core dvb-usb-v2

in make_menuconfig

well it need more people test & support
and take interest in the pull request above
if it gets passed you would not need this topic

Is this interesting D7800 only? I compiled for the Buffalo and Linksys some time ago and I didn't have this problem.
I would test this myself but I don't know if I'm up to the task.

if you get motivated to try it and build it

rm -rf dvb
git clone https://github.com/M95D/openwrt.git dvb
cd dvb

git fetch --tags
git checkout m95d-dvb

./scripts/feeds update -a
./scripts/feeds install -a

make menuconfig

Well, that seems simple enough, thanks, I'll try.

1 Like

Sorry about the dumb question.. there are several dvb folders in openwrt directory, I assume I should replace one of them but which one?

./build_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-11.2.0_musl_eabi/linux-5.10.161/usr/include/linux/dvb
./build_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-11.2.0_musl_eabi/linux-5.10.161/include/uapi/linux/dvb
./build_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-11.2.0_musl_eabi/linux-5.10.161/include/config/dvb
./build_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-11.2.0_musl_eabi/linux-5.10.161/Documentation/userspace-api/media/dvb
./build_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-11.2.0_musl_eabi/linux-dev/include/linux/dvb
./staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-11.2.0_musl_eabi/include/linux/dvb

I have only used one that already in there so I don't know about adding more

Ok, OpenWrt 22.03.4 is out so I decided to delete everything and start from scratch.
Compile went well and the two tuners seem to be recognized

[    8.857200] usb 3-1: new high-speed USB device number 2 using xhci-hcd
[    9.097907] hub 3-1:1.0: USB hub found
[    9.098018] hub 3-1:1.0: 4 ports detected
[    9.437214] usb 3-1.2: new high-speed USB device number 3 using xhci-hcd
[    9.797151] usb 3-1.2: dvb_usb_v2: found a 'DVBSky S960/S860' in warm state
[    9.797423] usb 3-1.2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[    9.802951] dvbdev: DVB: registering new adapter (DVBSky S960/S860)
[    9.826966] usb 3-1.2: dvb_usb_v2: MAC address: 00:17:42:54:96:0c
[    9.889533] i2c i2c-0: Added multiplexed i2c bus 1
[   10.044048] ts2020 1-0060: Montage Technology TS2022 successfully identified
[   10.044260] usb 3-1.2: DVB: registering adapter 0 frontend 0 (Montage Technology M88DS3103)...
[   10.050511] usb 3-1.2: dvb_usb_v2: 'DVBSky S960/S860' successfully initialized and connected
[   10.159690] usb 3-1.4: new high-speed USB device number 4 using xhci-hcd
[   10.347531] hub 3-1.4:1.0: USB hub found
[   10.347782] hub 3-1.4:1.0: 4 ports detected
[   10.667181] usb 3-1.4.2: new high-speed USB device number 5 using xhci-hcd
[   10.903269] dvb_usb_af9035 3-1.4.2:1.0: prechip_version=83 chip_version=02 chip_type=9135
[   10.934877] usb 3-1.4.2: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in warm state
[   10.934943] dvb_usb_af9035 3-1.4.2:1.0: [0] overriding tuner from 00 to 60
[   10.942090] usb 3-1.4.2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   10.948416] dvbdev: DVB: registering new adapter (ITE 9135(9006) Generic)
[   10.981043] af9033 2-001c: firmware version: LINK 3.40.1.0 - OFDM 3.40.1.0
[   10.981073] af9033 2-001c: Afatech AF9033 successfully attached
[   10.986853] usb 3-1.4.2: DVB: registering adapter 1 frontend 0 (Afatech AF9033 (DVB-T))...
[   11.015029] it913x it9133bx-tuner.2.auto: ITE IT913X BX successfully attached

Problem is now there's something wrong in tvheadend menu. Configuration and status tabs are missing so the wizard can't be started. Any idea why?