On Fri, Nov 20, 2009 at 01:19:23PM +0100, Wolfgang Wilhelm wrote: Content-Description: Mail message body > (resent as plain text) > > Thankyou very much for your quick answers. > > I attach the output of lsusb -v for our device (FAST ComTec > S7889/MCS6) to this email. It uses the same vendor/product id's > as a "D-Link DSB-R100 USB FM radio" dsbr100. > I have inserted a line "blacklist dsbr100" into /etc/modprobe.d > to prevent loading the dsbr100 driver, but our device is still listed > as a "FM radio". > You are right, our (high speed) device may not work with every controller > fulfilling the USB 2.0 specification, but in practice the USB controllers > and USB interface chips allow to set a different wMaxPacketsize than 512 > and our Windows driver works fine. We use 64 byte bulk in and out endpoints > for reading and writing parameters into / from the device and a 1024 byte > bulk endpoint for fast data transfer from the device. These packet sizes > were optimized for a data throughput as high as possible. > I hope the Linux core will have no problem with it, like Windows. It's very unlikely that this device will work under a USB 3.0 host controller (xHCI). xHCI host controllers are designed to replace EHCI host controllers in the future, so you may care about this. The xHCI host controller must know the max packet size for each endpoint, and it may reject the configuration if it detects a high speed bulk endpoint with a non-standard size. The xHCI spec doesn't specify that the host controller must check this, but some xHCI hosts are very strict about following the rules in the USB bus specification. Is it possible you could use a max packet size of 512 for each of the bulk endpoints? You can always send less than the endpoint specifies for the 64 byte bulk OUT transfers, and you can send two 512-byte packets for the bulk IN endpoint. Sarah Sharp Intel Open Source Technology Center Content-Description: Text from file 'lsusb.txt' > > Bus 005 Device 002: ID 04b4:1002 Cypress Semiconductor Corp. CY7C63001 R100 FM Radio > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 64 > idVendor 0x04b4 Cypress Semiconductor Corp. > idProduct 0x1002 CY7C63001 R100 FM Radio > bcdDevice 0.00 > iManufacturer 1 FAST ComTec > iProduct 2 S7889 > iSerial 0 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 39 > bNumInterfaces 1 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xc0 > Self Powered > MaxPower 100mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 3 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 0 > bInterfaceProtocol 0 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x82 EP 2 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0400 1x 1024 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x86 EP 6 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 0x08 EP 8 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0040 1x 64 bytes > bInterval 0 > 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) > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html