9.2.2 DVB tbs driver / Hauppauge USB wintv dual HD / Tvheadend conflict

Yes, it sounds plausible. Perhaps I’ll do that. May take some time, I’m a bit busy with other jobs.

CoreELEC consists of a kernel and the rest of the Kodi universe. How complicate is it just changing the kernel? That opens the chance for me to add the older kernel from 9.2.1 to the new releases of CoreELEC. May be a weird idea…

What about my question which DVB-T2 stick would be recommended by the CoreELEC team?

It is not complicated. Please try yourself. I am here if you have questions. I always encourage people to learn it. Maybe you can debug and trace the oops. Looking forward to this.

First I have to learn how to set up a cross compiling environment. I don’t have any experience in that field.

The issue about the Hauppauge soloHD/dualHD should be solved by next nightly.

1 Like

I want to thank publicly Portisch for his efforts to correct this issue.

1 Like

I wanted to thanks and congratulate @Portisch for his efforts. After compiling from source, and make fresh install, I confirm that it works. Thank you very much.

Thank you, CE users where just insist friendly and long enough until this issue was solved. Most hard part on issues like this is that it is not possible for Team CoreELEC to own every piece of hardware available out there on market for debugging.

1 Like

Just received a WinTV-dualHD today and encountered the same problem with a bit older build of coreelec, running on GT-King Pro. I can confirm that after rebuild from head of coreelec-9.2 branch (9f6f71fbe4) the problem reported in this thread is fixed.

However I get another problem: Hauppauge WinTV-dualHD tuner is not working in any USB 3.0 port of GT-King Pro. It works only in the one USB 2.0 port (marked as OTG) provided by GT-King Pro.
When in usb 3.0 port, following messages are logged:

[ 2476.674353@0] si2157 5-0060: downloading firmware from file 'dvb-tuner-si2157-a30-01.fw'
[ 2477.130041@1] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[ 2477.386088@1] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[ 2477.642023@2] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[ 2477.642033@2] si2157 5-0060: firmware download failed -5
[ 2477.642077@2] em28xx 1-1.1:1.0: DVB: adapter 0 frontend 0 frequency 0 out of range (48000000..870000000)
[ 2477.898086@0] em28xx 1-1.1:1.0: writing to i2c device at 0xce failed (error=-5)
[ 2478.154087@0] em28xx 1-1.1:1.0: writing to i2c device at 0xce failed (error=-5)
[ 2478.410099@0] em28xx 1-1.1:1.0: writing to i2c device at 0xce failed (error=-5)
[ 2478.410232@0] em28xx 1-1.1:1.0: DVB: adapter 1 frontend 0 frequency 0 out of range (48000000..870000000)
[ 2480.938330@2] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[ 2481.194134@0] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)

and it is not possible to show any tv station.
While when running in the usb 2.0 port, it is fine, no error message present and both tuners work simultaneously with tvheadend.

I guess this is probably GT-King Pro specific.
I planned to get a second WinTV-dualHD to be used with GT-King Pro, but that would need to use usb 3.0 ports as only one usb 2.0 port is available.
Any idea how to solve this?

@teacup It’s not a gt king pro specific problem, I’ve got the same with my Odroid N2 since the beginning. I bought an OTG/USB adaptor and my hauppauge wintv dual HD is connected to the front OTG usb2.

Do you mean it is general problem of USB 3.0 on AMLogic S922X platform, when used together with hauppauge wintv dual?
So tuners like this need to be connected only to USB 2.0, in this case OTG variant?
Hmm, that is not nice.
Still it looks like problem of USB 3.0 of s922x rather than the tuner?

Does this happen to N2 on any of the 4 USB ports?
I tried only on C4 and there it was working without any issues.

@Portisch Yes on any of usb3 rear ports. But i haven’t tried since some months because it doesn’t matter for me to connect it on the N2 otg front port.

There was a issue on CE before 9.2.3 on N2 & USB3 and a issue about this dvb tuner. So try again with nightly.

@Portisch Just try with nightly, and confirm that the rears usb ports aren’t enough stable for daily usage. (sometime working, sometime not and must reboot every time when not working )

added

options em28xx reg_debug=1

into /storage/.config/modprobe.d/wintvdual.conf
and got following:

