Невозможно сбросить модем USB LTE после ошибки -EPROTO - PullRequest
0 голосов
/ 19 ноября 2018

BLUF

Я больше не могу переключать питание модема LTE через sysfs, поскольку теперь он удаляется из sysfs после возникновения ошибки.Как я могу вернуть его в usb sysfs и включить питание?

Фон

Я использую USB LTE-модем с драйверами на основе qmi, которые нечасто возникаютошибка, требующая сброса.В прошлом мне удавалось исправить это, переключив питание через sysfs, как показано ниже:

echo "0" > /sys/bus/usb/devices/usb2/2-1/power/autosuspend_delay_ms
echo "auto" > /sys/bus/usb/devices/usb2/2-1/power/control
sleep 1
echo "0" > /sys/bus/usb/devices/usb2/2-1/power/autosuspend
sleep 1
echo "2-1" > /sys/bus/usb/drivers/usb/unbind
sleep 1
echo "2-1" > /sys/bus/usb/drivers/usb/bind
sleep 1

Не идеально, но работоспособно.Проблема в том, что после миграции на ядро ​​4.14 я не могу найти устройство в sysfs после ошибки, /sys/bus/usb/devices/usb2/2-1 не существует, и поэтому я не могу сбросить модем с ним.Вывод dmesg во время ошибки следующий:

[1889271.903016] qmi_wwan 2-1:1.8: nonzero urb status received: -71
[1889271.903039] qmi_wwan 2-1:1.8: wdm_int_callback - 0 bytes
[1889274.174239] usb 2-1: USB disconnect, device number 2
[1889274.185873] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0
[1889274.186457] qcserial 2-1:1.0: device disconnected
[1889274.188294] qcserial ttyUSB1: Qualcomm USB modem converter now disconnected from ttyUSB1
[1889274.188916] qcserial 2-1:1.2: device disconnected
[1889274.206507] qcserial ttyUSB2: Qualcomm USB modem converter now disconnected from ttyUSB2
[1889274.211120] qcserial 2-1:1.3: device disconnected
[1889274.220564] qmi_wwan 2-1:1.8 wwan0: unregister 'qmi_wwan' usb-ci_hdrc.1-1, WWAN/QMI device
[1889274.263106] qmi_wwan 2-1:1.10 wwan1: unregister 'qmi_wwan' usb-ci_hdrc.1-1, WWAN/QMI device

Ошибка 71 соответствует ошибке EPROTO, которая из того, что я прочитал, запускает ядро ​​для отключения порта.Я хотел бы знать, как повторно включить порт, чтобы он снова отображался в разделе USB sysfs, чтобы я мог переключать его питание.

...