(+cc: Alan Stern) I'm assuming that whenever you refer f_mass_storage.c you mean mass storage gadget (ie. mass_storage.c; a gadget that uses f_mass_storage.c but has no other composite functions). On Mon, 13 Sep 2010 00:46:01 +0200, Zachary Burke <zachary.burke@xxxxxxxxx> wrote:
I am attempting to use the Palm Pre (WebOS) phone as a mass storage device for the Xbox 360. Like Android-based devices, WebOS uses f_mass_storage.c (based on file_storage.c) to implement mass storage functionality using the bulk-only transport protocol.
Not to be confused, until recently (2.6.35 IIRC) Android used its own mass storage implementation which was not the same as f_mass_storage. The 2.6.35 android kernel uses the mainline f_mass_storage.c.
WHERE I'VE BEEN: Product/Vendor id - Thinking that perhaps the Xbox was blocking based on these, I found a working USB storage device and made the Palm Pre look identical to it. This is not the issue.
As a matter of fact, file_storage.c and mass_storage.c use the very same PID, VID pair.
Intel USB Command Verifier - I ran the Chapter 9 tests as well as the Mass Storage tests against both drivers. The Chapter 9 test results were identical (All Passed), but the following Mass Storage tests contained warnings for f_mass_storage: Serial Number Test - Invalid characters in Serial Number
IIRC with kernel from the next tree, this can be fixed by passing iSerialNumber=0123456789AB as a module parameter, where 0123456789AB is a user-space managed 12-character long hexadecimal number. Also, IIRC with kernel from the next tree the same warning will show for file storage gadget unless you specify serial=0123456789AB module parameter. As a matter of fact, Xbox being MS's creation you might want to try setting the serial.
Test Case 4,8 - No stall after zero-length data Command Set Test - No stall after zero-length data I am unsure what to make of the complaint about stalling after zero-length data, I am guessing it may be due to the omission of halt_bulk_in_endpoint() in f_mass_storage.c. I do not know what the implications of this omission are. If you do, please enlighten me.
Alan probably knows more then I do in this regard.
Power-Up Test - Could not find device after enumeration The Power-Up Test warning, I believe is due to the fact that it takes several seconds after insertion of the USB connector to put the device into mass storage mode. Again, I believe this can be safely ignored.
Do you specify a "file" module parameter? Or just leave it as removable?
If there is anyone familiar with these two modules that might know why one works while the other does not, I am eager to hear why.
Ideally, the two should work in exactly the same way. So in other words, I have no idea why the two would work differently. I would gladly test that with an USB analyser but unfortunately I have no Xbox and very little time. :( Still, I'll try to help us much as possible. -- Best regards, _ _ | Humble Liege of Serenely Enlightened Majesty of o' \,=./ `o | Computer Science, Michał "mina86" Nazarewicz (o o) +----[mina86*mina86.com]---[mina86*jabber.org]----ooO--(_)--Ooo-- -- 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