[Plugin] DVB-Driver


ich777

Recommended Posts

16 minutes ago, andritolion said:

Here you go.

Please open up a Unraid terminal and issue:

modprobe em28xx_dvb

or

modprobe em28xx

(please note that if you get no output then it was successful, please post your Diagnostics after you issued the commands, at least if one was successful)

 

I think the second one should work for you fine and load the driver.

Link to comment
23 minutes ago, andritolion said:

The first command worked fine for me, though I did not try the second one. Here are my updated diagnostics.

I would recommend that you put the line:

modprobe em28xx

in your go file (/boot/config/go) so that it looks like this:

#!/bin/bash
# Load DVB drivers
modprobe em28xx

# Start the Management Utility
/usr/local/sbin/emhttp &

 

This is just a example but make sure to do it before emhttp starts to ensure that you load the driver before the Docker containers are starting.

 

BTW, your Plex container should now start since the driver now loads from what I see in your syslog:

Jun  7 00:56:20 catNAS kernel: mc: Linux media interface: v0.10
Jun  7 00:56:20 catNAS kernel: videodev: Linux video capture interface: v2.00
Jun  7 00:56:20 catNAS kernel: em28xx 1-12.1:1.0: New device HCW quadHD-A @ 480 Mbps (2040:846d, interface 0, class 0)
Jun  7 00:56:20 catNAS kernel: em28xx 1-12.1:1.0: DVB interface 0 found: bulk
Jun  7 00:56:20 catNAS kernel: em28xx 1-12.1:1.0: chip ID is em28174
Jun  7 00:56:21 catNAS kernel: em28xx 1-12.1:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0xbd798474
Jun  7 00:56:21 catNAS kernel: em28xx 1-12.1:1.0: EEPROM info:
Jun  7 00:56:21 catNAS kernel: em28xx 1-12.1:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
Jun  7 00:56:21 catNAS kernel: em28xx 1-12.1:1.0: 	AC97 audio (5 sample rates)
Jun  7 00:56:21 catNAS kernel: em28xx 1-12.1:1.0: 	300mA max power
Jun  7 00:56:21 catNAS kernel: em28xx 1-12.1:1.0: 	Table at offset 0x27, strings=0x126a, 0x1688, 0x087e
Jun  7 00:56:21 catNAS kernel: em28xx 1-12.1:1.0: Identified as Hauppauge USB QuadHD ATSC (card=106)
Jun  7 00:56:21 catNAS kernel: em28xx 1-12.1:1.0: dvb set to bulk mode.
Jun  7 00:56:21 catNAS kernel: em28xx 1-12.1:1.0: chip ID is em28174
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.1:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0xbd798474
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.1:1.0: EEPROM info:
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.1:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.1:1.0: 	AC97 audio (5 sample rates)
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.1:1.0: 	300mA max power
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.1:1.0: 	Table at offset 0x27, strings=0x126a, 0x1688, 0x087e
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.1:1.0: Identified as Hauppauge USB QuadHD ATSC (card=106)
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.1:1.0: dvb ts2 set to bulk mode.
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.3:1.0: New device HCW quadHD-A @ 480 Mbps (2040:846d, interface 0, class 0)
Jun  7 00:56:22 catNAS kernel: em28xx 1-12.3:1.0: DVB interface 0 found: bulk
Jun  7 00:56:23 catNAS kernel: em28xx 1-12.3:1.0: chip ID is em28174
Jun  7 00:56:24 catNAS kernel: em28xx 1-12.3:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0xc7798474
Jun  7 00:56:24 catNAS kernel: em28xx 1-12.3:1.0: EEPROM info:
Jun  7 00:56:24 catNAS kernel: em28xx 1-12.3:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
Jun  7 00:56:24 catNAS kernel: em28xx 1-12.3:1.0: 	AC97 audio (5 sample rates)
Jun  7 00:56:24 catNAS kernel: em28xx 1-12.3:1.0: 	300mA max power
Jun  7 00:56:24 catNAS kernel: em28xx 1-12.3:1.0: 	Table at offset 0x27, strings=0x126a, 0x1688, 0x087e
Jun  7 00:56:24 catNAS kernel: em28xx 1-12.3:1.0: Identified as Hauppauge USB QuadHD ATSC (card=106)
Jun  7 00:56:24 catNAS kernel: em28xx 1-12.3:1.0: dvb set to bulk mode.
Jun  7 00:56:24 catNAS kernel: em28xx 1-12.3:1.0: chip ID is em28174
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0xc7798474
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: EEPROM info:
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: 	AC97 audio (5 sample rates)
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: 	300mA max power
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: 	Table at offset 0x27, strings=0x126a, 0x1688, 0x087e
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: Identified as Hauppauge USB QuadHD ATSC (card=106)
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: dvb ts2 set to bulk mode.
Jun  7 00:56:25 catNAS kernel: usbcore: registered new interface driver em28xx
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.1:1.0: Binding DVB extension
Jun  7 00:56:25 catNAS kernel: mxl692 8-0060: MaxLinear mxl692 successfully attached
Jun  7 00:56:25 catNAS kernel: dvbdev: DVB: registering new adapter (1-12.1:1.0)
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.1:1.0: DVB: registering adapter 0 frontend 0 (MaxLinear MxL692 VSB tuner-demodulator)...
Jun  7 00:56:25 catNAS kernel: dvbdev: dvb_create_media_entity: media entity 'MaxLinear MxL692 VSB tuner-demodulator' registered.
Jun  7 00:56:25 catNAS kernel: dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.1:1.0: DVB extension successfully initialized
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.1:1.0: Binding DVB extension
Jun  7 00:56:25 catNAS kernel: mxl692 10-0063: MaxLinear mxl692 successfully attached
Jun  7 00:56:25 catNAS kernel: dvbdev: DVB: registering new adapter (1-12.1:1.0)
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.1:1.0: DVB: registering adapter 1 frontend 0 (MaxLinear MxL692 VSB tuner-demodulator)...
Jun  7 00:56:25 catNAS kernel: dvbdev: dvb_create_media_entity: media entity 'MaxLinear MxL692 VSB tuner-demodulator' registered.
Jun  7 00:56:25 catNAS kernel: dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.1:1.0: DVB extension successfully initialized
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: Binding DVB extension
Jun  7 00:56:25 catNAS kernel: mxl692 12-0060: MaxLinear mxl692 successfully attached
Jun  7 00:56:25 catNAS kernel: dvbdev: DVB: registering new adapter (1-12.3:1.0)
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: DVB: registering adapter 2 frontend 0 (MaxLinear MxL692 VSB tuner-demodulator)...
Jun  7 00:56:25 catNAS kernel: dvbdev: dvb_create_media_entity: media entity 'MaxLinear MxL692 VSB tuner-demodulator' registered.
Jun  7 00:56:25 catNAS kernel: dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: DVB extension successfully initialized
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: Binding DVB extension
Jun  7 00:56:25 catNAS kernel: mxl692 14-0063: MaxLinear mxl692 successfully attached
Jun  7 00:56:25 catNAS kernel: dvbdev: DVB: registering new adapter (1-12.3:1.0)
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: DVB: registering adapter 3 frontend 0 (MaxLinear MxL692 VSB tuner-demodulator)...
Jun  7 00:56:25 catNAS kernel: dvbdev: dvb_create_media_entity: media entity 'MaxLinear MxL692 VSB tuner-demodulator' registered.
Jun  7 00:56:25 catNAS kernel: dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
Jun  7 00:56:25 catNAS kernel: em28xx 1-12.3:1.0: DVB extension successfully initialized
Jun  7 00:56:25 catNAS kernel: em28xx: Registered (Em28xx dvb Extension) extension

 

