public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* Regarding bulk transfers on stk1160
@ 2012-11-13 13:56 Ezequiel Garcia
  2012-11-13 14:05 ` Gordon Hollingworth
  2012-11-13 14:58 ` Greg KH
  0 siblings, 2 replies; 7+ messages in thread
From: Ezequiel Garcia @ 2012-11-13 13:56 UTC (permalink / raw)
  To: linux-media; +Cc: michael hartup, linux-rpi-kernel

Hello,

A user (Michael Hartup in Cc) wants to use stk1160 on low power, low
cost devices (like raspberrypi).

At the moment raspberrypi can't stream using isoc urbs due to problems
with usb host driver (dwc-otg)
preventing it from achieving the required throughput.
For instance, on my rpi setup I can stream (using dd) at 16MB/s; but
at least 20 MB/s are required.

Having read that bulk transfers may work better with rpi usb driver, I
decided to try to implement
those at stk1160. However, I later discovered stk1160 doesn't have any
bulk endpoint (see lsusb below).
(I'm no expert, but I assume lack of bulk endpoint means I can't use
bulk urbs, right?).

We could use a lower alternate setting, but unless we know how to
reduce device frame rate
or frame size, this won't work. If there's anyone from syntek reading
this, we would appreciate
to have some information on this issue.

If anyone can think of something to solve this, or make a suggestion
on another low cost, low power board
to use, I'm sure Michael would appreciate it.

Thanks!

    Ezequiel

---

Bus 002 Device 006: ID 05e1:0408 Syntek Semiconductor Co., Ltd STK1160
Video Capture Device
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x05e1 Syntek Semiconductor Co., Ltd
  idProduct          0x0408 STK1160 Video Capture Device
  bcdDevice            0.05
  iManufacturer           1
  iProduct                2
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          251
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0300  1x 768 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03fc  1x 1020 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       3
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       4
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0c00  2x 1024 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       5
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0
      iInterface             11
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           38
        bInCollection           1
        baInterfaceNr( 0)       2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0602 Digital Audio Interface
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               3
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 3
        bSourceID               1
        bControlSize            1
        bmaControls( 0)      0x01
          Mute Control
        iFeature                0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface             11
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface             11
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           2
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        48000
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0100  1x 256 bytes
        bInterval               4
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bLockDelayUnits         0 Undefined
          wLockDelay              0 Undefined

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regarding bulk transfers on stk1160
  2012-11-13 13:56 Regarding bulk transfers on stk1160 Ezequiel Garcia
