[linux-dvb] Nebula DigiTV USB slave DVB-T is not working

Andy Clark list.linux-dvb at dairylogic.co.uk
Sun Jun 29 17:37:48 CEST 2008


On Mon, 2008-03-24 at 13:08 +0000, Mark Himsley wrote:
> Hi,
> 
> I have two Nebula DigiTV master DVB-T USB devices and one slave device.
> All three worked in Windows in any combination (so long as a master was 
> also attached if the slave was).
> 
> In Linux the two masters work perfectly, I can make multiple recordings
> off two multiplexes in MythTV. I cannot make the slave work though.
> 
> Attached is the output of `sudo lsusb -v >
> digiTV-slave-master-master.txt` - Bus 005 Device 008 is the
> slave and Bus 5 device  006 and 004 are the masters.
> 
> Attached is also the end of /var/log/syslog showing the moment the slave
> is connected. I am interested that the slave device mentions an
> IR-receiver, I thought only the masters had that (perhaps the salve is
> only lacking the actual IR receiver component from the PCB).
> 
> I can use tzap on all three devices and they achieve lock and report
> similar signal strength & snr and report ber & unc are both zero.
> 
> Currently I have the two master devices plugged in first so they are
> /dev/dvb/adapter0 and 1, and the slave device plugged in last so it is
> dev/dvb/adapter2.
> 
> The problem I am seeing is that I cannot get any data out of
> /dev/dvb/adapter2/dvr0.
> 
> If I `tzap -a 2 -r 'BBC ONE'` in one terminal and `cat
> /dev/dvb/adapter2/dvr0 > temp.ts` for ten seconds I get a grand total of
> zero bytes. If I do the same to adapter 0 or 1 I get lots of bytes.
> 
> I also have an issue when I unplug the slave device, /dev/dvb/adapter2/*
> does not disappear and I need to reboot, so I have also attached the end
> of /var/log/syslog when the device is removed.
> 
> Is this a known issue or can I provide any further information to get 
> this working.

I can confirm that I'm seeing a very similar issue (minus the problems
when unplugging and reconnecting the device) with the same hardware.
However, I have only one slave device and no master devices, so I'm not
able to test in Windows - of course, the slave device should work
without restriction (in theory!) in Linux.

With a manually-created "channels.conf" file for the UK / Crystal Palace
transmitter (verified with another card) I'm able to use tzap to tune to
"BBC ONE", and I receive the following output:

-------------------------
[root at languid adapter0]# tzap -c ~aclark/channels.conf "BBC ONE"
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 505833330 Hz
video pid 0x0258, audio pid 0x0259
status 00 | signal 400f | snr 0000 | ber 00000000 | unc 00000000 | 
status 1e | signal 000f | snr cbcb | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1e | signal 002f | snr c9c9 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1e | signal 000f | snr cece | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1e | signal 007f | snr cbcb | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1e | signal 000f | snr c6c6 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
-------------------------

The channels.conf file is as follows:

-------------------------
BBC ONE:505833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:600:601:4164
-------------------------

Once tuned, "dvbtraffic" produces no output. Cancelling the tzap and
running "dvbstream -f 505833 -v 600 -a 601 -o" produces the following
debug output:

-------------------------
[root at languid dvbstream-0.5]# ./dvbstream -f 505833 -v 600 -a 601 -o
dvbstream v0.5 - (C) Dave Chapman 2001-2004
Released under the GPL.
Latest version available from http://www.linuxstb.org/
Using DVB card "Zarlink MT352 DVB-T"
tuning DVB-T (in United Kingdom) to 505833000 Hz
polling....
Getting frontend event
FE_STATUS:
polling....
Getting frontend event
FE_STATUS: FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
Event:  Frequency: 516433000
        SymbolRate: 0
        FEC_inner:  3

Bit error rate: 0
Signal strength: 15
SNR: 52428
FE_STATUS: FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
Setting filter for PID 600
Setting filter for PID 601
Output to stdout
Streaming 2 streams
-------------------------

As with dvbtraffic, dvbstream produces no output to STDOUT.

When running "scandvb -vvv -5 -n <path to mux file>" I see:

-------------------------
[root at languid adapter0]# scandvb -5 -vvv -n /usr/local/src/dvb-apps/util/scan/dvb-t/uk-CrystalPalace 
scanning /usr/local/src/dvb-apps/util/scan/dvb-t/uk-CrystalPalace
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 505833000 0 3 9 1 0 0 0
initial transponder 481833000 0 2 9 3 0 0 0
initial transponder 561833000 0 2 9 3 0 0 0
initial transponder 529833000 0 3 9 1 0 0 0
initial transponder 578167000 0 3 9 1 0 0 0
initial transponder 537833000 0 3 9 1 0 0 0
>>> tune to: 505833000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
>>> tuning status == 0x00
>>> tuning status == 0x1e
WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010
WARNING: filter timeout pid 0x0010
>>> tune to: 481833000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
>>> tuning status == 0x1e
WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010
WARNING: filter timeout pid 0x0010
>>> tune to: 561833000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
>>> tuning status == 0x1e
WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010
WARNING: filter timeout pid 0x0010
>>> tune to: 529833000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
>>> tuning status == 0x1e
WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010
WARNING: filter timeout pid 0x0010
>>> tune to: 578167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
>>> tuning status == 0x1e
WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010
WARNING: filter timeout pid 0x0010
>>> tune to: 537833000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
>>> tuning status == 0x1e
WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010
WARNING: filter timeout pid 0x0010
dumping lists (0 services)
Done.
-------------------------

The contents of my MUX reference file, used by scandvb/dvbscan is :

-------------------------
# UK, Crystal Palace
# Auto-generated from http://www.dtg.org.uk/retailer/dtt_channels.html
# and http://www.ofcom.org.uk/static/reception_advice/index.asp.html
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 505833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
T 481833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
T 561833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
T 529833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
T 537833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-------------------------

I should mention that I've never been able to get the slave device
working in Linux. I have seen it work in the past in Windows, as at one
time I did have a DigiTV PCI card (which is a master device by default
in terms of the Nebula software), but the PCI card stopped working long
ago due to a hardware fault.

I do wonder if the problem might be with the firmware. However, that's
only a hunch and I have no way to confirm either way, mostly because
debugging something like that is way out of my league. :)

Mark - Maybe you can do some of the above tests if you haven't already
to try and confirm if the issue is consistent for multiple slave
devices.

Thanks,

Andy Clark.

> plain text document attachment (syslog-insert)
> Mar 24 11:48:22 bedroom kernel: [760308.452226] usb 5-8: new high speed USB device using ehci_hcd and address 7
> Mar 24 11:48:22 bedroom kernel: [760308.584562] usb 5-8: configuration #1 chosen from 1 choice
> Mar 24 11:48:22 bedroom kernel: [760308.584630] dvb-usb: found a 'Nebula Electronics uDigiTV DVB-T USB2.0)' in cold state, will try to load a firmware
> Mar 24 11:48:22 bedroom NetworkManager: <debug> [1206359302.601952] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1'). 
> Mar 24 11:48:22 bedroom kernel: [760308.634520] dvb-usb: downloading firmware from file 'dvb-usb-digitv-02.fw'
> Mar 24 11:48:22 bedroom kernel: [760308.665416] usb 5-8: USB disconnect, address 7
> Mar 24 11:48:22 bedroom kernel: [760308.668126] dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
> Mar 24 11:48:22 bedroom NetworkManager: <debug> [1206359302.932929] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial'). 
> Mar 24 11:48:22 bedroom NetworkManager: <debug> [1206359302.937207] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial'). 
> Mar 24 11:48:22 bedroom NetworkManager: <debug> [1206359302.944824] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1'). 
> Mar 24 11:48:24 bedroom kernel: [760310.419189] usb 5-8: new high speed USB device using ehci_hcd and address 8
> Mar 24 11:48:24 bedroom kernel: [760310.551578] usb 5-8: string descriptor 0 read error: -22
> Mar 24 11:48:24 bedroom kernel: [760310.551701] usb 5-8: string descriptor 0 read error: -22
> Mar 24 11:48:24 bedroom kernel: [760310.551783] usb 5-8: configuration #1 chosen from 1 choice
> Mar 24 11:48:24 bedroom kernel: [760310.551976] dvb-usb: found a 'Nebula Electronics uDigiTV DVB-T USB2.0)' in warm state.
> Mar 24 11:48:24 bedroom kernel: [760310.551997] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
> Mar 24 11:48:24 bedroom kernel: [760310.552091] DVB: registering new adapter (Nebula Electronics uDigiTV DVB-T USB2.0)).
> Mar 24 11:48:24 bedroom kernel: [760310.567197] DVB: registering frontend 2 (Zarlink MT352 DVB-T)...
> Mar 24 11:48:24 bedroom kernel: [760310.567616] input: IR-receiver inside an USB DVB receiver as /class/input/input8
> Mar 24 11:48:24 bedroom kernel: [760310.567638] dvb-usb: schedule remote query interval to 1000 msecs.
> Mar 24 11:48:24 bedroom kernel: [760310.567641] dvb-usb: Nebula Electronics uDigiTV DVB-T USB2.0) successfully initialized and connected.
> Mar 24 11:48:24 bedroom NetworkManager: <debug> [1206359304.569962] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1'). 
> Mar 24 11:48:24 bedroom NetworkManager: <debug> [1206359304.627292] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1_if0'). 
> Mar 24 11:48:24 bedroom NetworkManager: <debug> [1206359304.693741] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1_dvb'). 
> Mar 24 11:48:24 bedroom NetworkManager: <debug> [1206359304.694330] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1_dvb_0'). 
> Mar 24 11:48:24 bedroom NetworkManager: <debug> [1206359304.694911] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1_dvb_1'). 
> Mar 24 11:48:24 bedroom NetworkManager: <debug> [1206359304.695472] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1_dvb_2'). 
> Mar 24 11:48:24 bedroom NetworkManager: <debug> [1206359304.724135] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1_usbraw'). 
> Mar 24 11:48:24 bedroom NetworkManager: <debug> [1206359304.819362] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1_logicaldev_input'). 

I see the following:

Jun 29 14:43:57 languid kernel: usb 1-1.1.1: new high speed USB device using ehci_hcd and address 15
Jun 29 14:43:57 languid kernel: usb 1-1.1.1: configuration #1 chosen from 1 choice
Jun 29 14:43:57 languid kernel: dvb-usb: found a 'Nebula Electronics uDigiTV DVB-T USB2.0)' in cold state, will try to load a firmware
Jun 29 14:43:57 languid kernel: dvb-usb: downloading firmware from file 'dvb-usb-digitv-02.fw'
Jun 29 14:43:57 languid kernel: usb 1-1.1.1: New USB device found, idVendor=0547, idProduct=0201
Jun 29 14:43:57 languid kernel: usb 1-1.1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Jun 29 14:43:57 languid kernel: usb 1-1.1.1: USB disconnect, address 15
Jun 29 14:43:57 languid kernel: dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
Jun 29 14:43:59 languid kernel: usb 1-1.1.1: new high speed USB device using ehci_hcd and address 16
Jun 29 14:43:59 languid kernel: usb 1-1.1.1: string descriptor 0 read error: -22
Jun 29 14:43:59 languid kernel: usb 1-1.1.1: string descriptor 0 read error: -22
Jun 29 14:43:59 languid kernel: usb 1-1.1.1: configuration #1 chosen from 1 choice
Jun 29 14:43:59 languid kernel: dvb-usb: found a 'Nebula Electronics uDigiTV DVB-T USB2.0)' in warm state.
Jun 29 14:43:59 languid kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Jun 29 14:43:59 languid kernel: DVB: registering new adapter (Nebula Electronics uDigiTV DVB-T USB2.0))
Jun 29 14:43:59 languid kernel: DVB: registering frontend 0 (Zarlink MT352 DVB-T)...
Jun 29 14:43:59 languid kernel: input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:0b.1/usb1/1-1/1-1.1/1-1.1.1/input/input9
Jun 29 14:43:59 languid kernel: dvb-usb: schedule remote query interval to 1000 msecs.
Jun 29 14:43:59 languid kernel: dvb-usb: Nebula Electronics uDigiTV DVB-T USB2.0) successfully initialized and connected.
Jun 29 14:43:59 languid kernel: usb 1-1.1.1: New USB device found, idVendor=0547, idProduct=0201
Jun 29 14:43:59 languid kernel: usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0

> plain text document attachment (syslog-remove)
> Mar 24 12:47:43 bedroom kernel: [763867.512043] usb 5-8: USB disconnect, address 8
> Mar 24 12:47:43 bedroom kernel: [763867.523684] dvb-usb: recv bulk message failed: -22
> Mar 24 12:47:43 bedroom kernel: [763867.523695] dvb-usb: bulk message failed: -22 (7/-1)
> Mar 24 12:47:43 bedroom kernel: [763867.523697] dvb-usb: bulk message failed: -22 (7/-1)
> Mar 24 12:47:43 bedroom kernel: [763867.523957] dvb-usb: bulk message failed: -22 (7/7)
> Mar 24 12:47:43 bedroom NetworkManager: <debug> [1206362863.397312] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/usb_device_547_201_noserial_1_logicaldev_input'). 

I see no error when disconnecting:

Jun 29 16:20:48 languid kernel: usb 1-1.1.1: USB disconnect, address 16
Jun 29 16:20:48 languid kernel: dvb-usb: Nebula Electronics uDigiTV DVB-T USB2.0) successfully deinitialized and disconnected.




More information about the linux-dvb mailing list