[Plugin] DVB-Driver


ich777

Recommended Posts

3 hours ago, ich777 said:

Exactly, because the go file is executed every time the server boots and with this you ensure they are there.

 

But what would be ultimately be my goal is to install everything on the host and then pass the "devices" /dev/dvbX to the container as usual (this should also work like if you pass through any other DVB  card to a container or am I wrong?) and also check if eg: /dev/dvb0 is already there and create a new device for at the next free /dev/dvbX slot.

 

this does not work with our devices, they need to be installed either on the host (for host use) or in the docker image (for docker image use).

The driver process uses shared memory and sys-v IPC, and that will be blocked between docker and the host.

Link to comment
30 minutes ago, Sundtek said:

The driver process uses shared memory and sys-v IPC, and that will be blocked between docker and the host.

Ah okay, got it, then the installation needs to be done in the Docker container.

If you want to I can write a plugin which actually takes care of the creation from the dummy adapters and the mknod.

Link to comment
3 hours ago, ich777 said:

Ah okay, got it, then the installation needs to be done in the Docker container.

If you want to I can write a plugin which actually takes care of the creation from the dummy adapters and the mknod.

Hmmm, so should I wait with the manual installation of the Sundtek drivers until they have landed in your plugin?

Link to comment
3 hours ago, ich777 said:

Ah okay, got it, then the installation needs to be done in the Docker container.

This means, however, that the Sundtek drivers must be (re)installed every time the container (image AKA app) is updated, right? Because changes in the container are not persistent.

Link to comment
3 hours ago, JoergHH said:

This means, however, that the Sundtek drivers must be (re)installed every time the container (image AKA app) is updated, right? Because changes in the container are not persistent.

 

it's only about the device nodes on the host.

You can install the driver already.

 

When rebooting the system you might have to repeat step #1 , this part will change because it only creates dummy device nodes in /dev/dvb

Step #2 will persist.

Edited by Sundtek
  • Like 2
Link to comment
7 hours ago, JoergHH said:

Because changes in the container are not persistent.

Because the Sundtek script installs everything inside the container to /config (which is mounted to your host) it does indeed persist container updates.

  • Like 1
Link to comment
8 hours ago, Sundtek said:

When rebooting the system you might have to repeat step #1 , this part will change because it only creates dummy device nodes in /dev/dvb

Step #2 will persist.

Is there any way or chance to make step #1 persistent as well?

Link to comment
5 minutes ago, JoergHH said:

Is there any way or chance to make step #1 persistent as well?

Yes, through a plugin or in the go file.

 

Give me a bit, I have no hardware on hand currently, I really want to make sure that it works which it obviously will, I would recommend that you do it like @Sundtek mentioned it here („or something like this“ method from the linked post) in the go file but before emhttp is started to make sure the devices are there before all other services from Unraid start.

Link to comment
26 minutes ago, knex666 said:

I am very interested on how you build such plugins, is there a tutorial or video on that?

No tutorial or video on that... :/

What do you want to know exactly? How the build process is done for the packages or how the plugins are built in general?

Everything should be on my GitHub, at least I try to put everything there, even how I compile the packages.

 

I'm more than happy to help, hit me up with a PM and we can talk a bit more in depth if you want too. :)

Link to comment
On 11/2/2022 at 10:19 AM, ich777 said:

Good news for all TBS users!

Thank you so much for that. I finally pushed the button and installed 6.11.2 and as expected, all seems to be working well.

Very much appreciated!

  • Like 1
Link to comment
On 11/3/2022 at 5:44 PM, ich777 said:

Yes, through a plugin or in the go file.

 

Give me a bit, I have no hardware on hand currently, I really want to make sure that it works which it obviously will, I would recommend that you do it like @Sundtek mentioned it here („or something like this“ method from the linked post) in the go file but before emhttp is started to make sure the devices are there before all other services from Unraid start.

 

The sample device will be shipped early next week, we just finished the assembly of the latest MediaTV Pro (DVB-C/T/T2/AnalogTV/FM Radio/S-Video/Composite) devices

  • Like 2
Link to comment
  • 3 weeks later...

Hi all, 

I've been trying for hours to get my Hauppauge WinTV-dualHD running in Unraid with Plex in Docker. 
I installed the DVB-Driver-Plugin, used the package from LibreELEC and restarted the server. In Unraid, the stick now seems to be recognized.

 

In the Plex container I set --device=/dev/dvb as an extra parameter.

 

But in Plex the device is still not recognized.

 

What can I do?

 

Enclosed the excerpt from lsusb

 

Bus 001 Device 013: ID 2040:0265 Hauppauge WinTV-dualHD DVB
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x2040 Hauppauge
  idProduct          0x0265 WinTV-dualHD DVB
  bcdDevice            1.00
  iManufacturer           3 HCW
  iProduct                1 dualHD
  iSerial                 2 0013909362
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0037
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x

 

Thanks already for the help and hints. 

 

1.jpg

2.jpg

Link to comment
On 11/29/2022 at 9:42 PM, ich777 said:

Please use the official Docker container, AFAIK and also a few other people reported that the binhex container doesn't support it.

 

Wow, thank you very much, I would probably never have thought of that. 

  • Like 1
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.