On Fri, 22 Mar 2013, Roger James wrote: > Hi, > > I apologize if this is slightly OT, but I am in need of help from some > USB gurus. I am trying to analyse a problem with (my) Garmin nuvi GPS > units attached to an Ubuntu 12.04 system running Windows (both XP and > Windows 8 exhibit the same problem) inside VirtualBox. > > The unit should eventually appear to the windows os as two portable > storage devices (usb mass storage). However the connection process is > aborted early on in windows with a "device cannot start code 10" > diagnostic (whatever that means!). > > I have run a wireshark trace of the of the usb activity on the device in > the linux os (available here http://paste.ubuntu.com/5637367/), Are you sure that's what this file is? It contains fields that look distinctly Windows-ish, not Linux-like. > a USB > trace inside the windows guest os (available here > http://paste.ubuntu.com/5637375/), and a trace of a good connection on a > native windows machine running vista (available here > http://paste.ubuntu.com/5637385/). > > The trace logs of the bad connection in the windows guest os and the > good connection in the windows native os are essentially identical until > packet 40 which is a response to a "Read Format Capacities 0x23" command > sent in packet 37. This ties in to packet number 107 in linux wireshark > log, although I should point out this log is not from the same test run > as the one for the windows guest os. It would be a lot better to have both logs from the same test run. And can you post the wireshark data in binary (pcap) format? The XML stuff is awfully hard to read, even when displayed in a browser window. You can attach the data to your email message, if you want. > The windows guest os log show and the linux log show that the nuvi > device replies with a packet which contains just the 12 byte header of > the response. This appears to throw the windows guest os into confusion > from which it never recovers. No, you've got it backward. That 12 bytes _is_ the correct reply. What messes up the Windows guest is the endpoint halts (or lack thereof). > However the native os trace shows this packet as containing a zero > length response after which the native os seems to retry a few and > eventually recover and proceed with setting up the devices. > > My background is now mainly linux. But I am not familiar with the USB > mass storage protocols. Can anyone explain what is going on here. It > looks to as if in the native situation the windows USB code is applying > some kind of kludge to get round the response from the nuvi, but this > kludge is not being applied in the hosted environment. > > Any help on understanding this will be gratefully received. Let's see data from the same run, from both the guest's and host's perspectives. Alan Stern -- 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