[   38.192943@3] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 c8 00 08 00 >>> 0c 0a 6f 45 14 f9 d4 64
[   38.192985@3] em28xx 1-1.1:1.0: reg: em28xx_read_reg_req_len: (pipe 0x80000480): IN:  c0 00 00 00 05 00 01 00 <<< 00
[   38.193058@3] em28xx 1-1.1:1.0: reg: em28xx_read_reg_req_len: (pipe 0x80000480): IN:  c0 02 00 00 c8 00 01 00 <<< 80
[   38.193099@3] em28xx 1-1.1:1.0: reg: em28xx_read_reg_req_len: (pipe 0x80000480): IN:  c0 00 00 00 05 00 01 00 <<< 00
[   38.446674@0] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 c8 00 05 00 >>> 44 3f a1 8b 6b  failed with error -110
[   38.446689@0] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[   38.446703@0] si2168 6-0064: firmware download failed -5
[   38.701690@0] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 c8 00 03 00 >>> c0 0d 01  failed with error -110
[   38.701705@0] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[   38.957402@0] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 c8 00 03 00 >>> c0 0d 00  failed with error -110
[   38.957417@0] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[   38.957519@0] em28xx 1-1.1:1.0: DVB: adapter 0 frontend 0 frequency 0 out of range (48000000..870000000)
[   39.225094@0] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 c8 00 0d 00 >>> c0 12 00 0c 00 0d 16 00 00 00 00 00 00  failed with error -110
[   39.225108@0] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[   39.253082@0] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 ce 00 0d 00 >>> c0 12 00 0c 00 0d 16 00 00 00 00 00 00  failed with error -110
[   39.253096@0] em28xx 1-1.1:1.0: writing to i2c device at 0xce failed (error=-5)
[   39.480811@0] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 c8 00 03 00 >>> c0 0d 01  failed with error -110
[   39.480825@0] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[   39.508776@0] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 ce 00 03 00 >>> c0 0d 01  failed with error -110
[   39.508790@0] em28xx 1-1.1:1.0: writing to i2c device at 0xce failed (error=-5)
[   39.736529@0] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 c8 00 03 00 >>> c0 0d 00  failed with error -110
[   39.736543@0] em28xx 1-1.1:1.0: writing to i2c device at 0xc8 failed (error=-5)
[   39.764621@0] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 ce 00 03 00 >>> c0 0d 00  failed with error -110
[   39.764635@0] em28xx 1-1.1:1.0: writing to i2c device at 0xce failed (error=-5)
[   39.764742@0] em28xx 1-1.1:1.0: DVB: adapter 1 frontend 0 frequency 0 out of range (48000000..870000000)
[   40.052182@1] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 ce 00 0d 00 >>> c0 12 00 0c 00 0d 16 00 00 00 00 00 00  failed with error -110
[   40.052197@1] em28xx 1-1.1:1.0: writing to i2c device at 0xce failed (error=-5)
[   40.307892@1] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 ce 00 03 00 >>> c0 0d 01  failed with error -110
[   40.307906@1] em28xx 1-1.1:1.0: writing to i2c device at 0xce failed (error=-5)
[   40.563625@1] em28xx 1-1.1:1.0: reg: em28xx_write_regs_req: (pipe 0x80000400): OUT:  40 02 00 00 ce 00 03 00 >>> c0 0d 00  failed with error -110
[   40.563640@1] em28xx 1-1.1:1.0: writing to i2c device at 0xce failed (error=-5)

Any ideas?

I guess that the -110 error code is -ETIMEDOUT and it comes from usb_start_wait_urb() when timeout expires after call of usb_submit_urb().
It looks like a problem with usb3 transfers, possibly specific to controller used within AMLogic S922X platform.
Or the tuner does not respond for some reason? It would be strange that it would work with usb2 though.

Tested on PC with 5.7.4 kernel, no problem when using usb3 port.
Tested also connected to a usb3 hub (which has been connected to usb3 PC port), no problem either.
When connected that usb3 hub to GT-King Pro usb3 port and then wintv-dual to that usb3 hub, the above described errors appear again. Tried even to use only usb2 cable (instead of the original usb3 cable) to connect the usb3 hub to GT-King Pro usb3 port (i.e. forcing the usb3 hub into usb2 mode), the same errors still.
Basically the AMLogic S922X’s usb3 ports are not usable with the tuner, no matter what you do. But the tuner is usable with ryzen 7 based PC with usb3 ports.
Looks like the usb3 host controller driver issue in my opinion.
– edit –
A bit different errors that sometime appear there:

[   53.302665@4] em28xx 1-1.1.2:1.0: Binding DVB extension
[   53.302750@4] em28xx 1-1.1.2:1.0: reg: em28xx_write_regs_req: (pipe 0x80000500): OUT:  40 00 00 00 5d 00 01 00 >>> ff  failed with error -71
[   53.302797@4] em28xx 1-1.1.2:1.0: reg: em28xx_read_reg_req_len: (pipe 0x80000580): IN:  c0 00 00 00 5f 00 01 00  failed with error -71
[   53.302845@3] em28xx 1-1.1.2:1.0: reg: em28xx_read_reg_req_len: (pipe 0x80000580): IN:  c0 00 00 00 80 00 01 00  failed with error -71
[   53.315943@4] em28xx 1-1.1.2:1.0: reg: em28xx_read_reg_req_len: (pipe 0x80000580): IN:  c0 00 00 00 06 00 01 00  failed with error -71
[   53.316004@5] em28xx 1-1.1.2:1.0: reg: em28xx_write_regs_req: (pipe 0x80000500): OUT:  40 02 00 00 c8 00 0d 00 >>> c0 12 00 0c 00 0d 16 00 00 00 00 00 00  failed with error -71
[   53.316008@5] em28xx 1-1.1.2:1.0: writing to i2c device at 0xc8 failed (error=-5)
[   53.316012@5] si2168 6-0064: probe failed = -5
[   53.316020@5] si2168: probe of 6-0064 failed with error -5

That -71 error might be -EPROTO, but I am not sure where it may come from.
– edit –
Possibly interesting post that might be related:
https://www.mail-archive.com/linux-media@vger.kernel.org/msg111615.html
Not sure if it is the same case though, it mentions heavy use of isochronous usb transfers, while the tuner driver logs the bulk mode:

# dmesg | grep bulk
[   52.204378@5] em28xx 1-1.1.2:1.0: DVB interface 0 found: bulk
[   52.905959@0] em28xx 1-1.1.2:1.0: dvb set to bulk mode.
[   53.086102@0] em28xx 1-1.1.2:1.0: dvb ts2 set to bulk mode.
1 Like

This problem is unrelated to the original issue. The usb3 issues are hardware related. Comparing it to a PC is not helping.

Topic is solved.

Just to confirm the error failed with error -110:
I tried to downgrade the USB driver and I got the error randomly on any port of the back on the N2.
Also with 9.2.1 the error happen.

It works without any issue on Minix NEO T5 (S905X2) or Odroid C4 (S905X3) on any port as example.
Maybe it’s really a SoC & USB3 host related error.