LINUX.ORG.RU

Отключить UAS для всех юсб-усройств.

 , uas,


0

1

Воюю с неприятным багом ЮСБ3 на Raspberry Pi 4.

Суть в том, что при активном i/o всё падает и помогает только ребут. Планы А и Б уже не помогли, план С состоит в том, чтобы отклчить UAS и это вроде как длжо помочь. Проблема - отключать его надо пераметром ядра при загрузке, причём для каждого конкретного устройства по его идентификаторам.

Нагуглил предложение вписать в строку параметров ядра usbcore.quirks=usb-storage:uas, но это не помогло (в смысле UAS не отключен).

Кто нибудь в курсе как это работает и отключается?

★★★★★
Ответ на: комментарий от whbex

intelfx

initcall_blacklist=uas_init вроде бы срабатывает.

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 2: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
    |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 3: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 4: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
root@raspberrypi:~# lsusb
Bus 002 Device 003: ID 7825:a2a4 Other World Computing External SATA Hard Drive Adapter cable PA023U3
Bus 002 Device 004: ID 0951:16ae Kingston Technology DT microDuo 3C
Bus 002 Device 002: ID 2109:0817 VIA Labs, Inc. USB3.0 Hub             
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 001 Device 004: ID 09da:9090 A4Tech Co., Ltd. XL-730K / XL-750BK / XL-755BK Mice
Bus 001 Device 003: ID 2109:2817 VIA Labs, Inc. USB2.0 Hub             
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Для sda используется масс-сторэдж, вот только sda это флешка в хабе, а Port 2: Dev 3 (SSD) не подхватывается вообще, хотя адаптер якобы виден.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от kirill_rrr

Если не получается общего параметра, то можно, типа, автоопределения id на лету и подстановкой в usb-storage.quirks=****:****:u. Как это реализуемо не задавался вопросом, но для uuid это делается силами grub, через переменные:

search --set=root ...
probe -s uuid -u $root

linux / .... root=UUID=${uuid}

upd. Но случай возможно сложнее, чем я могу представить: )

Мне пришлось бы прописать каждый диск и флешку отдельно.

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

Если я правильно понял, это Граб определит диски и передаст ядру несколько конкретных. Меня интересует отключение uas вообще, для всего что я возможно воткну в будущем. Ну и на малине нет Граба.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от intelfx

мдя. кстати, тут заметил такую особенность, что частично это от самого M.2 зависит - есть одно такое SATA, падает при массовых чтениях, в основном на AMD. при том, что пишет нормально. вангую, что питание.

mumpster ★★★★★
()