Hi, I've recently buyed a Emtec 810S DVB-T usb dongle and tried to make it work, operation which ended quite satisfactory. So i would like to share my knowledge with your team as your drivers development effort also helped me to render my Usb Stick usable. I've downloaded the actual status of the mercurial at : http://linuxtv.org/hg/v4l-dvb and modified the source to add the usb ids to the driver : - At the time of doing "hg clone", the head was : changeset: 7115:3f704aa9d92e tag: tip date: Tue Jan 29 16:32:35 2008 -0200 - The patch is attached (if you don't like attachments in this mailing list, all my apologies) I'm running linux kernel 2.6.23.14, using distro Debian Etch, kaffeine as a TV viewer. So I compiled the drivers and did overwrite (make install) the current kernel modules. I placed the firmware file dvb-usb-dib0700-03-pre1.fw from Patrick Boettcher in /lib/firmware, following the renaming recommendation (dvb-usb-dib0700-1.10.fw). So now everything is working quite fine. The only issue is that after some channel zapping or even immediately, the tuner does no longer respond, kaffeine hangs, modules cannot be unloaded even with rmmod -f (the dongle being disconnected). The lsusb command hangs also. Only rebooting helps (and sucks). kernel messages at startup are : Feb 1 17:34:47 aroos kernel: usb 1-5: new high speed USB device using ehci_hcd and address 5 Feb 1 17:34:47 aroos kernel: usb 1-5: configuration #1 chosen from 1 choice Feb 1 17:34:48 aroos kernel: dib0700: loaded with support for 7 different device-types Feb 1 17:34:48 aroos kernel: dvb-usb: found a 'Emtec S810' in cold state, will try to load a firmware Feb 1 17:34:48 aroos kernel: dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.10.fw' Feb 1 17:34:48 aroos kernel: dib0700: firmware started successfully. Feb 1 17:34:49 aroos kernel: dvb-usb: found a 'Emtec S810' in warm state. Feb 1 17:34:49 aroos kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. Feb 1 17:34:49 aroos kernel: DVB: registering new adapter (Emtec S810) Feb 1 17:34:49 aroos kernel: DVB: registering frontend 0 (DiBcom 7000PC)... Feb 1 17:34:49 aroos kernel: DiB0070: successfully identified Feb 1 17:34:49 aroos kernel: dvb-usb: Emtec S810 successfully initialized and connected. Feb 1 17:34:49 aroos kernel: usbcore: registered new interface driver dvb_usb_dib0700p The lsusb output is attached. The chips on the board are : DIBcom 7070PB1-AXGXba-G-a and DIBcom 0700C-XCXXa-G I would be most grateful if someone has an idea about improving the stability of the driver. Also I've found in the archives a thread : http://www.linuxtv.org/pipermail/linux-dvb/2007-January/015525.html involving Patrick Boettcher and Michael Wünscher about a similar device (I had the same driver information under Windows). Maybe the conclusions here would also help that other topic, however I did not see the USB Ids from these messages in dvb-usb-ids.h Thank in advance for your help and time ! Best regards, Alain Roos (Alsace / France)
diff -r 3f704aa9d92e linux/drivers/media/dvb/dvb-usb/dib0700_devices.c --- a/linux/drivers/media/dvb/dvb-usb/dib0700_devices.c Tue Jan 29 16:32:35 2008 -0200 +++ b/linux/drivers/media/dvb/dvb-usb/dib0700_devices.c Fri Feb 01 17:33:52 2008 +0100 @@ -794,7 +794,7 @@ static struct dib7000p_config dib7070p_d /* STK7070P */ static int stk7070p_frontend_attach(struct dvb_usb_adapter *adap) { - dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); + dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1);//mod_AR msleep(10); dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); @@ -905,6 +905,7 @@ struct usb_device_id dib0700_usb_id_tabl { USB_DEVICE(USB_VID_ASUS, USB_PID_ASUS_U3100) }, /* 25 */ { USB_DEVICE(USB_VID_HAUPPAUGE, USB_PID_HAUPPAUGE_NOVA_T_STICK_3) }, { USB_DEVICE(USB_VID_HAUPPAUGE, USB_PID_HAUPPAUGE_MYTV_T) }, + { USB_DEVICE(USB_VID_YUANRD, USB_PID_YUANRD_STK7700D) }, { 0 } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table); @@ -1121,7 +1122,29 @@ struct dvb_usb_device_properties dib0700 .rc_interval = DEFAULT_RC_INTERVAL, .rc_key_map = dib0700_rc_keys, .rc_key_map_size = ARRAY_SIZE(dib0700_rc_keys), - .rc_query = dib0700_rc_query + .rc_query = dib0700_rc_query + + }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, + + .num_adapters = 1, + .adapter = { + { + .frontend_attach = stk7070p_frontend_attach, + .tuner_attach = dib7070p_tuner_attach, + + DIB0700_DEFAULT_STREAMING_CONFIG(0x02), + + .size_of_priv = sizeof(struct dib0700_adapter_state), + }, + }, + + .num_device_descs = 1, + .devices = { + { "Emtec S810", + { &dib0700_usb_id_table[27], NULL }, + { NULL }, + }, + }, }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, diff -r 3f704aa9d92e linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h --- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h Tue Jan 29 16:32:35 2008 -0200 +++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h Wed Jan 30 22:29:16 2008 +0100 @@ -48,6 +48,7 @@ #define USB_VID_WIDEVIEW 0x14aa /* dom : pour gigabyte u7000 */ #define USB_VID_GIGABYTE 0x1044 +#define USB_VID_YUANRD 0x1164 /* Product IDs */ @@ -187,5 +188,6 @@ #define USB_PID_GIGABYTE_U7000 0x7001 #define USB_PID_ASUS_U3000 0x171f #define USB_PID_ASUS_U3100 0x173f +#define USB_PID_YUANRD_STK7700D 0x2edc #endif
Bus 001 Device 005: ID 1164:2edc YUAN High-Tech Development Co., Ltd Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1164 YUAN High-Tech Development Co., Ltd idProduct 0x2edc bcdDevice 1.00 iManufacturer 1 YUANRD iProduct 2 STK7700D iSerial 3 0000000001 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 46 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup 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 1 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 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 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 Device Status: 0x0000 (Bus Powered)
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb