Hello, in message.c file I found following comment: * That capability is less useful for low or full * speed interrupt endpoints, which allow at most one packet per millisecond, * of at most 8 or 64 bytes (respectively). dfu-util transfers 1023 bytes blocks with libusb: result = usb_control_msg( device, /* bmRequestType */ USB_ENDPOINT_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, /* bRequest */ DFU_UPLOAD, /* wValue */ transaction++, /* wIndex */ interface, /* Data */ data, /* wLength */ length, /* usually 1023 bytes */ dfu_timeout ); USB device is: T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 5 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=fe(app. ) Sub=01 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1e96 ProdID=ffff Rev=53.63 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none) According to USB sniffer it transfers data much faster than 64byte packet per ms. How can I limit it? Can it be because of data are transfered between host and interface (not endpoint)? My device does not work if I transfer data faster than 64bytes/ms. I sniff Windows and MacOSX: - MacOSX trasnfers data faster and device does not work - Windows transfers data at 64b/ms speed and device works ok. (device does not work means device is disconnected after small amount of data transfered with -ETIMEDOUT, -ENXIO or some other error) -- 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