I have a EM7455 cell module running on an embedded Linux board. The board boots up and the cell module network interface shows up as eth3 in ifconfig. After I reboot the cell module using AT!RESET command, the cell module network interface now is on eth4.
Does anyone know why, and is there a way for it to stay at eth3 after the reboot?
I cannot reproduce the issue on Ubuntu PC.
do you see something like the following in dmesg which will deregister the eth interface?
[15621.974691] GobiNet 3-1:1.8 eth1: unregister ‘GobiNet’ usb-0000:00:14.0-1, GobiNet Ethernet Device
[15382.348289] usb 3-1: New USB device found, idVendor=1199, idProduct=9071
[15382.348300] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15382.348307] usb 3-1: Product: Sierra Wireless MC7430 Qualcomm\xffffffc2\xffffffae\xffffffae Snapdragon\xffffffe2\xffffff84\xffffffa2\xffffff84\xffffffa2 X7 LTE-A
[15382.348313] usb 3-1: Manufacturer: Sierra Wireless, Incorporated
[15382.348318] usb 3-1: SerialNumber: LU62630017041012
[15382.349966] GobiSerial 3-1:1.0: GobiSerial converter detected
[15382.350261] usb 3-1: GobiSerial converter now attached to ttyUSB0
[15382.351210] GobiSerial 3-1:1.3: GobiSerial converter detected
[15382.351506] usb 3-1: GobiSerial converter now attached to ttyUSB1
[15382.352606] GobiNet 3-1:1.8 eth1: register ‘GobiNet’ at usb-0000:00:14.0-1, GobiNet Ethernet Device, c6:f9:56:d8:1b:fb
[15382.353040] USB Speed : USB 2.0
[15382.354108] GobiNet 3-1:1.10 eth2: register ‘GobiNet’ at usb-0000:00:14.0-1, GobiNet Ethernet Device, c6:f9:56:d8:1b:fb
[15382.354648] USB Speed : USB 2.0
[15394.425445] creating qcqmi0
[15394.425693] RawIP mode
[15394.517512] creating qcqmi1
[15394.517760] RawIP mode
//here I type
//sudo echo -ne “AT\x21RESET\xd\xa” > /dev/ttyUSB1
[15621.974072] usb 3-1: USB disconnect, device number 44
[15621.974226] GobiSerial driver ttyUSB0: GobiSerial converter now disconnected from ttyUSB0
[15621.974238] GobiSerial 3-1:1.0: device disconnected
[15621.974594] GobiSerial driver ttyUSB1: GobiSerial converter now disconnected from ttyUSB1
[15621.974606] GobiSerial 3-1:1.3: device disconnected
[15621.974691] GobiNet 3-1:1.8 eth1: unregister ‘GobiNet’ usb-0000:00:14.0-1, GobiNet Ethernet Device
[15622.024905] GobiNet 3-1:1.10 eth2: unregister ‘GobiNet’ usb-0000:00:14.0-1, GobiNet Ethernet Device
[15629.461218] usb 3-1: new high-speed USB device number 45 using xhci_hcd
[15629.478449] usb 3-1: config 1 has an invalid interface number: 8 but max is 3
[15629.478459] usb 3-1: config 1 has an invalid interface number: 10 but max is 3
[15629.478465] usb 3-1: config 1 has no interface number 1
[15629.478471] usb 3-1: config 1 has no interface number 2
[15629.479220] usb 3-1: New USB device found, idVendor=1199, idProduct=9071
[15629.479227] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15629.479234] usb 3-1: Product: Sierra Wireless MC7430 Qualcomm\xffffffc2\xffffffae\xffffffae Snapdragon\xffffffe2\xffffff84\xffffffa2\xffffff84\xffffffa2 X7 LTE-A
[15629.479240] usb 3-1: Manufacturer: Sierra Wireless, Incorporated
[15629.479245] usb 3-1: SerialNumber: LU62630017041012
[15629.480866] GobiSerial 3-1:1.0: GobiSerial converter detected
[15629.481256] usb 3-1: GobiSerial converter now attached to ttyUSB0
[15629.481988] GobiSerial 3-1:1.3: GobiSerial converter detected
[15629.482238] usb 3-1: GobiSerial converter now attached to ttyUSB1
[15629.483295] GobiNet 3-1:1.8 eth1: register ‘GobiNet’ at usb-0000:00:14.0-1, GobiNet Ethernet Device, c6:f9:56:d8:1b:fb
[15629.483822] USB Speed : USB 2.0
[15629.484795] GobiNet 3-1:1.10 eth2: register ‘GobiNet’ at usb-0000:00:14.0-1, GobiNet Ethernet Device, c6:f9:56:d8:1b:fb
[15629.485446] USB Speed : USB 2.0
[15641.548615] creating qcqmi0
[15641.548739] RawIP mode
[15641.552681] creating qcqmi1
[15641.552736] RawIP mode
I see from your dump that eth1 gets registered again as GobiNet 3-1:1.8, and eth2 gets registered again as GobiNet 3-1:1.10. This is the same as how it was registered at boot time.
For me, here is my dump of the relevant output from dmesg. Before the reset, eth3 is the active network interface.
… after cold boot …
obiSerial 4-1:1.0: GobiSerial converter detected
sb 4-1: GobiSerial converter now attached to ttyUSB0
obiSerial 4-1:1.2: GobiSerial converter detected
sb 4-1: GobiSerial converter now attached to ttyUSB1
obiSerial 4-1:1.3: GobiSerial converter detected
sb 4-1: GobiSerial converter now attached to ttyUSB2
BIFS: recovery needed
obiNet 4-1:1.8: eth3: register ‘GobiNet’ at usb-0002:04:00.0-1, GobiNet Ethernet Device, b6:9c:dd:bb:5e:31
SB Speed : USB 3.0
obiNet 4-1:1.10: eth4: register ‘GobiNet’ at usb-0002:04:00.0-1, GobiNet Ethernet Device, b6:9c:dd:bb:5e:31
SB Speed : USB 3.0
… now I do a AT!RESET …
GobiSerial driver ttyUSB0: GobiSerial converter now disconnected from ttyUSB0
Send ZERO CONF FAIL!
GobiSerial 4-1:1.0: device disconnected
GobiSerial driver ttyUSB1: GobiSerial converter now disconnected from ttyUSB1
GobiSerial 4-1:1.2: device disconnected
GobiSerial driver ttyUSB2: GobiSerial converter now disconnected from ttyUSB2
GobiSerial 4-1:1.3: device disconnected
GobiNet 4-1:1.8: eth3: unregister ‘GobiNet’ usb-0002:04:00.0-1, GobiNet Ethernet Device
GobiNet 4-1:1.10: eth4: unregister ‘GobiNet’ usb-0002:04:00.0-1, GobiNet Ethernet Device
usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep db14e92c
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep db14e900
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de0761d8
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de0761ac
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de076058
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de076180
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de076118
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de07602c
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de076418
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de076000
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de0760ec
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de0760c0
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de0763ec
xhci_hcd 0002:04:00.0: xHCI xhci_drop_endpoint called with disabled ep de0763c0
GobiNet 4-1:1.10: eth3: register ‘GobiNet’ at usb-0002:04:00.0-1, GobiNet Ethernet Device, b6:9c:dd:bb:5e:31
USB Speed : USB 3.0
GobiNet 4-1:1.8: eth4: register ‘GobiNet’ at usb-0002:04:00.0-1, GobiNet Ethernet Device, b6:9c:dd:bb:5e:31
USB Speed : USB 3.0
GobiSerial 4-1:1.3: GobiSerial converter detected
usb 4-1: GobiSerial converter now attached to ttyUSB0
GobiSerial 4-1:1.2: GobiSerial converter detected
usb 4-1: GobiSerial converter now attached to ttyUSB1
GobiSerial 4-1:1.0: GobiSerial converter detected
usb 4-1: GobiSerial converter now attached to ttyUSB2
creating qcqmi0
RawIP mode
creating qcqmi1
RawIP mode
Note that eth3 is now registered as GobiNet 4-1:1.10, and eth4 is GobiNet 4-1:1.8. I believe this is why for me, eth4 is now the active network port after the reset.
Note that after reset, even my ttyUSB devices are re-registered differently from before the reset. That may be why after reset, the active AT command port changed from ttyUSB2 to ttyUSB0.
Do you know why for me it is registering differently from yours? Could it be because I am using USB3.0?
No, I think I am fine with just 1 eth interface. Do I send that AT command to the modem? But isn’t the enumeration already done by the time I can issue the AT command to the module?
at!usbcomp=?
!USBCOMP:
AT!USBCOMP=,,
- configuration index to which the composition applies, should be 1
- 1:Generic, 2:USBIF-MBIM, 3:RNDIS
config type 2/3 should only be used for specific Sierra PIDs: 68B1, 9068
customized VID/PID should use config type 1