[linux-dvb] AverTV A800 trouble

Martin Habbecke M.Habbecke at gmx.de
Fri Jun 30 00:14:50 CEST 2006


Hi Klaus and Patrick,

at first I'd like to thank you both for the quick help! I finally managed to 
do some tests with the two patches of Klaus. The result: the first one works, 
the second (cleaner?) one does not work for me as is. The newer device (with 
USB ID 07ca:a800) works nicely with the patch. After plugging it in I get

--------------------------------
usb 1-1: new high speed USB device using ehci_hcd and address 5
usb 1-1: configuration #1 chosen from 1 choice
dvb-usb: found a 'AVerMedia AverTV DVB-T USB 2.0 (A800)' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software 
demuxer.
DVB: registering new adapter (AVerMedia AverTV DVB-T USB 2.0 (A800)).
dib3000: Found a DiBcom 3000P.
DVB: registering frontend 0 (DiBcom 3000P/M-C DVB-T)...
input: IR-receiver inside an USB DVB receiver as /class/input/input4
dvb-usb: schedule remote query interval to 150 msecs.
dvb-usb: AVerMedia AverTV DVB-T USB 2.0 (A800) successfully initialized and 
connected.
--------------------------------

However, connecting the old device (with ID 07ca:a801) gives me

--------------------------------
usb 1-1: new high speed USB device using ehci_hcd and address 6
usb 1-1: configuration #1 chosen from 1 choice
dvb-usb: found a 'AVerMedia AverTV DVB-T USB 2.0 (A800)' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software 
demuxer.
DVB: registering new adapter (AVerMedia AverTV DVB-T USB 2.0 (A800)).
dvb-usb: bulk message failed: -22 (6/0)
dvb-usb: bulk message failed: -22 (6/0)
dvb-usb: bulk message failed: -22 (6/0)
dvb-usb: bulk message failed: -22 (6/0)
dvb-usb: bulk message failed: -22 (6/0)
dvb-usb: no frontend was attached by 'AVerMedia AverTV DVB-T USB 2.0 (A800)'
input: IR-receiver inside an USB DVB receiver as /class/input/input5
dvb-usb: schedule remote query interval to 150 msecs.
dvb-usb: AVerMedia AverTV DVB-T USB 2.0 (A800) successfully initialized and 
connected.
dvb-usb: error while querying for an remote control event.
dvb-usb: error while querying for an remote control event.
--------------------------------

The last message is repeated every few seconds and the system gets extremely 
unresponsive to keyboard input until I disconnect the device again. 
Furthermore the blue LED does not turn on.

The problem why the patch does not work is actually quite trivial: When 
the dvb_usb_a800 module is NOT loaded, lsusb tells me the SAME ID 07ca:a800 
for both devices. After loading the module, the old device switches its ID to 
a7ca:a801, the new device keeps its ID. So it is probably not possible to 
distinguish between the two devices using the IDs.

To make this mail even longer I did a "lsusb -v" for both devices with no 
driver loaded. The results are attached. Out of curiosity I modified Klaus' 
second patch the following way. Instead of

*cold=!(udev->descriptor.idProduct == 0xa800);

the new check is

*cold=!(udev->descriptor.iManufacturer == 1);

Since this field is 0 for the old device this makes BOTH devices work!! While 
I don't believe that this is the best way to do the distinction, I still 
think that we are getting closer to a solution. Thanks again for the help so 
far! Any comments?

Greetings,
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lsusb_a800.old
Type: application/x-trash
Size: 9518 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20060630/b5d0d9f2/lsusb_a800-0001.old
-------------- next part --------------
Bus 001 Device 008: ID 07ca:a800 AVerMedia Technologies, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x07ca AVerMedia Technologies, Inc.
  idProduct          0xa800 
  bcdDevice            0.00
  iManufacturer           1 AVerTV
  iProduct                2 A800
  iSerial                 3 000000000000
  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


More information about the linux-dvb mailing list