Link to comment
20 minutes ago, andritolion said:

Will this be a permanent requirement, or can this modification be removed if/when an update is released for the driver?

For now this is a permanent requirement, I can't tell why it isn't detected by the plugin, maybe the device is initialized to late.

It won't hurt if you let this line in the go file, even when the card isn't installed anymore so to speak if you forget to remove it at some point.

  • Like 1
Link to comment
On 6/8/2023 at 12:37 PM, ich777 said:

I've found a change in RC7 which maybe causes this, already contacted Tom about that.


The changes in rc8 say: "Fix regression error in rc.S: must install third-party drivers before first invocation of udev.". I assume this is related?

Link to comment
28 minutes ago, rogueosb said:


The changes in rc8 say: "Fix regression error in rc.S: must install third-party drivers before first invocation of udev.". I assume this is related?

Yes, it should now be fixed and no additional modprobe should be needed anymore.

  • Like 2
Link to comment

Hey!

 

I'm just getting into setting up TV on my Unraid server, and I have the chance to grab an older TBS 6981 card (DVB-S2 Dual Tuner) at the low price of €10.

 

I just wanted to double check if this is a known working card and would integrate with TVheadend with minimal issues? I saw mention of this card a few years back in this thread, and I think someone was having issues with older drivers.

 

It also mentions here that the card is Unicable compatible, however it specifically mentions the Windows driver for this so I am not 100% sure if Unicable would work with this card in Unraid?

 

For the price I think it's probably worth the gamble regardless, but any help would be great. Thanks!

Edited by eric90000
Link to comment
6 hours ago, eric90000 said:

I'm just getting into setting up TV on my Unraid server, and I have the chance to grab an older TBS 6981 card (DVB-S2 Dual Tuner) at the low price of €10.

 

