Re: ] Sandisk Ultra Fit USB 3.0 thumb drive overheating way more than same USB does in Windows

2018-08-06 Thread Oliver Neukum
On Fr, 2018-08-03 at 16:15 +0100, Mustafa A wrote:
> The drive (128GB USB 3.0) 
> https://www.sandisk.co.uk/home/usb-flash/ultra-fit-usb overheats to the point 
> where the metal part would burn someone if they held it for more than a 
> second.
> 
> The overheating only happens on this brand of USB drives, other USB 3.0 
> drives have been fine. 
> The overheating only happens with Linux 4.15.0-29 (the default Kubuntu 18.04 
> kernel), it's fine when transferring files in Windows (tried with 8.1).
> The overheating happens even when files aren't transferring, even when the 
> drive is idle.

Please try enabling autosuspend for this device. Power management
for storage devices is by default off because some devices with
removable media fail horribly with it.
If this helps we could try to get a rule for such drives into udev.

Regards
Oliver

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: usb: dynamic suspend

2018-08-06 Thread Muni Sekhar
On Mon, Aug 6, 2018 at 12:09 AM, Alan Stern  wrote:
> On Sat, 4 Aug 2018, Muni Sekhar wrote:
>
>> On Fri, Aug 3, 2018 at 1:15 AM, Alan Stern  wrote:
>> > On Thu, 2 Aug 2018, Muni Sekhar wrote:
>> >
>> >> I see that CONFIG_PM_RUNTIME & CONFIG_USB_SUSPEND are not enabled. Is 
>> >> that fine?
>> >
>> > The CONFIG_PM_RUNTIME and CONFIG_USB_SUSPEND symbols are no longer
>> > used.
>> >
>> >> The device is using btusb driver. Does unloading the driver helps?
>> >
>> > It should.
>> >
>> >> I ran ‘lsof’ and and I see that the USB device was being held open by
>> >> fwupd, not sure what is ‘fwupd’?
>> >
>> > It is a firmware update daemon.
>> >
>> >> # sudo lsof +D /dev/bus/usb
>> >> lsof: WARNING: can't stat() fuse.gvfsd-fuse file system 
>> >> /run/user/1000/gvfs
>> >>   Output information may be incomplete.
>> >> COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
>> >> fwupd   1631 root   49u   CHR 189,67  0t0  547 /dev/bus/usb/001/068
>> >>
>> >>
>> >> So I killed that process(fwupd), but still device is not going to SUSPEND 
>> >> mode.
>> >>
>> >> # sudo lsof +D /dev/bus/usb
>> >> lsof: WARNING: can't stat() fuse.gvfsd-fuse file system 
>> >> /run/user/1000/gvfs
>> >>   Output information may be incomplete.
>> >>
>> >>
>> >> # cat /sys/bus/usb/devices/1-1.3/power/runtime_status
>> >> active
>> >
>> > Well, keeping the device might or might not prevent it from being
>> > suspended.  It all depends on how the driver is written.  But if you
>> > unload the driver then the device certainly ought to go into runtime
>> > suspend.
>> Unloading the driver and killing the 'fwupd' daemon resulted that
>> device to go into runtime suspend. Here I noticed that both the
>> operations(i.e. rmmod btusb & kill -9 ) are mandatory to
>> device to go into runtime suspend. I'd like to understand how the
>> driver & daemon are preventing the device to go into suspend mode, can
>> you please explain me on this?
>
> I do not know the details, and I am completely unfamiliar with both
> btusb and fwupd (and the entire Bluetooth subsystem, for that matter).
> So all I can do is give a general explanation.
>
> When a program like fwupd holds a device open, normally it also
> prevents the driver from being unloaded.  Is it really possible to
> rmmod btusb without first killing fwupd?

Thank you very much for this clarification Alan.

Yes it is possible to rmmod btusb without first killing fwupd.

# lsmod | grep btusb
btusb  45056  0
btrtl  16384  1 btusb
btbcm  16384  1 btusb
btintel16384  1 btusb
bluetooth 520192  10 bnep,btbcm,btrtl,btusb,btintel

# ps -ax | grep fwupd
 1900 ?Sl 0:00 /usr/lib/x86_64-linux-gnu/fwupd/fwupd
 3806 pts/2S+ 0:00 grep --color=auto fwupd

# modprobe -r btusb

# ps -ax | grep fwupd
 1900 ?Sl 0:00 /usr/lib/x86_64-linux-gnu/fwupd/fwupd
 3819 pts/2S+ 0:00 grep --color=auto fwupd

