Hi,

I have a Twinhan Starbox 1 and it doesn't work with the courent driver. I've 
read somewhere that the only difference between the Starbox 2, which should 
work with the dvb-usb-vp702x module, and the Starbox 1 is that the hardware 
pid filter can't be turned of for the Starbox 1. So i looked at the code and i 
saw that there is allready code for the pid filter and i only needed to enable 
it with the patch i attached to get  it work. I've tested it with kaffeine and 
it works good for me.
I don't know how to differentiate between Version 1 and 2. afaik even the usb 
product id is the same. So maybe the best would be to implement the pid filter 
but don't add "DVB_USB_ADAP_NEED_PID_FILTERING" to caps. So nothing changes 
for Starbox 2 owners and people who have a Starbox 1 can get it working by 
setting the option "force_pid_filter_usage=1" for the dvb-usb module.
I've attached the output from lsusb so maybe someone knows how to differentiate 
betewwn the Versions

diff -u -r v4l-dvb-493ed02d8330.orig/linux/drivers/media/dvb/dvb-usb/vp702x.c 
v4l-dvb-493ed02d8330/linux/drivers/media/dvb/dvb-usb/vp702x.c
--- v4l-dvb-493ed02d8330.orig/linux/drivers/media/dvb/dvb-usb/vp702x.c  
2009-07-04 13:15:11.000000000 +0200
+++ v4l-dvb-493ed02d8330/linux/drivers/media/dvb/dvb-usb/vp702x.c       
2009-07-06 
12:08:28.307330278 +0200
@@ -144,15 +144,15 @@
        return 0;
 }
 
-#if 0
-static int vp702x_pid_filter_ctrl(struct dvb_usb_device *adap, int onoff)
+static int vp702x_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff)
 {
 //     u8 b;
 //     return vp702x_usb_in_op(d,0xe0, ((!onoff) << 8) | 0x0e, 0, &b, 1);
+       vp702x_set_pld_mode(adap, onoff);
        return 0;
 }
 
-static int vp702x_pid_filter(struct dvb_usb_device *adap, int index, u16 pid, 
int onoff)
+static int vp702x_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, 
int onoff)
 {
 #if 0
        struct vp702x_state *st = adap->priv;
@@ -173,9 +173,9 @@
 
        vp702x_check_pid_filter(d);
 #endif
+       vp702x_set_pid(adap, pid, index, onoff);
        return 0;
 }
-#endif
 
 static int vp702x_init_pid_filter(struct dvb_usb_adapter *adap)
 {
@@ -309,7 +309,12 @@
        .num_adapters = 1,
        .adapter = {
                {
-                       .caps             = DVB_USB_ADAP_RECEIVES_204_BYTE_TS,
+                       .caps             = DVB_USB_ADAP_RECEIVES_204_BYTE_TS | 
+                       DVB_USB_ADAP_HAS_PID_FILTER, //| 
DVB_USB_ADAP_NEED_PID_FILTERING,
+
+                       .pid_filter_count = 8,
+                       .pid_filter_ctrl  = vp702x_pid_filter_ctrl,
+                       .pid_filter       = vp702x_pid_filter,
 
                        .streaming_ctrl   = vp702x_streaming_ctrl,
                        .frontend_attach  = vp702x_frontend_attach,


r...@laptop:/# lsusb -d 13d3:3207 -v  

Bus 001 Device 005: ID 13d3:3207 IMC Networks DTV-DVB UDST7020BDA DVB-S 
Box(DVBS for MCE2005)
Device Descriptor:                                                              
             
  bLength                18                                                     
             
  bDescriptorType         1                                                     
             
  bcdUSB               2.00                                                     
             
  bDeviceClass            0 (Defined at Interface level)                        
             
  bDeviceSubClass         0                                                     
             
  bDeviceProtocol         0                                                     
             
  bMaxPacketSize0        64                                                     
             
  idVendor           0x13d3 IMC Networks                                        
             
  idProduct          0x3207 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)     
             
  bcdDevice            2.09                                                     
             
  iManufacturer           1                                                     
             
  iProduct                2                                                     
             
  iSerial                 3                                                     
             
  bNumConfigurations      1                                                     
             
  Configuration Descriptor:                                                     
             
    bLength                 9                                                   
             
    bDescriptorType         2                                                   
             
    wTotalLength           32                                                   
             
    bNumInterfaces          1                                                   
             
    bConfigurationValue     1                                                   
             
    iConfiguration          0                                                   
             
    bmAttributes         0xc0                                                   
             
      Self Powered                                                              
             
    MaxPower              100mA                                                 
             
    Interface Descriptor:                                                       
             
      bLength                 9                                                 
             
      bDescriptorType         4                                                 
             
      bInterfaceNumber        0                                                 
             
      bAlternateSetting       0                                                 
             
      bNumEndpoints           2                                                 
             
      bInterfaceClass       255 Vendor Specific Class                           
             
      bInterfaceSubClass      0                                                 
             
      bInterfaceProtocol      0                                                 
             
      iInterface              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             100
      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
Device Status:     0x0001
  Self Powered
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to