Hi, >> There is a mistake in the previous log file, because the fifo size is >> still set to 512 byte. Now i change it to 64 byte if it is Full speed. > > The FIFO size should always be set to the value in the endpoint > descriptor, no matter what speed the connection is. > >> The log file are attached. > > The log shows that your 64-byte transfers don't work very well. The > first one didn't send any bytes. The second one sent only 4 bytes. > And each of the ones after that sent 0 bytes. > > Alan Stern > > PS: Something was very wrong with the log file you posted. It is full > of bad characters. You can it here: Yes, i see the bad characters in the log file. I apologize for that, my eyes was in pain after looking thru the log files and did not notice that when i attached the log file. The good news is i can get gadget to work with Lenovo x100e on Ubuntu and Windows. The change is adding more delay after writing to endpoint one IN FIFO register, for the case of writing more than the endpoint buffer size. However, the gadget only work on high-speed mode. If i disable ehci_hcd driver in Ubuntu (force it to be full speed), the same problem of SCSI_READ_10 command asking 4096 bytes and gadget returning the data, and gadget reset, still happens. Thanks, victor -- 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