Modem usb periodic disconnects/resets
On 5.11.6 (purism kernel) I experience frequent usb resets/disconnects with the modem, often times it'll result in the modem not coming back at all as in this case:
[98612.458958] usb 1-1.2: USB disconnect, device number 12
[98612.459557] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[98612.459611] option 1-1.2:1.0: device disconnected
[98612.460111] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[98612.460162] option 1-1.2:1.1: device disconnected
[98612.460743] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[98612.460855] option 1-1.2:1.2: device disconnected
[98612.461383] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[98612.461467] option 1-1.2:1.3: device disconnected
[98612.461695] qmi_wwan 1-1.2:1.4 wwan0: unregister 'qmi_wwan' usb-xhci-hcd.4.auto-1.2, WWAN/QMI device
[98615.418433] usb 1-1-port2: connect-debounce failed
Toggling hks doesn't always bring it back (when this happens nothing is printed to dmesg when toggling modem hks).. sometimes I have to reboot before the modem shows up again.
The time between the usb disconnects is variable, sometimes it's several hours after boot before one happens, other times I see a series of them in dmesg all within a few minutes of each other.
I've tried:
-
setting
usbcore.quirks=2020:2060:e
to enable theUSB_QUIRK_RESET
quirk, which disables resetting the usb device (I thought that maybe the reset was killing the modem) -
increasing
USB_RESUME_TIMEOUT
from 40 ms to 180 ms, thinking that maybe it was taking too long to resume from suspend (I guess there's no upper bound in the USB spec for how long a device can take to resume?)
The above experiments improve things slightly, I think, but I still see a number of usb disconnect/reconnects with the modem in dmesg, and eventually it'll not come back at all.
I haven't tried disabling PM, since the battery life impact is too much.
This might be a duplicate of #212 (closed)...