double cross posting is not a nice attitude, just as note ;)

 

trial & error or may contact TBS support for further infos may be a solution too ;)

 

afaik, TBS is may not the best choice currently as drivers are ...

  • Like 1
Link to comment
7 minutes ago, alturismo said:

double cross posting is not a nice attitude, just as note ;)

 

trial & error or may contact TBS support for further infos may be a solution too ;)

 

afaik, TBS is may not the best choice currently as drivers are ...

 

Thank you for the info :) appreciate it.

 

Apologies if my post on the TVheadend thread appeared as a double post, I didn't intend that, as I had different questions in mind and tried my best to write different posts.

 

I will continue researching, thanks again.

Link to comment
  • 2 weeks later...

I was wondering if you could steer me in the right direction for getting my WinTV-HVR5525 working.  It's a brand new board, direct from Hauppauge.  Initially it wouldn't detect at all (syslog showed cx23885 not recognising it) so I forced detection with

rmmod cx23885
modprobe cx23885 card=52

and get this output in the logs:

Spoiler


Jun 30 15:24:38 servermonkey3 kernel: cx23885: cx23885 driver version 0.0.4 loaded
Jun 30 15:24:38 servermonkey3 kernel: cx23885: CORE cx23885[0]: subsystem: 0070:f039, board: Hauppauge WinTV-HVR5525 [card=52,insmod option]
Jun 30 15:24:38 servermonkey3 kernel: tveeprom: Hauppauge model 150339, rev C6I6, serial# 4036192849
Jun 30 15:24:38 servermonkey3 kernel: tveeprom: MAC address is 00:0d:fe:93:6a:51
Jun 30 15:24:38 servermonkey3 kernel: tveeprom: tuner model is SiLabs Si2157 (idx 186, type 4)
Jun 30 15:24:38 servermonkey3 kernel: tveeprom: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4)
Jun 30 15:24:38 servermonkey3 kernel: tveeprom: audio processor is CX23888 (idx 40)
Jun 30 15:24:38 servermonkey3 kernel: tveeprom: decoder processor is CX23888 (idx 34)
Jun 30 15:24:38 servermonkey3 kernel: tveeprom: has radio, has IR receiver, has no IR transmitter
Jun 30 15:24:38 servermonkey3 kernel: cx23885: cx23885[0]: warning: unknown hauppauge model #150339
Jun 30 15:24:38 servermonkey3 kernel: cx23885: cx23885[0]: hauppauge eeprom: model=150339
Jun 30 15:24:38 servermonkey3 kernel: cx25840 2-0044: cx23888 A/V decoder found @ 0x88 (cx23885[0])
Jun 30 15:24:39 servermonkey3 kernel: cx25840 2-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes)
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885[0]: registered device video0 [v4l2]
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885[0]: registered device vbi0
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885[0]: alsa: registered ALSA audio device
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885_dvb_register() allocating 1 frontend(s)
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885[0]: cx23885 based dvb card
Jun 30 15:24:39 servermonkey3 kernel: m88ds3103 0-0069: Unknown device. Chip_id=71
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885[0]: frontend initialization failed
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885_dvb_register() dvb_register failed err = -22
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885_dev_setup() Failed to register dvb adapters on VID_B
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885_dvb_register() allocating 1 frontend(s)
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885[0]: cx23885 based dvb card
Jun 30 15:24:39 servermonkey3 kernel: i2c i2c-0: Added multiplexed i2c bus 3
Jun 30 15:24:39 servermonkey3 kernel: si2168 0-0064: Silicon Labs Si2168-D60 successfully identified
Jun 30 15:24:39 servermonkey3 kernel: si2168 0-0064: firmware version: D 6.0.1
Jun 30 15:24:39 servermonkey3 kernel: si2157 1-0060: Silicon Labs Si2157 successfully attached
Jun 30 15:24:39 servermonkey3 kernel: dvbdev: DVB: registering new adapter (cx23885[0])
Jun 30 15:24:39 servermonkey3 kernel: cx23885 0000:04:00.0: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885_dev_checkrevision() Hardware revision = 0xd0
Jun 30 15:24:39 servermonkey3 kernel: cx23885: cx23885[0]/0: found at 0000:04:00.0, rev: 4, irq: 33, latency: 0, mmio: 0xfb200000

 


 

Now I can see the DVB-T tuner (single adapter in /dev/dvb), but the DVB-S tuner is not present.  It looks like it's still not properly detecting the card, and so not loading the correct part for that second tuner the card has.

 

Looking at the Linux TV wiki for this card , the card I have appears to be a newer revision (C6I6) than the previous C316.  I've found one other thread (with no answers) on Stackoverflow that suggests there's also a C5I6 floating around with similar model numbering.

 