@ 2012-11-13 14:05 ` Gordon Hollingworth
  2012-11-13 15:15   ` Ezequiel Garcia
  2012-11-13 14:58 ` Greg KH
  1 sibling, 1 reply; 7+ messages in thread
From: Gordon Hollingworth @ 2012-11-13 14:05 UTC (permalink / raw)
  To: Ezequiel Garcia, linux-media, michael hartup, linux-rpi-kernel

Might see if I can get hold of one of these, is there a commercial device name?

Gordon

On 13/11/2012, Ezequiel Garcia <elezegarcia@gmail.com> wrote:
> Hello,
>
> A user (Michael Hartup in Cc) wants to use stk1160 on low power, low
> cost devices (like raspberrypi).
>
> At the moment raspberrypi can't stream using isoc urbs due to problems
> with usb host driver (dwc-otg)
> preventing it from achieving the required throughput.
> For instance, on my rpi setup I can stream (using dd) at 16MB/s; but
> at least 20 MB/s are required.
>
> Having read that bulk transfers may work better with rpi usb driver, I
> decided to try to implement
> those at stk1160. However, I later discovered stk1160 doesn't have any
> bulk endpoint (see lsusb below).
> (I'm no expert, but I assume lack of bulk endpoint means I can't use
> bulk urbs, right?).
>
> We could use a lower alternate setting, but unless we know how to
> reduce device frame rate
> or frame size, this won't work. If there's anyone from syntek reading
> this, we would appreciate
> to have some information on this issue.
>
> If anyone can think of something to solve this, or make a suggestion
> on another low cost, low power board
> to use, I'm sure Michael would appreciate it.
>
> Thanks!
>
>     Ezequiel
>
> ---
>
> Bus 002 Device 006: ID 05e1:0408 Syntek Semiconductor Co., Ltd STK1160
> Video Capture Device
> Couldn't open device, some information will be missing
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               2.00
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0
>   bDeviceProtocol         0
>   bMaxPacketSize0        64
>   idVendor           0x05e1 Syntek Semiconductor Co., Ltd
>   idProduct          0x0408 STK1160 Video Capture Device
>   bcdDevice            0.05
>   iManufacturer           1
>   iProduct                2
>   iSerial                 0
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength          251
>     bNumInterfaces          3
>     bConfigurationValue     1
>     iConfiguration          0
>     bmAttributes         0x80
>       (Bus Powered)
>     MaxPower              500mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0000  1x 0 bytes
>         bInterval               5
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0000  1x 0 bytes
>         bInterval               1
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       1
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0002  1x 2 bytes
>         bInterval               5
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0300  1x 768 bytes
>         bInterval               1
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       2
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0002  1x 2 bytes
>         bInterval               5
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x03fc  1x 1020 bytes
>         bInterval               1
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       3
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0002  1x 2 bytes
>         bInterval               5
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               1
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       4
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0002  1x 2 bytes
>         bInterval               5
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0c00  2x 1024 bytes
>         bInterval               1
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       5
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0002  1x 2 bytes
>         bInterval               5
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x1400  3x 1024 bytes
>         bInterval               1
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        1
>       bAlternateSetting       0
>       bNumEndpoints           0
>       bInterfaceClass         1 Audio
>       bInterfaceSubClass      1 Control Device
>       bInterfaceProtocol      0
>       iInterface             11
>       AudioControl Interface Descriptor:
>         bLength                 9
>         bDescriptorType        36
>         bDescriptorSubtype      1 (HEADER)
>         bcdADC               1.00
>         wTotalLength           38
>         bInCollection           1
>         baInterfaceNr( 0)       2
>       AudioControl Interface Descriptor:
>         bLength                12
>         bDescriptorType        36
>         bDescriptorSubtype      2 (INPUT_TERMINAL)
>         bTerminalID             1
>         wTerminalType      0x0602 Digital Audio Interface
>         bAssocTerminal          0
>         bNrChannels             2
>         wChannelConfig     0x0003
>           Left Front (L)
>           Right Front (R)
>         iChannelNames           0
>         iTerminal               0
>       AudioControl Interface Descriptor:
>         bLength                 9
>         bDescriptorType        36
>         bDescriptorSubtype      3 (OUTPUT_TERMINAL)
>         bTerminalID             2
>         wTerminalType      0x0101 USB Streaming
>         bAssocTerminal          0
>         bSourceID               3
>         iTerminal               0
>       AudioControl Interface Descriptor:
>         bLength                 8
>         bDescriptorType        36
>         bDescriptorSubtype      6 (FEATURE_UNIT)
>         bUnitID                 3
>         bSourceID               1
>         bControlSize            1
>         bmaControls( 0)      0x01
>           Mute Control
>         iFeature                0
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        2
>       bAlternateSetting       0
>       bNumEndpoints           1
>       bInterfaceClass         1 Audio
>       bInterfaceSubClass      2 Streaming
>       bInterfaceProtocol      0
>       iInterface             11
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            5
>           Transfer Type            Isochronous
>           Synch Type               Asynchronous
>           Usage Type               Data
>         wMaxPacketSize     0x0000  1x 0 bytes
>         bInterval               1
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        2
>       bAlternateSetting       1
>       bNumEndpoints           1
>       bInterfaceClass         1 Audio
>       bInterfaceSubClass      2 Streaming
>       bInterfaceProtocol      0
>       iInterface             11
>       AudioStreaming Interface Descriptor:
>         bLength                 7
>         bDescriptorType        36
>         bDescriptorSubtype      1 (AS_GENERAL)
>         bTerminalLink           2
>         bDelay                  1 frames
>         wFormatTag              1 PCM
>       AudioStreaming Interface Descriptor:
>         bLength                11
>         bDescriptorType        36
>         bDescriptorSubtype      2 (FORMAT_TYPE)
>         bFormatType             1 (FORMAT_TYPE_I)
>         bNrChannels             2
>         bSubframeSize           2
>         bBitResolution         16
>         bSamFreqType            1 Discrete
>         tSamFreq[ 0]        48000
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            5
>           Transfer Type            Isochronous
>           Synch Type               Asynchronous
>           Usage Type               Data
>         wMaxPacketSize     0x0100  1x 256 bytes
>         bInterval               4
>         AudioControl Endpoint Descriptor:
>           bLength                 7
>           bDescriptorType        37
>           bDescriptorSubtype      1 (EP_GENERAL)
>           bmAttributes         0x00
>           bLockDelayUnits         0 Undefined
>           wLockDelay              0 Undefined
>
> _______________________________________________
> linux-rpi-kernel mailing list
> linux-rpi-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rpi-kernel
>

-- 
Sent from my mobile device

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regarding bulk transfers on stk1160
  2012-11-13 13:56 Regarding bulk transfers on stk1160 Ezequiel Garcia
  2012-11-13 14:05 ` Gordon Hollingworth
@ 2012-11-13 14:58 ` Greg KH
  2012-11-13 15:29   ` Mauro Carvalho Chehab
  2012-11-14 22:53   ` Ezequiel Garcia
  1 sibling, 2 replies; 7+ messages in thread
From: Greg KH @ 2012-11-13 14:58 UTC (permalink / raw)
  To: Ezequiel Garcia; +Cc: linux-media, michael hartup, linux-rpi-kernel

On Tue, Nov 13, 2012 at 10:56:48AM -0300, Ezequiel Garcia wrote:
> Hello,
> 
> A user (Michael Hartup in Cc) wants to use stk1160 on low power, low
> cost devices (like raspberrypi).
> 
> At the moment raspberrypi can't stream using isoc urbs due to problems
> with usb host driver (dwc-otg)
> preventing it from achieving the required throughput.
> For instance, on my rpi setup I can stream (using dd) at 16MB/s; but
> at least 20 MB/s are required.
> 
> Having read that bulk transfers may work better with rpi usb driver, I
> decided to try to implement
> those at stk1160. However, I later discovered stk1160 doesn't have any
> bulk endpoint (see lsusb below).
> (I'm no expert, but I assume lack of bulk endpoint means I can't use
> bulk urbs, right?).

Correct, you need to fix the rpi host controller driver in order to make
this work properly.  Please push back on the developers of that hardware
so we can get the specs to write a proper driver for it.

Or better yet, buy a board with a working USB port, like a BeagleBone or
the like :)

Sorry, there's really nothing we can do here,

greg k-h

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regarding bulk transfers on stk1160
  2012-11-13 14:05 ` Gordon Hollingworth
@ 2012-11-13 15:15   ` Ezequiel Garcia
  0 siblings, 0 replies; 7+ messages in thread
From: Ezequiel Garcia @ 2012-11-13 15:15 UTC (permalink / raw)
  To: Gordon Hollingworth; +Cc: linux-media, michael hartup, linux-rpi-kernel

Hi Gordon,

On Tue, Nov 13, 2012 at 11:05 AM, Gordon Hollingworth
<gordon@holliweb.co.uk> wrote:
> Might see if I can get hold of one of these, is there a commercial device name?
>

They're called easycap:
http://easycap.blogspot.com.ar/
http://linuxtv.org/wiki/index.php/Easycap

Hope this helps,

    Ezequiel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regarding bulk transfers on stk1160
  2012-11-13 14:58 ` Greg KH
@ 2012-11-13 15:29   ` Mauro Carvalho Chehab
  2012-11-14 22:53   ` Ezequiel Garcia
  1 sibling, 0 replies; 7+ messages in thread
From: Mauro Carvalho Chehab @ 2012-11-13 15:29 UTC (permalink / raw)
  To: Greg KH; +Cc: Ezequiel Garcia, linux-media, michael hartup, linux-rpi-kernel

Em Tue, 13 Nov 2012 06:58:09 -0800
Greg KH <greg@kroah.com> escreveu:

> On Tue, Nov 13, 2012 at 10:56:48AM -0300, Ezequiel Garcia wrote:
> > Hello,
> > 
> > A user (Michael Hartup in Cc) wants to use stk1160 on low power, low
> > cost devices (like raspberrypi).
> > 
> > At the moment raspberrypi can't stream using isoc urbs due to problems
> > with usb host driver (dwc-otg)
> > preventing it from achieving the required throughput.
> > For instance, on my rpi setup I can stream (using dd) at 16MB/s; but
> > at least 20 MB/s are required.
> > 
> > Having read that bulk transfers may work better with rpi usb driver, I
> > decided to try to implement
> > those at stk1160. However, I later discovered stk1160 doesn't have any
> > bulk endpoint (see lsusb below).
> > (I'm no expert, but I assume lack of bulk endpoint means I can't use
> > bulk urbs, right?).

Typically, a media device either uses isoc or bulk transfer. When the device
has both, one transfer type is generally used by analog and the other one
for digital. So, it is not a driver's choice; it is up to the a hardware's 
manufacturer to decide it.

> Correct, you need to fix the rpi host controller driver in order to make
> this work properly.  Please push back on the developers of that hardware
> so we can get the specs to write a proper driver for it.
> 
> Or better yet, buy a board with a working USB port, like a BeagleBone or
> the like :)
> 
> Sorry, there's really nothing we can do here,

I fully agree with Greg: if the rpi host controller is broken, there's nothing
we can do at media driver. 

Either put pressure at the hardware manufacturer for the fix to happen,
or just return it back to it and use another hardware.

Regards,
Mauro

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regarding bulk transfers on stk1160
  2012-11-13 14:58 ` Greg KH
  2012-11-13 15:29   ` Mauro Carvalho Chehab
@ 2012-11-14 22:53   ` Ezequiel Garcia
  2012-11-14 23:18     ` Michael Hartup
  1 sibling, 1 reply; 7+ messages in thread
From: Ezequiel Garcia @ 2012-11-14 22:53 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-media, michael hartup, linux-rpi-kernel,
	Mauro Carvalho Chehab

Hi Greg,

On Tue, Nov 13, 2012 at 11:58 AM, Greg KH <greg@kroah.com> wrote:
>
> Or better yet, buy a board with a working USB port, like a BeagleBone or
> the like :)
>

Michael Hartup (the interested user) *has* a beaglebone.

I'm trying to help him getting it ready for stk1160.
However, Michael is getting choppy video capture.
(dmesg doesn't show anything relevant)

@Michael, could you upload those captures somewhere
and post the links for everyone to see?

Is this related to beaglebone's known usb dma issues?

https://github.com/RobertCNelson/linux-dev/issues/2
https://groups.google.com/forum/?fromgroups=#!topic/beagleboard/J94PUlo0wzs

Unfortunately, I don't own a beaglebone (and I can't afford one right now)
so I can't really see for myself what's going on.

Any help, greatly appreciated.

    Ezequiel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regarding bulk transfers on stk1160
  2012-11-14 22:53   ` Ezequiel Garcia
@ 2012-11-14 23:18     ` Michael Hartup
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Hartup @ 2012-11-14 23:18 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: Greg KH, linux-media, linux-rpi-kernel, Mauro Carvalho Chehab


On 14 Nov 2012, at 22:53, Ezequiel Garcia wrote:

> Hi Greg,
> 
> On Tue, Nov 13, 2012 at 11:58 AM, Greg KH <greg@kroah.com> wrote:
>> 
>> Or better yet, buy a board with a working USB port, like a BeagleBone or
>> the like :)
>> 
> 
> Michael Hartup (the interested user) *has* a beaglebone.
> 
> I'm trying to help him getting it ready for stk1160.
> However, Michael is getting choppy video capture.
> (dmesg doesn't show anything relevant)
> 
> @Michael, could you upload those captures somewhere
> and post the links for everyone to see?

> 
> Is this related to beaglebone's known usb dma issues?
> 
> https://github.com/RobertCNelson/linux-dev/issues/2
> https://groups.google.com/forum/?fromgroups=#!topic/beagleboard/J94PUlo0wzs
> 
> Unfortunately, I don't own a beaglebone (and I can't afford one right now)
> so I can't really see for myself what's going on.
> 
> Any help, greatly appreciated.
> 
>    Ezequiel



Thanks for looking at this gentlemen. I have posted some examples here;

http://bufobufomagic.blogspot.co.uk/2012/11/image-corruption-on-beaglebone-with.html


Michael.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-11-14 23:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-13 13:56 Regarding bulk transfers on stk1160 Ezequiel Garcia
2012-11-13 14:05 ` Gordon Hollingworth
2012-11-13 15:15   ` Ezequiel Garcia
2012-11-13 14:58 ` Greg KH
2012-11-13 15:29   ` Mauro Carvalho Chehab
2012-11-14 22:53   ` Ezequiel Garcia
2012-11-14 23:18     ` Michael Hartup

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox