Driver for dvb-T via usb : 1164:2efc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux