Hi Alan!

Alan Stern wrote:

Either Windows didn't send a packet or else the PXA didn't interrupt when the packet was received. The second is more likely. Could this be related to the endpoint halt that occurs earlier? True, that halt is for the bulk-in endpoint, not the bulk-out. And you said that this works okay with a Linux host, which will also provoke a bulk-in endpoint halt.



Well, it seems I've found the source of this problem.
Today I checked usb traffic on Windows side using SnoopyPro tool http://sourceforge.net/projects/usbsnoop/


It shows that after getting response to "READ FORMAT CAPACITIES" command Windows host asks for further data from ep1in-bulk.
So, Windows always asks a device to send 2 portions of data in responce to this SCSI command.


But g_file_storage driver always sends only one packet. So all further communication on the bus are frozen since Windows has sent the 2nd data request untill the timeout occurs. After timeout and the failed response from the device Windows sends usb reset.

Also I checked traffic with an ordinary flash-device. It always sents 2 portions of data after getting "READ FORMAT CAPACITIES".

Unfortunately, SnoopyPro has no ability to convert its log-file to plain text, so I couldn't insert this logs into the letter.
But if you want, I can send these logs in SnoopyPro's native format.



Therefore, I guess, the problem is somewhere in the logic which handles "READ FORMAT CAPACITIES" processing in file_storage.c. Especially since Linux never sends this command (That's why we have correct work with Linux).
Tomorrow I'll try to find where it happens and let you know about results.


Sincerely,
Vlad Trukhin





-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to