Как предотвратить сброс USB после приостановки на плате iMX6?Linux

Ответить
Anonymous
 Как предотвратить сброс USB после приостановки на плате iMX6?

Сообщение Anonymous »

Я работаю над платой iMX6ULL под управлением ОС на базе Debian с возможностью приостановки. USB-концентратор () подключен к шине USB. Когда одно устройство или два устройства с разными VID и PID подключены к USB-концентратору (и, следовательно, к USB-шине), система почти сразу же выходит из режима ожидания. Однако, когда к USB-концентратору подключены два устройства с одинаковыми VID и PID, возобновление работы системы происходит намного медленнее. После некоторых поисков я обнаружил, что ОС сбрасывает USB-устройства после выхода из режима ожидания и перед возобновлением (см. блоки кода ниже).
Как я могу запретить ОС сброс настроек USB-устройств при пробуждении для ускорения процесса возобновления, когда два устройства с одинаковыми VID и PID подключены к одной шине?

Журналы
  • Пробуждение одного устройства (Нормальный)

    Код: Выделить всё

    >>>>>>>>>>>>>> SYSTEM WAKE-UP REQUEST
    [ 9217.484783] ieee80211 phy6: brcmf_fil_cmd_data: bus is down. we have nothing to do.
    [ 9217.484817] ieee80211 phy6: brcmf_cfg80211_get_tx_power: error (-5)
    [ 9218.076812] PM: suspend devices took 1.640 seconds
    [ 9218.082099] Disabling non-boot CPUs ...
    [ 9218.330490] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
    [ 9218.399775] usb 2-1.1: reset high-speed USB device number 19 using ci_hdrc
    [ 9218.476006] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Jun 13 2018 23:24:39 version 7.45.98.52 (r691997 CY) FWID 01-8b9f8ef5
    [ 9218.552328] PM: resume devices took 0.470 seconds
    [ 9218.608394] OOM killer enabled.
    [ 9218.611611] Restarting tasks ... done.
    [ 9218.714350] random: crng reseeded on system resumption
    [ 9218.771424] PM: suspend exit
    >>>>>>>>>>>>>> SYSTEM RESUME
    
  • Два устройства с одинаковым VID и PID Пробуждение

    Код: Выделить всё

    >>>>>>>>>>>>>> SYSTEM WAKE-UP REQUEST
    [ 8907.844493] ieee80211 phy0: brcmf_fil_cmd_data: bus is down.  we have nothing to do.
    [ 8907.844524] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-5)
    [ 8908.436812] PM: suspend devices took 1.670 seconds
    [ 8908.442572] Disabling non-boot CPUs ...
    [ 8908.681128] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
    [ 8908.749956] usb 2-1.3: reset high-speed USB device number 13 using ci_hdrc
    [ 8908.826696] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Jun 13 2018 23:24:39 version 7.45.98.52 (r691997 CY) FWID 01-8b9f8ef5
    [ 8908.859973] usb 2-1.3: device no response, device descriptor read/64, error -71
    [ 8909.089935] usb 2-1.3: device no response, device descriptor read/64, error -71
    [ 8909.309918] usb 2-1.3: reset high-speed USB device number 13 using ci_hdrc
    [ 8909.419914] usb 2-1.3: device no response, device descriptor read/64, error -71
    [ 8909.649893] usb 2-1.3: device no response, device descriptor read/64, error -71
    [ 8909.869896] usb 2-1.3: reset high-speed USB device number 13 using ci_hdrc
    [ 8910.309878] usb 2-1.3: device not accepting address 13, error -71
    [ 8910.409859] usb 2-1.3: reset high-speed USB device number 13 using ci_hdrc
    [ 8910.849852] usb 2-1.3: device not accepting address 13, error -71
    [ 8910.949853] usb 2-1.1: reset high-speed USB device number 14 using ci_hdrc
    [ 8911.102358] PM: resume devices took 2.660 seconds
    [ 8911.227343] OOM killer enabled.
    [ 8911.230543] Restarting tasks ...
    [ 8911.281057] usb 2-1.3: USB disconnect, device number 13
    [ 8911.292238] done.
    [ 8911.294268] random: crng reseeded on system resumption
    [ 8911.351833] PM: suspend exit
    >>>>>>>>>>>>>> SYSTEM RESUME
    
До сих пор я пытался сделать следующее (безуспешно< /em>):
  • Применены правила udev, чтобы установить для съемного атрибута значение фиксированного или 0.
  • Настроены контакты NON_REM USB-концентратора, в результате чего /sys/bus/usb/devices/2-1.1/removable сообщается как исправленный >.
  • Изменено /sys/bus/usb/devices/2-1.1:1.0/host0/target0:0:0/0:0:0:0/block/sda/removable , написав 0 или исправлено, но это не решило проблему.
  • Загрузил универсальный SCSI () модуль ядра, открывая доступ к устройствам в /dev/sg*, но они также остались в списке /dev/sd*.
  • Внес в черный список модуль usb-storage, из-за чего модуль SCSI Generic перестал работать.


Подробнее здесь: https://stackoverflow.com/questions/790 ... imx6-board
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»