[FS#3662] Parameters aren't passed to kernel modules at boot

OpenWrt Bugs openwrt-bugs at lists.openwrt.org
Thu Mar 4 13:12:39 GMT 2021


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened.  Details are below. 

User who did this - Mateus B. Cassiano (mbc07) 

Attached to Project - OpenWrt/LEDE Project
Summary - Parameters aren't passed to kernel modules at boot
Task Type - Bug Report
Category - Base system
Status - Unconfirmed
Assigned To - 
Operating System - All
Severity - High
Priority - Very Low
Reported Version - Trunk
Due in Version - Undecided
Due Date - Undecided
Details - I have a D-Link DIR-882 A1 router (MT7621 + 2x MT7615N, 128 MB of RAM, 16 MB of NOR flash) running OpenWrt SNAPSHOT r16087-1d412235a5 (built on March 4, 2021) and I need to pass **quirks=0bc2:231a:u** parameter to the usb-storage module at boot in order to skip loading of the UAS driver, which is currently broken on the xhci-mtk driver this router uses (as reported [[https://bugs.openwrt.org/index.php?do=details&task_id=1862|here]], [[https://bugs.openwrt.org/index.php?do=details&task_id=1305|here]], [[https://github.com/gnubee-git/GnuBee_Docs/issues/98|here]] and on various topics on the OpenWrt Forums), and prevents an external USB 3.0 HDD I have to work with it.

Accordingly to several sources, this should be easily accomplished by writing **usb-storage quirks=::u** on a single line into **/etc/modules.d/usb-storage**, however, the specified parameter is ignored and never reaches the kernel module, as running **cat /sys/module/usb_storage/parameters/quirks** after boot is complete returns empty. I also found [[https://forum.openwrt.org/t/is-there-any-way-to-pass-parameters-to-the-kernel-module-when-openwrt-starts/27907|this thread]], dating back to 2018, with other users having the same issue, and which also seems to confirm that adding the kernel module parameters to the corresponding file under **/etc/modules.d** is how it's supposed to work, but it simply doesn't.

The only workaround I found so far is running **echo "0bc2:231a:u" > /sys/module/usb_storage/parameters/quirks** after booting, but then I need to physically unplug and re-plug the HDD for the changes to take effect, this also needs to be done every time the router powers on, which is very annoying. Other things I tried includes creating **/etc/modprobe.d/usb-storage.conf** with **options usb-storage quirks=::u** and also unloading (and ever completely removing) kmod-usb-storage-uas from the device, but none of that worked.

So, is there any other mechanism for passing parameters to kernel modules at boot time? As far as I searched, **/etc/modules.d** seems to be the only one, but it's broken...


More information can be found at the following URL:
https://bugs.openwrt.org/index.php?do=details&task_id=3662

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.



More information about the openwrt-bugs mailing list