[linux-dvb] usb-dvb and endpoints question
Antti Palosaari
crope at iki.fi
Sat May 31 16:01:08 CEST 2008
Dennis Noordsij wrote:
> Hi list,
>
> I am writing a driver for the TerraTec Piranha DVB-T USB stick (actually
> the Sanio SMS-1000 chipset). From reading USB logs I have a working
> libusb prototype which can tune and receive the transport stream, and
> use the hardware PID filter.
>
> Porting it to a proper linux DVB driver I have the following question:
>
> This device has exactly 2 bulk endpoints, as follows:
>
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 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 0x0040 1x 64 bytes
> bInterval 0
>
> All control messages go out over EP2. All responses, as well as the
> transport stream, come in over EP1.
uh, very crazy solution :o
> All incoming packets have a small header which allows it to be mapped
> back to the corresponding request (excepting TS data which can be read
> spontaneously, but which is still marked with an additional header).
>
> Does this mean that I can not really use the dvb-usb framework ? (since
> there is no generic_bulk_ctrl_endpoint, and since the TS stream also
> does not come on its own endpoint and even needs additional depackatizing).
Looks like it is not possible to use dvb-framework very much...
...But you can use generic_bulk_ctrl_endpoint & generic_write to write
data if you can use dvb-framework partially. But reading data could be
very hard to implement.
> Since incoming data is mixed with TS packets, you can no longer just
> write a command and read the next response. TS data will be streaming in
> and every time you make some request you will probably get some TS data
> first, and only then your response. How to solve?
>
> Any pointers in the right direction? :-)
Other thoughts, wMaxPacketSize 0x0040 1x 64 bytes looks rather small for TS.
Can you provide sample usb-sniff from windows? Parsed with usb-replay
parser.pl -script would be enough if whole sniff is very large.
> Cheers,
> Dennis
regards
Antti
--
http://palosaari.fi/
More information about the linux-dvb
mailing list