Key differences that stand out in my logs vs the output in the linuxtv wiki:

  • Expecting subsystem 0070:f038 but the newer cards have 0070:f039
  • Expecting model 150329 where it is now 150339 (though I don't think this makes a difference looking at the kernel source), just throws a warning.
  • The chip ID of the DVB-S tuner seems to be different (71 vs 64) so this could be the real issue if it's using a new chip.

Trying to connect some dots from source, it looks like the driver used for the DVB-S tuner in the older card is M88DS3103 and it uses the chip_id to switch between either the M88DS3103 or the M88RS6000 (the latter being what the 5525 uses).  These are defined in linux/drivers/media/dvb-frontends/m88ds3103_priv.h (M88RS6000_CHIP_ID etc.).  As it doesn't have a definition for 0x71, it just waves goodbye and moves on to the next tuner.

 

This is where I run dry on knowledge.  Is this something I can patch locally for just dvb on unraid, or something I'm going to need to raise at the kernel level to hopefully get a change/fix implemented?  Is there any way I can fool it into trying against a different chip_id to see if it's still compatible with the existing driver (there's no distinction in versions on WinTV's site, so I'd hope it would still be).

Link to comment
14 minutes ago, falo said:

Looking at the Linux TV wiki for this card , the card I have appears to be a newer revision (C6I6) than the previous C316.  I've found one other thread (with no answers) on Stackoverflow that suggests there's also a C5I6 floating around with similar model numbering.

Please post your Diagnostics so that I can look into this more in depth.

 

Where do you want to use the card? Plex, TVHeadend?

  • Like 1
Link to comment
9 minutes ago, ich777 said:

Did you also added the device /dev/dvb in the container template (please note that I mean as device and not as path).

 

Have you done that already?

Just changed it to device to check - both ways around headend sees /dev/dvb/adapter0, which is the DVB-T2 tuner in the card and the only adapter listed under /dev/dvb from an unraid shell following the probe.  The expectation is that there should be one additional adapter to represent the DVB-S tuner from the card

Link to comment
22 minutes ago, falo said:

both ways around headend sees /dev/dvb/adapter0, which is the DVB-T2 tuner in the card

This should be a combination from two cards I think, I'll have to investigate further, anyways always pass through the main device directory /dev/dvb and never /dev/dvb/adapterN because this will over complicate things.

 

I will report back ASAP, have to look into this.

 

EDIT: Because I've saw it, please remove your entry from the go file and instead add this line to your syslinux.config:

cx23885.card=52

This is a bit more user friendly.

 

Should look something like that:

grafik.thumb.png.34916c0206f1e97b2d822bbb86769014.png

Link to comment
26 minutes ago, ich777 said:

This should be a combination from two cards I think, I'll have to investigate further, anyways always pass through the main device directory /dev/dvb and never /dev/dvb/adapterN because this will over complicate things.

 

I will report back ASAP, have to look into this.

Oh yeah, definitely giving it the full /dev/dvb - I feel like if I've decided to split individual adapters across different dockers then I should just be rethinking my setup!

 

The LinuxTV wiki suggests there should be two (the Si 2168/57 for DVB-T/DVB-C) and the Montage for the DVB-S).  I'm sure in my desperate searching last night I found a picture of both listed side by side in a TVHeadend install but can't for the life of me find it now.  It may have been an oddly specific dream.

 

No rush though, it's one of many projects I'm playing with.  Wasn't expecting you to look at this so soon, so thanks!

 

[Edit] I'm not going mad, which is a good start.  There was one in this very thread (but I'm assuming it's one of the earlier card revisions).

 

[Edit 2] Just saw your syslinux note and have amended accordingly.  Feels much better than having it probe, fail, I unload, then reprobe so ta!

Edited by falo
Found the picture
  • Like 1
Link to comment
9 minutes ago, falo said:

No rush though, it's one of many projects I'm playing with.  Wasn't expecting you to look at this so soon, so thanks!

I'm currently on vacation but support first... :D

 

I see one thing here:

Jun 30 16:50:25 servermonkey3 kernel: m88ds3103 0-0069: Unknown device. Chip_id=71

 

I think this chip is responsible for DVB-S in your case since it's a DVB-S chip: Click

 

Have you also seen my previous post about removing the modifications in your go file?

Link to comment
33 minutes ago, falo said:

Oh yeah, definitely giving it the full /dev/dvb

Have you yet tried card=59?

I know it's a different card but it has the exact same chip as your combo card for DVB-S

 

TBH I really don't like these Hauppauge cards... :D

They can get pretty complicated fast... :P

 

Is there maybe a firmware update for the card available? I can't imagine that this is how it should work.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.