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
Attachment:
lsusb_a800.old
Description: application/trash
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
_______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb