WinTV-dualHD USB Ubuntu 21.04 -- cannot add tuner

Server Version#: 1.22.3.4523-d0ce30438 (Ubuntu 21.04 kernel 5.11.0-17-generic)
Player Version#:
Tuner Make/Model: WinTV dualHD USB
Guide/Lineup name:
Using XMLTV?: no
Channel number/Name:

Hey there,

I recently upgraded to Ubuntu 21.04/Hirsute and my TV tuner stopped working. I went to go re-add, the “Scan Channels” UI does nothing/hangs forever.

Inputs: the tuner, Antenna, country=Ireland, postcode=D15.

I captured these logs from the web console:

May 23, 2021 14:48:34.428 [0x7f1e2b7fe640] Debug — [Grabber] HTTP requesting GET http://127.0.0.1:32600/devices/compound_device085dvb%23v4l%23%2fsys%2fdevices%2fpci0000%3a00%2f0000%3a00%3a02.1%2f0000%3a01%3a00.0%2fusb1%2f1-2%2f1-2%3a1.0%3a0011569677/scanners
May 23, 2021 14:48:34.449 [0x7f1e2b7fe640] Debug — [Grabber] HTTP/1.1 (0.0s) 200 response from GET http://127.0.0.1:32600/devices/compound_device085dvb%23v4l%23%2fsys%2fdevices%2fpci0000%3a00%2f0000%3a00%3a02.1%2f0000%3a01%3a00.0%2fusb1%2f1-2%2f1-2%3a1.0%3a0011569677/scanners
May 23, 2021 14:48:34.451 [0x7f1e2b7fe640] Debug — [Grabber] Grabber: Found 63 scanners.
May 23, 2021 14:48:34.451 [0x7f1e2b7fe640] Debug — [Grabber] Grabber: Filtered to 1 scanners.
May 23, 2021 14:48:34.451 [0x7f1e2b7fe640] Debug — [Grabber] Grabber: We're left with 1 settings.
May 23, 2021 14:48:34.451 [0x7f1e2b7fe640] Debug — [Grabber] Grabber: We need to return the settings for the client to fill out.

And from Plex Tuner Service.log there is some wonkiness:

May 23, 2021 14:47:00.087 [0x7f6bd97fa640] INFO - [I] web_service_t::process_device_discovery
May 23, 2021 14:47:00.087 [0x7f6bd97fa640] INFO - [I] device_reactor_t::get_device_list ()
May 23, 2021 14:47:00.087 [0x7f6bd97fa640] INFO - [I] dvb_device_factory_t::get_device_list ()
May 23, 2021 14:47:02.090 [0x7f6bd97fa640] INFO - [I] SAT2IP - discover_satip_servers(): no servers found
May 23, 2021 14:47:02.508 [0x7f6bd97fa640] INFO - [I] v4l::DeviceGetList_impl. getting v4l device list
May 23, 2021 14:47:02.508 [0x7f6bd97fa640] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter0/frontend0
May 23, 2021 14:47:02.509 [0x7f6bd97fa640] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter1/frontend0
May 23, 2021 14:47:02.511 [0x7f6bd97fa640] INFO - [I] dvb_device_factory_t::get_device_list. Id dvb#v4l#0#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:0, Name dualHD, Standards 3
May 23, 2021 14:47:02.511 [0x7f6bd97fa640] INFO - [I] dvb_device_factory_t::get_device_list. Id dvb#v4l#0#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:1, Name dualHD, Standards 3
May 23, 2021 14:47:02.511 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx >>
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 8256:33381
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 2821:6457
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 7531:3
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 7531:3
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 1133:50475
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 4176:278
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 7531:3
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 1507:1552
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 7531:2
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 7531:2
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] onetv_factory::DeviceGetListEx. Found device 7531:2
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] device_manager_t::get_device_list. Device dualHD, id dvb#v4l#0#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:0, tuners 1, state 0, standards 3
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] device_manager_t::get_device_list. Device dualHD, id dvb#v4l#0#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:1, tuners 1, state 0, standards 3
May 23, 2021 14:47:02.512 [0x7f6bd97fa640] INFO - [I] web_service_t::process_compound_devices. Merged 2 tuners for device dvb#v4l#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:0011569677
... wonk following ...
May 23, 2021 14:47:02.569 [0x7f6bd9ffb640] INFO - [I] web_service_t::process_device_status
May 23, 2021 14:47:02.569 [0x7f6bd9ffb640] INFO - [I] device_reactor_t::get_device_list (dvb#v4l#/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb3/3-1/3-1:1.0:0011569677)
May 23, 2021 14:47:02.569 [0x7f6bd9ffb640] INFO - [I] dvb_device_factory_t::get_device_list (dvb#v4l#/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb3/3-1/3-1:1.0:0011569677)
May 23, 2021 14:47:02.569 [0x7f6bd9ffb640] INFO - [I] v4l::DeviceGetList_impl. getting v4l device list
May 23, 2021 14:47:02.569 [0x7f6bd9ffb640] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter0/frontend0
May 23, 2021 14:47:02.569 [0x7f6bd9ffb640] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter1/frontend0
May 23, 2021 14:47:02.572 [0x7f6bd9ffb640] WARN - [E] web_service_t::get_device_status. Failed to make compound device for device uuid dvb#v4l#/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb3/3-1/3-1:1.0:0011569677

The WARN line is very strange – as it references a new and incorrect(?) USB path (usb3/3-{1,2} instead of usb1/1-{1,2}). I am not sure if it’s related or a red herring.

I was able to verify the tuner works with w_scan -c IE (the output looks reasonable for Ireland).

Any ideas? :slight_smile:

Reinstall the package and let it re-write the udev rules.
( The OS upgrade erased what was there previously )

Thanks for the tip! Sadly, no luck =(

I did

apt reinstall plexmediaserver

It looks like the postinst script creates two files:

  1. /lib/udev/rules.d/60-tv-butler.rules
  2. /lib/udev/rules.d/60-plex-hw-transcoding.rules

I verified both are present and look right. I also rebooted just in case. Unfortunately the “Awaiting Channel Scan” UI still hangs, no amount of pressing Scan Channels does anything.

The wonk in Plex Tuner Service.log (around the usb device ids) is still there :confused: I’ve attached the full log just in case it’s helpful (and it’s clean since the reboot rotation).

Plex Tuner Service.log (27.7 KB)

Can you confirm that user plex:plex is able to read the USB devices ?

I ask this because if udev isn’t working right, then there is something going on.

Is there a method you had in mind to test?

I see the following in the tuner log:

May 23, 2021 17:50:37.647 [0x7fe6167fc640] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter0/front
end0
May 23, 2021 17:50:37.648 [0x7fe6167fc640] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter1/front
end0

Also I tried the following which strongly suggests the answer is “yes”:

  • Verified /dev/dvb/* is writable by the video group, and verified plex is a member of video
  • Ran w_scan as user plex in order to verify the user has the right permissions.
% ls -la /dev/dvb/adapter0
total 0
drwxr-xr-x  2 root root     120 May 23 17:50 ./
drwxr-xr-x  4 root root      80 May 23 17:50 ../
crw-rw----+ 1 root video 212, 1 May 23 17:50 demux0
crw-rw----+ 1 root video 212, 2 May 23 17:50 dvr0
crw-rw----+ 1 root video 212, 0 May 23 17:50 frontend0
crw-rw----+ 1 root video 212, 3 May 23 17:50 net0
% grep video /etc/group
video:x:44:plex
% sudo su plex -s /bin/bash
$ w_scan -c IE
w_scan version 20170107 (compiled for DVB API 5.11)
using settings for IRELAND
Country identifier IE not defined. Using defaults.
scan type TERRESTRIAL, channellist 4
output format vdr-2.0
WARNING: could not guess your codepage. Falling back to 'UTF-8'
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
	/dev/dvb/adapter0/frontend0 -> TERRESTRIAL "Silicon Labs Si2168": very good :-))

Using TERRESTRIAL frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.11
frontend 'Silicon Labs Si2168' supports
DVB-T2
INVERSION_AUTO
QAM_AUTO
TRANSMISSION_MODE_AUTO
GUARD_INTERVAL_AUTO
HIERARCHY_AUTO
FEC_AUTO
BANDWIDTH_AUTO not supported, trying 6/7/8 MHz.
FREQ (48.00MHz ... 870.00MHz)
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Scanning DVB-T...
Scanning 8MHz frequencies...
474000: (time: 00:05.847)
482000: (time: 00:07.891)
490000: (time: 00:09.947)
498000: (time: 00:11.959)
506000: (time: 00:13.975)
...
(wherein it is able to successfully scan the channels)
(time: 03:55.717) dumping lists (24 services)
..
Tithe an Oireachtais;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:1101+8190=27:1201=eng@3:1301:0:1101:8564:1001:0
RTÉ2;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:1102+8190=27:1202=eng@3,1502=iri,1402=nar:1302:0:1102:8564:1001:0
Virgin Media 1;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:1103+8190=27:1203=eng@3,1403=nar:1303:0:1103:8564:1001:0
TG4;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:1104+8190=27:1204=iri@3,1404=nar:1304:0:1104:8564:1001:0
RTÉ News;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:1105+8190=27:1205=eng@3:1305:0:1105:8564:1001:0
Virgin Media 2;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:1106+8190=27:1206=eng@3,1406=nar:1306:0:1106:8564:1001:0
2rn;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:1189+8190=27:1228=eng@3,1229=iri,1489=nar:0:0:1189:8564:1001:0
RTÉ Radio 1;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:0:1226=eng@3:0:0:1226:8564:1001:0
RTÉ 2FM;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:0:1227=eng@3:0:0:1227:8564:1001:0
RTÉ Lyric;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:0:1228=eng@3:0:0:1228:8564:1001:0
RTÉ Raidió na Gaeltachta;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:0:1229=iri@3:0:0:1229:8564:1001:0
RTÉ Radio 1 Extra;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:0:1230=eng@3:0:0:1230:8564:1001:0
RTÉ Pulse;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:0:1231=eng@3:0:0:1231:8564:1001:0
RTÉ 2XM;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:0:1232=eng@3:0:0:1232:8564:1001:0
RTÉ Junior;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:0:1233=eng@3:0:0:1233:8564:1001:0
RTÉ Gold;RTÉNL:546000:B8C23D0G32M64T8Y0:T:27500:0:1234=eng@3:0:0:1234:8564:1001:0
RTÉ One;RTÉNL:570000:B8C23D0G32M64T8Y0:T:27500:2101+8190=27:2201=eng@3,2501=iri,2401=nar:2301:0:2101:8564:1002:0
RTÉ2 +1;RTÉNL:570000:B8C23D0G32M64T8Y0:T:27500:2102+8190=27:2202=eng@3,2502=iri,2402=nar:2302:0:2102:8564:1002:0
Virgin Media 3;RTÉNL:570000:B8C23D0G32M64T8Y0:T:27500:2103+8190=27:2203=eng@3,2403=nar:2303:0:2103:8564:1002:0
;RTÉNL:570000:B8C23D0G32M64T8Y0:T:27500:2104+8190=27:2204=eng@3,2404=nar:0:0:2104:8564:1002:0
RTÉ Junior;RTÉNL:570000:B8C23D0G32M64T8Y0:T:27500:2107+8190=27:2207=eng@3,2407=nar:2307:0:2107:8564:1002:0
RTÉ One +1;RTÉNL:570000:B8C23D0G32M64T8Y0:T:27500:2111+8190=27:2211=eng@3,2511=iri,2411=nar:2311:0:2111:8564:1002:0
Saorview Information;RTÉNL:570000:B8C23D0G32M64T8Y0:T:27500:2118+8190=27:2218=eng@3:0:0:2118:8564:1002:0
Radio Maria Ireland;RTÉNL:570000:B8C23D0G32M64T8Y0:T:27500:0:2241=eng@3:0:0:2241:8564:1002:0
Done, scan time: 03:55.717

thank you for that listing.

Make certain plex is a member of group video . (/etc/group)

Confirmed, plex is a member of video:

% grep video /etc/group
video:x:44:plex

Would you please restart Plex,
Wait 2 minutes,
Download the Logs ZIP file

and attach it please?

I would like to see what’s happening during startup. Something is VERY fishy

Sure. Here you are.

Plex Media Server Logs_2021-05-23_21-31-15.zip (1.5 MB)

Thanks.

I will deep dive on this.

I’ll reply as soon as I can (nearing dinner time here)

Thank you for the logs.

I can see PMS is finding and adding two tuners.

Are these the two which should exist ?

May 23, 2021 21:29:40.384 [0x7fc22a7fc640] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter0/frontend0
May 23, 2021 21:29:40.385 [0x7fc22a7fc640] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter1/frontend0
May 23, 2021 21:29:40.387 [0x7fc22a7fc640] INFO - [I] dvb_device_factory_t::get_device_list. Id dvb#v4l#0#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:0, Name dualHD, Standards 3
May 23, 2021 21:29:40.387 [0x7fc22a7fc640] INFO - [I] dvb_device_factory_t::get_device_list. Id dvb#v4l#0#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:1, Name dualHD, Standards 3
May 23, 2021 21:29:40.387 [0x7fc22a7fc640] INFO - [I] device_manager_t::get_device_list. Device dualHD, id dvb#v4l#0#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:0, tuners 1, state 0, standards 3
May 23, 2021 21:29:40.387 [0x7fc22a7fc640] INFO - [I] device_manager_t::get_device_list. Device dualHD, id dvb#v4l#0#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:1, tuners 1, state 0, standards 3

My next question is to investigate whether Ubuntu 21.04 moved their addresses and PMS might looking for them at a different card address.

Yes, it’s a dual tuner USB device. That sysfs path looks right – and exists.

The Plex Tuner Service.log has weird log entries where it mysteriously swaps usb1/1-2 in the sysfs path with usb3/3-1, and tries and fails to make a compound device.

See these log snippets (usb1/1-2 becomes mysteriously usb3/3-1, but the compound ID of 0011569677 stays the same.

May 23, 2021 21:29:18.447 [0x7fc22bfff640] INFO - [I] web_service_t::process_compound_devices. Merged 2 tuners for device dvb#v4l#/sys/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-2/1-2:1.0:0011569677
...
May 23, 2021 21:29:18.505 [0x7fc22affd640] INFO - [I] device_reactor_t::get_device_list (dvb#v4l#/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb3/3-1/3-1:1.0:0011569677)
May 23, 2021 21:29:18.505 [0x7fc22affd640] INFO - [I] dvb_device_factory_t::get_device_list (dvb#v4l#/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb3/3-1/3-1:1.0:0011569677)
May 23, 2021 21:29:18.508 [0x7fc22affd640] WARN - [E] web_service_t::get_device_status. Failed to make compound device for device uuid dvb#v4l#/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb3/3-1/3-1:1.0:0011569677

Note that there is nothing in the /sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb3 path – it’s empty.

I did a little digging. It looks like the device serial number (0011569677) is used to formulate the “compound device” as in the log above.

On my system, the device is on USB bus 001, device 003. I was wondering if the Plex Tuner Service or possibly libusb is calculating the sysfs path incorrectly, and if this is how we ended up with usb3/3-1/3-1:1.0 (poss from 001:003 ?) in the above error message.

# lsusb -s 001:003 -v
Bus 001 Device 003: ID 2040:8265 Hauppauge dualHD
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x2040 Hauppauge
  idProduct          0x8265
  bcdDevice            1.00
  iManufacturer           3 HCW
  iProduct                1 dualHD
  iSerial                 2 0011569677
  bNumConfigurations      1

Sorry for the delay in responding,

I’ve been looking into that and concur with your thinking.
I think libusb is calculating incorrectly.

I state this because all the other instances of Ubuntu work correctly.
21.04 is only 7 weeks old. Has the first major update been released yet ?

I don’t think there’s been a major update yet :slight_smile:

So, your update prompted me to try this on an older Ubuntu version. I made a surprise finding. Here’s what I did:

  1. Setup a Ubuntu 20.10 (the older release) VM. I cheated a bit as I already had one around.
  2. Passed the USB tuner through to it.
  3. Installed plexmediaserver v1.22.3.4523-d0ce30438 from the apt repo.
  4. Tried setup via http://localhost:32400/web

What I found is that this appears to be a web player bug introduced somewhere between 4.54.5 and 4.57.4. Using 4.54.5, I was able to complete DVR setup successfully on the original box (running the newer Ubuntu). The USB bits seem to be red herrings.

I would note: a key difference I observed between the old UI and the new UI was that the old UI asked me about which frequency range to scan (e.g; the Irish frequency range, or the full European range). The new UI never asked – so I’m wondering if this wasn’t plumbed through.

You might want to update to 1.23.1.4571

It specifically addresses tuner issues (Plex/web)

I have the same issue: I have an EyeTV Diversity (USB dual-tuner) and whenever I press the “scan channels” button nothing apparently happens and all I get in the log is this (once every time I press “scan channels”):

May 27, 2021 23:42:14.832 [0xffff9c3d5b08] INFO - [I] web_service_t::process_get_scanners
May 27, 2021 23:42:14.833 [0xffff9c3d5b08] INFO - [I] v4l::DeviceGetList_impl. getting v4l device list
May 27, 2021 23:42:14.833 [0xffff9c3d5b08] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter0/frontend0
May 27, 2021 23:42:14.835 [0xffff9c3d5b08] INFO - [I] v4l::DeviceGetList_impl. Successfully opened frontend /dev/dvb/adapter1/frontend0

I am on Arch Linux, Plex version 1.23.2.4600, the user “plex” is a member of the “video” group. I have also run successfully w_scan2 under the “plex” user.

Thanks @ChuckPa. I tried 1.23.1.4571 and it does not fix it.

The old web client version (4.54.5) that shipped with the prior release does work for setup. There is one key difference that I noticed in the setup flows, the old UI will prompt me for the frequency range to scan (see screenshot).

The new UI doesn’t prompt, it just hangs.

Did you also check that Plex is a member of the group which owns the USB devices ?

I am starting to suspect this is more of a packaging issue / not setting up correctly.

EDIT: The Plex/Web team is looking at it now. I’m awaiting their reply.

I got feedback.

I’m sorry but this isn’t a nice reply.

  1. Use the previous version to setup the DVR
  2. Upgrade PMS to this current version
  3. KEEP the existing DVR setup

This setup got lost in their updating. They’re going to fix it ASAPbut that will require time to put it back in.

I’m sorry.

1 Like