Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#12547 closed Bug Report - General (fixed)

DVB-S2 PCIe card overlays the attributes of other adaptors

Reported by: jksjdevelop@… Owned by: Stuart Auchterlonie
Priority: minor Milestone: 0.28
Component: MythTV - Mythtv-setup Version: Master Head
Severity: medium Keywords: dvb-s2 pcie
Cc: Ticket locked: no

Description

Master head Nov 16, 2015 8c346f51beadcc3ee9e5ebaf4ce88182d16a7df7 os 3.19.0-33-generic ubuntu 14.04.3 (also tested in Wily)

My PCIe based DVB-S2 failed and I replaced it with a DVBSky S950. On attempting to configure the card in mythtv-setup this problem arose. With only the PCIe card fitted configuration is fine - no problems. With both the PCIe card fitted and an external USB tuner fitted the latter adapter cannot be configured. Mythtv-setup iterates correctly through the adapters ie 0,1,102,106 in this case but the attributes for only the PCIe card are shown. As the Sky card has had a chequered history with Mythtv, I put the old card back in : a TBS-6920 and this showed the same issue. A work round is to configure the USB tuner on its own. Then add the PCIe card, being careful not to re-configure the other device. Both adapters then work perfectly.

Hardware config

lsdvb

SMI PCIe driver (1:3038 4254:550) on PCI Domain:0 Bus:6 Device:0 Function:0

DEVICE:0 ADAPTER:0 FRONTEND:0 (Montage M88DS3103)

FE_QPSK Fmin=950MHz Fmax=2150MHz

DEVICE:0 ADAPTER:1 FRONTEND:0 (Sony CXD2820R)

FE_OFDM Fmin=45MHz Fmax=864MHz