# lsmod | grep btusb


>
> In any case, when a driver uses a device, it tells the runtime PM core
> that it needs the device to be at full power.  This will prevent the
> device from going into runtime suspend (and will wake it up if it is
> already suspended).  When the driver is finished using the device, it
> tells the runtime PM core that the device may be suspended again.
>
> The question now becomes: when do these messages to the runtime PM core
> get sent?  Some drivers send them when the device is opened and closed;
> some drivers send them when a command is issued to the device and when
> the reply is received, and some drivers send them only when they are
> loaded and unloaded.  I don't know how btusb behaves.
>
> Alan Stern
>



-- 
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: usb: dynamic suspend

2018-08-06 Thread Oliver Neukum
On Sa, 2018-08-04 at 23:10 +0530, Muni Sekhar wrote:
> 
> Unloading the driver and killing the 'fwupd' daemon resulted that
> device to go into runtime suspend. Here I noticed that both the
> operations(i.e. rmmod btusb & kill -9 ) are mandatory to
> device to go into runtime suspend. I'd like to understand how the
> driver & daemon are preventing the device to go into suspend mode, can
> you please explain me on this?

Hi,

btusb has support for autosuspend.

1. Please check whether your device supports remote wake up and isn't
quirky
2. Try a 'hciconfig hciX down' (with X for your number

HTH
Oliver

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: usb: dynamic suspend

2018-08-06 Thread Muni Sekhar
On Mon, Aug 6, 2018 at 2:59 PM, Oliver Neukum  wrote:
> On Sa, 2018-08-04 at 23:10 +0530, Muni Sekhar wrote:
>>
>> Unloading the driver and killing the 'fwupd' daemon resulted that
>> device to go into runtime suspend. Here I noticed that both the
>> operations(i.e. rmmod btusb & kill -9 ) are mandatory to
>> device to go into runtime suspend. I'd like to understand how the
>> driver & daemon are preventing the device to go into suspend mode, can
>> you please explain me on this?
>
> Hi,
>
> btusb has support for autosuspend.
>
> 1. Please check whether your device supports remote wake up and isn't
> quirky
Right now my device does not support remote wakeup, need firmware
support for this.
Once I receive the firmware then i'll give a try.

> 2. Try a 'hciconfig hciX down' (with X for your number
>
> HTH
> Oliver
>



-- 
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wrong device idProduct?

2018-08-06 Thread Nick Desaulniers
On Mon, Jul 30, 2018 at 1:24 PM Alan Stern  wrote:
>
> On Mon, 30 Jul 2018, Nick Desaulniers wrote:
>
> > Hello,
> > Today my usb keyboard stopped working:
> >
> > [513672.838235] usbhid 3-10.1:1.0: couldn't find an input interrupt endpoint
> >
> > I happen to have two models of the same keyboard (Das Keyboard
> > Ultimate 4C), from the working one:
> > [   37.865738] usb 1-1.1: New USB device found, idVendor=24f0, 
> > idProduct=0142
> > and the broken one:
> > [513672.837646] usb 3-10.1: New USB device found, idVendor=24f0, 
> > idProduct=
> >
> > This causes the product to be misidentified.  Is something wrong with
> > the keyboard that's causing it to misreport the idProduct?
>
> Probably it lost some of its firmware.

Is it possible to ask Linux to remount this device with a new idProduct?


-- 
Thanks,
~Nick Desaulniers
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wrong device idProduct?

2018-08-06 Thread Alan Stern
On Mon, 6 Aug 2018, Nick Desaulniers wrote:

> On Mon, Jul 30, 2018 at 1:24 PM Alan Stern  wrote:
> >
> > On Mon, 30 Jul 2018, Nick Desaulniers wrote:
> >
> > > Hello,
> > > Today my usb keyboard stopped working:
> > >
> > > [513672.838235] usbhid 3-10.1:1.0: couldn't find an input interrupt 
> > > endpoint
> > >
> > > I happen to have two models of the same keyboard (Das Keyboard
> > > Ultimate 4C), from the working one:
> > > [   37.865738] usb 1-1.1: New USB device found, idVendor=24f0, 
> > > idProduct=0142
> > > and the broken one:
> > > [513672.837646] usb 3-10.1: New USB device found, idVendor=24f0, 
> > > idProduct=
> > >
> > > This causes the product to be misidentified.  Is something wrong with
> > > the keyboard that's causing it to misreport the idProduct?
> >
> > Probably it lost some of its firmware.
> 
> Is it possible to ask Linux to remount this device with a new idProduct?

It's not possible to change the idProduct value.

It is possible to try to use the keyboard in spite of the wrong 
idProduct.  In fact, that's what your computer tried to do.  But it 
didn't work, as you can see from the "couldn't find an input interrupt 
endpoint" error message in the log

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wrong device idProduct?

2018-08-06 Thread Nick Desaulniers
On Mon, Aug 6, 2018 at 11:27 AM Alan Stern  wrote:
>
> On Mon, 6 Aug 2018, Nick Desaulniers wrote:
>
> > On Mon, Jul 30, 2018 at 1:24 PM Alan Stern  
> > wrote:
> > >
> > > On Mon, 30 Jul 2018, Nick Desaulniers wrote:
> > >
> > > > Hello,
> > > > Today my usb keyboard stopped working:
> > > >
> > > > [513672.838235] usbhid 3-10.1:1.0: couldn't find an input interrupt 
> > > > endpoint
> > > >
> > > > I happen to have two models of the same keyboard (Das Keyboard
> > > > Ultimate 4C), from the working one:
> > > > [   37.865738] usb 1-1.1: New USB device found, idVendor=24f0, 
> > > > idProduct=0142
> > > > and the broken one:
> > > > [513672.837646] usb 3-10.1: New USB device found, idVendor=24f0, 
> > > > idProduct=
> > > >
> > > > This causes the product to be misidentified.  Is something wrong with
> > > > the keyboard that's causing it to misreport the idProduct?
> > >
> > > Probably it lost some of its firmware.
> >
> > Is it possible to ask Linux to remount this device with a new idProduct?
>
> It's not possible to change the idProduct value.
>
> It is possible to try to use the keyboard in spite of the wrong
> idProduct.  In fact, that's what your computer tried to do.  But it
> didn't work, as you can see from the "couldn't find an input interrupt
> endpoint" error message in the log

There's nothing for handling quirks? Surely not all devices are so
well behaved.  Worst case I guess I could modify whatever maps
idProducts to drivers in *my* kernel and use that?

-- 
Thanks,
~Nick Desaulniers
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wrong device idProduct?

2018-08-06 Thread Greg KH
On Mon, Aug 06, 2018 at 11:31:11AM -0700, Nick Desaulniers wrote:
> On Mon, Aug 6, 2018 at 11:27 AM Alan Stern  wrote:
> >
> > On Mon, 6 Aug 2018, Nick Desaulniers wrote:
> >
> > > On Mon, Jul 30, 2018 at 1:24 PM Alan Stern  
> > > wrote:
> > > >
> > > > On Mon, 30 Jul 2018, Nick Desaulniers wrote:
> > > >
> > > > > Hello,
> > > > > Today my usb keyboard stopped working:
> > > > >
> > > > > [513672.838235] usbhid 3-10.1:1.0: couldn't find an input interrupt 
> > > > > endpoint
> > > > >
> > > > > I happen to have two models of the same keyboard (Das Keyboard
> > > > > Ultimate 4C), from the working one:
> > > > > [   37.865738] usb 1-1.1: New USB device found, idVendor=24f0, 
> > > > > idProduct=0142
> > > > > and the broken one:
> > > > > [513672.837646] usb 3-10.1: New USB device found, idVendor=24f0, 
> > > > > idProduct=
> > > > >
> > > > > This causes the product to be misidentified.  Is something wrong with
> > > > > the keyboard that's causing it to misreport the idProduct?
> > > >
> > > > Probably it lost some of its firmware.
> > >
> > > Is it possible to ask Linux to remount this device with a new idProduct?
> >
> > It's not possible to change the idProduct value.
> >
> > It is possible to try to use the keyboard in spite of the wrong
> > idProduct.  In fact, that's what your computer tried to do.  But it
> > didn't work, as you can see from the "couldn't find an input interrupt
> > endpoint" error message in the log
> 
> There's nothing for handling quirks? Surely not all devices are so
> well behaved.  Worst case I guess I could modify whatever maps
> idProducts to drivers in *my* kernel and use that?

No, your firmware is really broken and it is not responding with a full
USB descriptor, it is messed up, there's nothing that any operating
system can do about it, sorry.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wrong device idProduct?

2018-08-06 Thread Alan Stern
On Mon, 6 Aug 2018, Nick Desaulniers wrote:

> On Mon, Aug 6, 2018 at 11:27 AM Alan Stern  wrote:
> >
> > On Mon, 6 Aug 2018, Nick Desaulniers wrote:
> >
> > > On Mon, Jul 30, 2018 at 1:24 PM Alan Stern  
> > > wrote:
> > > >
> > > > On Mon, 30 Jul 2018, Nick Desaulniers wrote:
> > > >
> > > > > Hello,
> > > > > Today my usb keyboard stopped working:
> > > > >
> > > > > [513672.838235] usbhid 3-10.1:1.0: couldn't find an input interrupt 
> > > > > endpoint
> > > > >
> > > > > I happen to have two models of the same keyboard (Das Keyboard
> > > > > Ultimate 4C), from the working one:
> > > > > [   37.865738] usb 1-1.1: New USB device found, idVendor=24f0, 
> > > > > idProduct=0142
> > > > > and the broken one:
> > > > > [513672.837646] usb 3-10.1: New USB device found, idVendor=24f0, 
> > > > > idProduct=
> > > > >
> > > > > This causes the product to be misidentified.  Is something wrong with
> > > > > the keyboard that's causing it to misreport the idProduct?
> > > >
> > > > Probably it lost some of its firmware.
> > >
> > > Is it possible to ask Linux to remount this device with a new idProduct?
> >
> > It's not possible to change the idProduct value.
> >
> > It is possible to try to use the keyboard in spite of the wrong
> > idProduct.  In fact, that's what your computer tried to do.  But it
> > didn't work, as you can see from the "couldn't find an input interrupt
> > endpoint" error message in the log
> 
> There's nothing for handling quirks? Surely not all devices are so
> well behaved.  Worst case I guess I could modify whatever maps
> idProducts to drivers in *my* kernel and use that?

No quirk will fix a broken device.  Every HID (Human Interface Device, 
such as keyboards) device is required to have an interrupt endpoint.  
Without that, there's no way for the computer to use it.

Alan Stern


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wrong device idProduct?

2018-08-06 Thread Nick Desaulniers
Ok, thanks for taking a look.
On Mon, Aug 6, 2018 at 12:18 PM Alan Stern  wrote:
>
> On Mon, 6 Aug 2018, Nick Desaulniers wrote:
>
> > On Mon, Aug 6, 2018 at 11:27 AM Alan Stern  
> > wrote:
> > >
> > > On Mon, 6 Aug 2018, Nick Desaulniers wrote:
> > >
> > > > On Mon, Jul 30, 2018 at 1:24 PM Alan Stern  
> > > > wrote:
> > > > >
> > > > > On Mon, 30 Jul 2018, Nick Desaulniers wrote:
> > > > >
> > > > > > Hello,
> > > > > > Today my usb keyboard stopped working:
> > > > > >
> > > > > > [513672.838235] usbhid 3-10.1:1.0: couldn't find an input interrupt 
> > > > > > endpoint
> > > > > >
> > > > > > I happen to have two models of the same keyboard (Das Keyboard
> > > > > > Ultimate 4C), from the working one:
> > > > > > [   37.865738] usb 1-1.1: New USB device found, idVendor=24f0, 
> > > > > > idProduct=0142
> > > > > > and the broken one:
> > > > > > [513672.837646] usb 3-10.1: New USB device found, idVendor=24f0, 
> > > > > > idProduct=
> > > > > >
> > > > > > This causes the product to be misidentified.  Is something wrong 
> > > > > > with
> > > > > > the keyboard that's causing it to misreport the idProduct?
> > > > >
> > > > > Probably it lost some of its firmware.
> > > >
> > > > Is it possible to ask Linux to remount this device with a new idProduct?
> > >
> > > It's not possible to change the idProduct value.
> > >
> > > It is possible to try to use the keyboard in spite of the wrong
> > > idProduct.  In fact, that's what your computer tried to do.  But it
> > > didn't work, as you can see from the "couldn't find an input interrupt
> > > endpoint" error message in the log
> >
> > There's nothing for handling quirks? Surely not all devices are so
> > well behaved.  Worst case I guess I could modify whatever maps
> > idProducts to drivers in *my* kernel and use that?
>
> No quirk will fix a broken device.  Every HID (Human Interface Device,
> such as keyboards) device is required to have an interrupt endpoint.
> Without that, there's no way for the computer to use it.
>
> Alan Stern
>
>


-- 
Thanks,
~Nick Desaulniers
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html