[linux-dvb] Grandtech USB2.0 DVB-T (DiBcom 3000P based) won't tune
Scott Ashcroft
scott.ashcroft at talk21.com
Fri Oct 28 19:34:09 CEST 2005
I've got one of these and I've patched up the dibusb-mc driver to recongnise it.
Only the vendor ID is different from the reference design. The product IDs both
cold and warm are unchanged from the reference.
Every thing seems to work and the firmware loads:
usb 1-1: new high speed USB device using ehci_hcd and address 2
dvb-usb: found a 'Grandtec USB2.0 DVB-T Stick' in cold state, will try to load a
firmware
dvb-usb: downloading firmware from file 'dvb-usb-dibusb-6.0.0.8.fw' to the
'Cypress FX2'
dvb-usb: Grandtec USB2.0 DVB-T Stick successfully initialized and connected.
usbcore: registered new driver dvb_usb_dibusb_mc
usb 1-1: USB disconnect, address 2
dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
usb 1-1: new high speed USB device using ehci_hcd and address 3
dvb-usb: found a 'Grandtec USB2.0 DVB-T Stick' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (Grandtec USB2.0 DVB-T Stick).
dib3000: Found a DiBcom 3000P.
DVB: registering frontend 0 (DiBcom 3000P/M-C DVB-T)...
dvb-usb: schedule remote query interval to 150 msecs.
dvb-usb: Grandtec USB2.0 DVB-T Stick successfully initialized and connected.
but attempting to tune just goes:
$ scan -vv ./uk-TheWrekin
scanning uk-TheWrekin
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 474000000 0 3 0 1 0 0 0
initial transponder 554000000 0 2 0 3 0 0 0
initial transponder 498166670 0 2 0 3 0 0 0
initial transponder 522166670 0 3 0 1 0 0 0
initial transponder 730000000 0 3 0 1 0 0 0
initial transponder 762000000 0 3 0 1 0 0 0
>>> tune to: 474000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_16:TR
ANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
>>> tuning status == 0x00
>>> tuning status == 0x00
>>> tuning status == 0x00
>>> tuning status == 0x00
>>> tuning status == 0x00
>>> tuning status == 0x00
>>> tuning status == 0x00
>>> tuning status == 0x00
>>> tuning status == 0x00
>>> tuning status == 0x00
and so on.
What can I do next to get this working? I suspect some sort of firmware issue
since I've read that these sticks use the firmware for tuning rather than
hitting the frontend directly. Can I re-extract the firmware from the windows
driver?
I've opened it up and can confirm the it really does have a DiBcom 3000P inside.
The frontend is an MT352 and the USB interface is a cypress.
lsusb -v for the device says:
Bus 001 Device 003: ID 5032:0bc7 Grandtec
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x5032 Grandtec
idProduct 0x0bc7
bcdDevice 0.01
iManufacturer 1 STAE
iProduct 2 MOD3000
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 46
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 4
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
after the firmware has loaded.
Cheers,
Scott
More information about the linux-dvb
mailing list