ls -l /dev/dvb/*

/dev/dvb/adapter0: #the PCIE DVBS2 CARD

crw-rw----+ 1 root video 212, 0 Nov 17 10:38 demux0

crw-rw----+ 1 root video 212, 1 Nov 17 10:38 dvr0

crw-rw----+ 1 root video 212, 3 Nov 17 10:38 frontend0

crw-rw----+ 1 root video 212, 2 Nov 17 10:38 net0

/dev/dvb/adapter1: #the USB card crw-rw----+ 1 root video 212, 5 Nov 17 10:38 demux0

crw-rw----+ 1 root video 212, 6 Nov 17 10:38 dvr0

crw-rw----+ 1 root video 212, 4 Nov 17 10:38 frontend0

crw-rw----+ 1 root video 212, 7 Nov 17 10:38 net0

/dev/dvb/adapter102: #link to the USB card created with udev rule

lrwxrwxrwx 1 root root 18 Nov 17 10:38 demux0 -> ../adapter1/demux0

lrwxrwxrwx 1 root root 16 Nov 17 10:38 dvr0 -> ../adapter1/dvr0

lrwxrwxrwx 1 root root 21 Nov 17 10:38 frontend0 -> ../adapter1/frontend0

lrwxrwxrwx 1 root root 16 Nov 17 10:38 net0 -> ../adapter1/net0

/dev/dvb/adapter106: #link to the PCIE DVBS2 CARD created with udev rule

lrwxrwxrwx 1 root root 18 Nov 17 10:38 demux0 -> ../adapter0/demux0

lrwxrwxrwx 1 root root 16 Nov 17 10:38 dvr0 -> ../adapter0/dvr0

lrwxrwxrwx 1 root root 21 Nov 17 10:38 frontend0 -> ../adapter0/frontend0

lrwxrwxrwx 1 root root 16 Nov 17 10:38 net0 -> ../adapter0/net0

I rebuilt and tested myth 0.27 which does not exhibit this problem.

I am attempting to bisect master and can confirm that the problem was introduced between Sep 4th and Nov 16th and am currently trying to narrow that window. There is no related information in the logs.

Change History (15)

comment:1 Changed 9 years ago by jksjdevelop@…

mythtv-setup version: (detached from 8894d68) [v0.28-pre-3091-g8894d68]

The bisect narrowed to 8894d68 Fixes #12342. Adds support for non auto switching tuners. stuarta committed on 30 Sep. My C is not good enough to see the hole in the logic but it is worth noting that the PCIe tuner is DVB-S2 and the USB tuner is DVB-T2.

DVBSky S950 V3 - DVB-S2

PCTV nanoStick T2 290e - DVB-T2

Thanks for all the great work.

comment:2 Changed 9 years ago by jksjdevelop@…

ok I plugged in an old Nova t DVB-T1 usb tuner - this is recognised correctly, even with the DVB-S2 card present. So the fault only applies to the PCTV nanoStick T2 290e - DVB-T2.

comment:3 Changed 9 years ago by Stuart Auchterlonie

Milestone: unknown0.28
Owner: changed from JYA to Stuart Auchterlonie
Status: newaccepted

Can you elaborate on what you mean by the card attributes are overlayed?

As I understand what you are saying, the usb tuner is incorrectly re-using some attributes which actually belong to the pci-e card.

Is that correct?

Which attributes do you observe this on?

Regards Stuart

comment:4 Changed 9 years ago by jksjdevelop@…

High - I now think the PCIe card thing is a red herring. The problem is that Setup no longer understands the PCTV Nanostick and is just displaying the last valid data it had in the Frontend ID field which happens to be for the card at /dev/dvb/adapter0:

I had not actually tried the Nanostick on its own. When working round the problem I restored a good database, deleted the old PCIe card and then setup the new one being careful not to open the entries for the PCTV nanostick as they were showing the erroneous data in the Frontend ID field.

Just tried it on the laptop with just the Nanostick on its own.

usb (0:0 1:0) on PCI Domain:-1036478584 Bus:32631 Device:-1038682504 Function:32631

DEVICE:0 ADAPTER:0 FRONTEND:0 (Sony CXD2820R)

FE_OFDM Fmin=45MHz Fmax=864MHz

Frontend ID: and Subtype are both blank but Signal Timeout is set to 500 and Tuning Timeout to 3000 so it certainly knows its a DVB card.

tv@tv:~$ dvb-fe-tool
INFO     Device Sony CXD2820R (/dev/dvb/adapter0/frontend0) capabilities:
INFO          CAN_2G_MODULATION
INFO          CAN_FEC_1_2
INFO          CAN_FEC_2_3
INFO          CAN_FEC_3_4
INFO          CAN_FEC_5_6
INFO          CAN_FEC_7_8
INFO          CAN_FEC_AUTO
INFO          CAN_GUARD_INTERVAL_AUTO
INFO          CAN_HIERARCHY_AUTO
INFO          CAN_INVERSION_AUTO
INFO          CAN_MULTISTREAM
INFO          CAN_MUTE_TS
INFO          CAN_QAM_16
INFO          CAN_QAM_32
INFO          CAN_QAM_64
INFO          CAN_QAM_128
INFO          CAN_QAM_256
INFO          CAN_QAM_AUTO
INFO          CAN_QPSK
INFO          CAN_TRANSMISSION_MODE_AUTO
INFO     DVB API Version 5.10, Current v5 delivery system: DVBT
INFO     Supported delivery systems: 
INFO         [DVBT]
INFO          DVBT2
INFO          DVBC/ANNEX_A

Please rename the ticket appropriately as the issue is with this 'DVB-T2' card.

Many thanks John

comment:5 Changed 9 years ago by J.Pilk@…

I also have a PCTV-290e, currently in a box running [v0.28-pre-3165-g8c346f5] *buntu trusty. It has been working well, but I confirm that its name is no longer displayed in the card setup page. Theme used is MythCenter?-Wide.

I just performed my usual 'all known transports' scan with no apparent problems.

$ dmesg | grep adapter
[ 18.199805] DVB: registering new adapter (em28174 #0)
[ 18.199812] usb 2-2: DVB: registering adapter 0 frontend 0 (Sony CXD2820R)...

$ uname -rsvp Linux 3.16.0-53-generic #72~14.04.1-Ubuntu SMP Fri Nov 6 18:17:23 UTC 2015 x86_64

comment:6 Changed 9 years ago by J.Pilk@…

I just tried plugging a DVB-T (only) TwinHan? 704J usb stick into a laptop with a similar *buntu master installation. mythtv-setup.real displayed its AF9013 identifier and DVB-T Subtype, but no FrontendID or Subtype was shown when I tried the 290e.

When I last tried using the TwinHan?, about a month ago, the recordings weren't good. SD recordings from the 290e were defect-free, as are HD ones when I choose those channels. I didn't spend time experimenting.

comment:7 Changed 9 years ago by J.Pilk@…

This thread is linked to the same device and symptoms:

http://www.gossamer-threads.com/lists/mythtv/dev/595273#595273

Quoting StuartA

"Hmmm, looks like it's not applying the schedorder & livetvorder to all the multirec devices."

comment:8 Changed 9 years ago by David Engel <dengel@…>

Resolution: fixed
Status: acceptedclosed

In c82d65daf4d6e6e19551f3bd194e3db0ab0ebce8/mythtv:

Fix the clearing of sched/livetvorder in virtual tuners.

Fixes #12547

comment:9 Changed 9 years ago by jksjdevelop@…

Original fault with reading the ID of the PCTV-290e is unchanged in v0.28-pre-3506-g4f02b2f of 30/1/16

comment:10 Changed 9 years ago by Stuart Auchterlonie

Resolution: fixed
Status: closednew

Re-opening as the previous change fixes a different problem

comment:11 Changed 9 years ago by J.Pilk@…

I just fired up an older 32-bit laptop running 0.28-pre-2575-g6dfbb43 built 2015Jan30

It shows FrontendID: SonyCXD2820R Subtype: DVB-T

$ dmesg | grep adapter DVB: registering new adapter (em28174 #0) usb 1-4: DVB: registering adapter 0 frontend 0 (Sony CXD2820R)...

$ uname -r 3.10.96-1.el6.elrepoNONPAE.i686

$ cat /etc/redhat-release Scientific Linux release 6.7 (Carbon)

comment:12 Changed 9 years ago by Stuart Auchterlonie

So doing some digging on this. My dvb-t2 adapter is adapter2 on my system. After adding some debugging code, it's querying the frontend for adapter2 (correct), twice (incorrect), getting the right data (correct), then going and querying adapter0 (incorrect), several times (incorrect).

The fact that it's querying adapter0, rather than the correct adapter would explain why users are reporting that it's taking on the information of the other adapter (ie adapter0)

Investigation continues

comment:13 Changed 9 years ago by Stuart Auchterlonie <stuarta@…>

Resolution: fixed
Status: newclosed

In a92dcfe4fa7b17c414c8f0ed682062ad3d7ba726/mythtv:

Fixes #12547 Load cardname and type for DVB-T2 cards.

comment:14 Changed 9 years ago by J.Pilk@…

Yes: That appears to have fixed it for my DVB-T2 and DVB-T usb devices and the buntu ppa build. Thank you.

I'm seeing this, too. I know I don't need DiSEqC but wonder if the trigger warning is significant.

2016-02-02 11:28:41.835397 W DiSEqCDevTree: No device tree for cardid 1 2016-02-02 11:28:41.958816 A TriggeredConfigurationGroup::triggerChanged(Failed to probe) Error:Failed to locate value in triggerMap

comment:15 Changed 9 years ago by Stuart Auchterlonie

That warning comes out every time there isn't a diseqc tree.

Realistically, only dvb-s / s2 setups need diseqc, but the code currently tries to find one for *all* DVB cards, which isn't correct.

Shouldn't be too hard to fix.

Note: See TracTickets for help on using tickets.