Má rPi 4 s posledními aktualizacemi. Do USB má strčený LTE modem Alcatel IK40. Mám s ním následující problém. Někdy po bootu je sice vidět, ale nemá načtené ovladače (rndis):
Výpis dmesg[ 2.350745] usb 1-1.1: New USB device found, idVendor=1bbb, idProduct=f000, bcdDevice=10.00
[ 2.350800] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.350852] usb 1-1.1: Product: Mobilebroadband
[ 2.350890] usb 1-1.1: Manufacturer: Alcatel
[ 2.350920] usb 1-1.1: SerialNumber: 1234567890ABCDE
[ 2.368285] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[ 2.404840] scsi host0: usb-storage 1-1.1:1.0
# lsusb -t/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 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=Mass Storage, Driver=, 480M
# usb-devicesT: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1bbb ProdID=f000 Rev=10.00
S: Manufacturer=Alcatel
S: Product=Mobilebroadband
S: SerialNumber=1234567890ABCDE
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#=0x0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
Vždy danou situaci vyřeším odpojení a znovupřipojením modemu do USB, nicméně potřebuji, aby to fungovalo samo, bezobslužně. Zkoušel jsem použít i obezličku a vypínat USB softwarově (tedy emulovat vypojení/připojení):
echo "1-1.1" >/sys/bus/usb/drivers/usb/unbind
uhubctl --action off
echo "off" > /sys/bus/usb/devices/1-1.1/power/level
Nefungovalo nic. Mj. jsem čekal, že na modemu zhasne LED, že bude reálně zcela bez proudu, ale není. Zkoušel jsem i ručně načíst moduly:
modprobe cdc_ether
modprobe rndis_host
Načetly se, ale nefungovalo nic.
Po ručním vypojení a zapojení modemu do USB je samozřejmě vše OK.
Výpis dmesg[ 1175.102780] usb 1-1.1: New USB device found, idVendor=1bbb, idProduct=0195, bcdDevice= 2.42
[ 1175.102802] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1175.102820] usb 1-1.1: Product: Mobilebroadband
[ 1175.102837] usb 1-1.1: Manufacturer: Alcatel
[ 1175.102854] usb 1-1.1: SerialNumber: 1234567890ABCDE
[ 1175.132411] usb-storage 1-1.1:1.2: USB Mass Storage device detected
[ 1175.133055] scsi host0: usb-storage 1-1.1:1.2
[ 1175.172311] usbcore: registered new interface driver cdc_ether
[ 1175.204133] rndis_host 1-1.1:1.0 usb0: register 'rndis_host' at usb-0000:01:00.0-1.1, RNDIS device, 26:0b:ee:28:29:c7
[ 1175.204297] usbcore: registered new interface driver rndis_host
[ 1176.167040] scsi 0:0:0:0: Direct-Access ONETOUCH KEY40 2.31 PQ: 0 ANSI: 2
[ 1176.168026] sd 0:0:0:0: Attached scsi generic sg0 type 0
# lsusb -t/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 6, If 0, Class=Wireless, Driver=rndis_host, 480M
|__ Port 1: Dev 6, If 1, Class=CDC Data, Driver=rndis_host, 480M
|__ Port 1: Dev 6, If 2, Class=Mass Storage, Driver=usb-storage, 480M
# usb-devicesT: Bus=01 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 6 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1bbb ProdID=0195 Rev=02.42
S: Manufacturer=Alcatel
S: Product=Mobilebroadband
S: SerialNumber=1234567890ABCDE
C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host
I: If#=0x1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host
I: If#=0x2 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
Ideální by bylo přijít na to, proč se někdy modem tváří jen jako usb-storage a jiny jako wlcon+data+storage. Mám trochu podezření, že je to na straně toho modemu, který se někdy ohlásí tak a jindy jinak a Linux holt jen použije to, comu modem nabídne. Ale i kdyby tomu tak bylo, pořád nechápu, proč se nedaří skutečně nasimulovat vypojení/odpojení od USB, aby se to "chytilo".
Poradí někdo? Minimálně ten softwarový re-plug (ale komplet, vč. komplet odpojení modemu od produ) by hodně bodnul. Díky