Re: USB mass storage device inaccessible, freezes lsusb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 9 Oct 2018, Alan Stern wrote:

> On Mon, 8 Oct 2018, Christoph Groth wrote:
>
> > On Sun, 7 Oct 2018, Alan Stern wrote:
> > 
> > > On Fri, 5 Oct 2018, Christoph Groth wrote:
> > >
> > > > I would be grateful for hints on how solve or further debug this
> > > > problem.
> > >
> > > A good start would be to post a usbmon trace showing what happens
> > > when you plug in the Garmin device.  Also you could post the dmesg
> > > log, because it might contain some useful information about what
> > > happened during the failure.
> > 
> > Thanks, Alan.  Here are two sets of logs:
> > 
> > (...)
>
> The difference between the two usbmon traces is this request in the
> x220 trace:
>
> ffff9d69e4b579c0 293665112 S Ci:1:018:0 s 80 06 03ee 0000 0400 1024 <
> ffff9d69e4b579c0 294668236 C Ci:1:018:0 -2 0
>
> This is a Get-String-Descriptor request for string index 0xee, which
> is reserved by Microsoft as their OS String Descriptor.  Evidently the
> Garmin does not like this request, because it freezes up and the
> request has to be cancelled.  After that the Garmin doesn't do
> anything, whereas by contrast on the cubie it disconnects after about
> 4 seconds and then reconnects with a different set of descriptors
> (those of a proper mass-storage device).

Thanks!  So, in a nutshell, this is another bug in the Foretrex
firmware?  They make really nice hardware, but why don't they realize
that abandoning their totally closed firmware development model would
actually profit them?

> As far as I know the kernel does not send this request for the OS
> String Descriptor automatically, so most likely it comes from some
> program running on the x220 and not on the cubie.  One good candidate
> is usb_modeswitch, but it could be something else.
>
> You might get more information in the kernel log if you turn on the
> usbfs_snoop module parameter for the usbcore module.

Uninstalling usb_modeswitch didn't help, so I enabled usbfs_snoop and
saw in dmesg that the command mtp-probe is launched when the device is
plugged in.  Uninstalling this one did the trick, but it also means that
I can no longer transfer files to and from Android phones.  (Perhaps
there's a way to inhibit mtp-probe only for the Garmin device.)

One last question: is the 'lsusb -v' freeze that I observed anything
that should be reported?  Or is it just fair for lsusb to block upon
waiting for a device that froze?  IIRC, I wasn't even able to 'kill -9'
it, but eventually it went away.

Thanks again,
Christoph



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux