Re: uas: module not loaded automatically

From: Jan Kiszka
Date: Sun Oct 05 2014 - 05:49:04 EST


On 2014-10-05 11:43, Hans de Goede wrote:
> Hi,
>
> On 10/05/2014 11:31 AM, Jan Kiszka wrote:
>> On 2014-10-05 11:23, Hans de Goede wrote:
>>> Hi,
>>>
>>> On 10/05/2014 11:14 AM, Jan Kiszka wrote:
>>>> On 2014-10-05 11:08, Hans de Goede wrote:
>>>>> Hi,
>>>>>
>>>>> On 10/04/2014 08:35 PM, Jan Kiszka wrote:
>>>>>> Hi,
>>>>>>
>>>>>> my Delock external USB drive stopped working after updating from a
>>>>>> UAS-disabled distro kernel to latest 3.17-rc7 with UAS on. That UAS was
>>>>>> key became clear to me only after looking at storage_probe(): the device
>>>>>> is ignored by usb-storage if it is UAS-capable. However, nothing causes
>>>>>> uas.ko to be loaded when the drive is plugged here. How is this supposed
>>>>>> to work in the normal case?
>>>>>
>>>>> Is the uas.ko module installed, and was depmod run after installing it ?
>>>>
>>>> Definitely. Just retried after another depmod -a, and only modprobe uas
>>>> made it work.
>>>>
>>>>>
>>>>> uas.c has the following:
>>>>>
>>>>> { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, USB_SC_SCSI, USB_PR_BULK) },
>>>>> { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, USB_SC_SCSI, USB_PR_UAS) },
>>>>>
>>>>> Which should make it load automatically on your device.
>>>>
>>>> Should this match with what lsusb -v reports for the device?
>>>
>>> Yes, and it does, for both alt settings of your device:
>>>
>>> bInterfaceClass 8 Mass Storage
>>> bInterfaceSubClass 6 SCSI
>>> bInterfaceProtocol 80 Bulk-Only
>>>
>>> bInterfaceClass 8 Mass Storage
>>> bInterfaceSubClass 6 SCSI
>>> bInterfaceProtocol 98
>>>
>>> Where 98 == USB_PR_UAS, seems you have an quite old lsusb if it does not
>>
>> It says "007".
>>
>>> know that though. Could it be the rest of your userspace is old too, and is
>>> not smart enough to load all matching drivers, instead only loading the first matching
>>> driver (which happens to be usb-storage) ?
>>
>> OpenSUSE 13.1, all updates installed. Which components are involved?
>> udev - Version 208? Below is the udevadm monitor output.
>
> Hmm, that is not all that old, I would expect that to work.
>
> Here is how things "work" on my system:
>
> [hans@shalem ~]$ lsmod | grep uas
> uas 22414 0
> usb_storage 65065 1 uas
> [hans@shalem ~]$ sudo rmmod uas
> [hans@shalem ~]$ lsmod | grep uas
> [hans@shalem ~]$ sudo modprobe usb:v174Cp5136d0100dc00dsc00dp00ic08isc06ip50in00
> [hans@shalem ~]$ lsmod | grep uas
> uas 22414 0
> usb_storage 65065 1 uas
>
> So as you can see the modalias taken from your udev debug output causes
> uas to get loaded, can you try the above ?

That command sequence doesn't cause uas to be reloaded. Anything I need
to customize for my setup?

>
> Also what does "modinfo uas" say? For me it says:
>
> [hans@shalem ~]$ modinfo uas
> filename: /lib/modules/3.17.0-rc6+/kernel/drivers/usb/storage/uas.ko
> author: Hans de Goede <hdegoede@xxxxxxxxxx>, Matthew Wilcox and Sarah Sharp
> license: GPL
> alias: usb:v*p*d*dc*dsc*dp*ic08isc06ip62in*
> alias: usb:v*p*d*dc*dsc*dp*ic08isc06ip50in*
> alias: usb:v174Cp5106d*dc*dsc*dp*ic*isc*ip*in*
> alias: usb:v152Dp0567d*dc*dsc*dp*ic*isc*ip*in*
> alias: usb:v0BC2pAB20d*dc*dsc*dp*ic*isc*ip*in*
> alias: usb:v0BC2p3312d*dc*dsc*dp*ic*isc*ip*in*
> alias: usb:v0BC2p2312d*dc*dsc*dp*ic*isc*ip*in*
> depends: usb-storage
> vermagic: 3.17.0-rc6+ SMP mod_unload
> signer: Magrathea: Glacier signing key
> sig_key: 9B:56:00:B2:C4:97:8D:4A:A9:B3:0B:54:32:F7:B7:B2:2F:3E:FB:D8
> sig_hashalgo: sha256
>
> Note the alias-es with vendor and product ids are from quirks, and your version
> will likely not have these. But the first 2 generic ones should be there, and
> match the modalias from the udev output.

filename: /lib/modules/3.17.0-rc7-homebrewed+/kernel/drivers/usb/storage/uas.ko
author: Hans de Goede <hdegoede@xxxxxxxxxx>, Matthew Wilcox and Sarah Sharp
license: GPL
srcversion: 597B27EF314ADC559827CBD
alias: usb:v*p*d*dc*dsc*dp*ic08isc06ipAAin*
alias: usb:v*p*d*dc*dsc*dp*ic08isc06ip62in*
alias: usb:v*p*d*dc*dsc*dp*ic08isc06ip50in*
depends: usb-storage
intree: Y
vermagic: 3.17.0-rc7-homebrewed+ SMP preempt mod_unload modversions

Jan


Attachment: signature.asc
Description: OpenPGP digital signature