Why GobiNet driver need to re-installed after PC reboot

Hi,
I have a WP76XX module in my hand. And I want to use it to set-up multiple PDN data connection.
Everything work well.
But, once I reboot the PC, the virtual adapter gobi-0-x would be disappeared. Only executing “rmmod GobiNet” and “insmod GobiNet.ko iIPAlias=0” again, these virtual adapters would be listed in “ifconfig”.
May I know why and what should I do?

###################QMAP enabled, GobiNet driver works, but no gobi-0-x adapter#############
shawn@shawn-ThinkPad-T470-W10DG:~ dmesg | tail [ 249.122236] GobiNet 1-2:1.8 eth0: register 'GobiNet' at usb-0000:00:14.0-2, GobiNet Ethernet Device, f6:5a:89:b4:83:08 [ 249.122585] QMAP Enabled [ 249.122731] USB Speed : USB 2.0 [ 249.162478] GobiNet 1-2:1.8 enp0s20f0u2i8: renamed from eth0 [ 249.183269] IPv6: ADDRCONF(NETDEV_UP): enp0s20f0u2i8: link is not ready [ 249.183407] GobiNet 1-2:1.8 enp0s20f0u2i8: kevent 12 may have been dropped [ 249.183413] GobiNet 1-2:1.8 enp0s20f0u2i8: kevent 12 may have been dropped [ 249.187029] GobiNet 1-2:1.8 enp0s20f0u2i8: kevent 12 may have been dropped [ 252.725918] creating qcqmi0 [ 252.943126] RawIP mode shawn@shawn-ThinkPad-T470-W10DG:~ ifconfig
enp0s20f0u2i8 Link encap:Ethernet HWaddr f6:5a:89:b4:83:08
UP BROADCAST NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:2048 (2.0 KB)

enp0s31f6 Link encap:Ethernet HWaddr 54:e1:ad:18:9a:d9
inet addr:10.22.151.18 Bcast:10.22.151.255 Mask:255.255.255.0
inet6 addr: fe80::38f:64c5:ec61:69d7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2820 errors:0 dropped:0 overruns:0 frame:0
TX packets:283 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:992711 (992.7 KB) TX bytes:25296 (25.2 KB)
Interrupt:16 Memory:ed200000-ed220000

########################## remove and insert GobiNet again #####################
shawn@shawn-ThinkPad-T470-W10DG:/usr/src/SierraLinuxQMIdrivers-S2.42N2.64/GobiNet$ sudo rmmod GobiNet
shawn@shawn-ThinkPad-T470-W10DG:/usr/src/SierraLinuxQMIdrivers-S2.42N2.64/GobiNet$ sudo insmod GobiNet.ko iIPAlias=0

##################dmesg start, gobi-0-x could be found#######################

[ 428.960121] usbcore: deregistering interface driver GobiNet
[ 429.464114] GobiNet 1-2:1.8 enp0s20f0u2i8: unregister ‘GobiNet’ usb-0000:00:14.0-2, GobiNet Ethernet Device
[ 468.164020] GobiNet: 2020-08-17/SWI_2.64
[ 468.170237] GobiNet 1-2:1.8 eth0: register ‘GobiNet’ at usb-0000:00:14.0-2, GobiNet Ethernet Device, f6:5a:89:b4:83:08
[ 468.172579] QMAP Enabled
[ 468.176952] USB Speed : USB 2.0
[ 468.176994] usbcore: registered new interface driver GobiNet
[ 468.177772] GobiNet 1-2:1.8 enp0s20f0u2i8: renamed from eth0
[ 468.200403] IPv6: ADDRCONF(NETDEV_UP): gobi-0-1: link is not ready
[ 468.200440] Adaptor Not Up
[ 468.200505] GobiNet 1-2:1.8 enp0s20f0u2i8: kevent 12 may have been dropped
[ 468.209367] GobiNet 1-2:1.8 enp0s20f0u2i8: kevent 12 may have been dropped
[ 468.217942] IPv6: ADDRCONF(NETDEV_UP): gobi-0-0: link is not ready
[ 476.598580] creating qcqmi0
[ 476.766023] RawIP mode
[ 513.730945] IPv6: ADDRCONF(NETDEV_UP): gobi-0-1: link is not ready
[ 513.733858] IPv6: ADDRCONF(NETDEV_UP): gobi-0-0: link is not ready
[ 513.748106] IPv6: ADDRCONF(NETDEV_UP): gobi-0-1: link is not ready
[ 513.753416] IPv6: ADDRCONF(NETDEV_UP): gobi-0-0: link is not ready

shawn@shawn-ThinkPad-T470-W10DG:/usr/src/SierraLinuxQMIdrivers-S2.42N2.64/GobiNet$ ifconfig
enp0s20f0u2i8 Link encap:Ethernet HWaddr f6:5a:89:b4:83:08
UP BROADCAST NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

enp0s31f6 Link encap:Ethernet HWaddr 54:e1:ad:18:9a:d9
inet addr:10.22.151.18 Bcast:10.22.151.255 Mask:255.255.255.0
inet6 addr: fe80::38f:64c5:ec61:69d7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5814 errors:0 dropped:0 overruns:0 frame:0
TX packets:385 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1235436 (1.2 MB) TX bytes:33620 (33.6 KB)
Interrupt:16 Memory:ed200000-ed220000

gobi-0-0 Link encap:Ethernet HWaddr 36:19:56:ab:e6:c7
inet6 addr: fe80::e428:c4da:b7da:9acf/64 Scope:Link
UP NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:3070 (3.0 KB)

gobi-0-1 Link encap:Ethernet HWaddr 96:74:01:bb:6c:e4
inet6 addr: fe80::70b6:900f:9921:37a0/64 Scope:Link
UP NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:3070 (3.0 KB)

#######################################################################
reboot PC
##################################gobi-0-x missing after reboot#####################################
shawn@shawn-ThinkPad-T470-W10DG:/usr/src/SierraLinuxQMIdrivers-S2.42N2.64/GobiNem$ lsusb -t

|__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=GobiSerial, 480M
|__ Port 2: Dev 3, If 2, Class=Vendor Specific Class, Driver=GobiSerial, 480M
|__ Port 2: Dev 3, If 3, Class=Vendor Specific Class, Driver=GobiSerial, 480M
|__ Port 2: Dev 3, If 8, Class=Vendor Specific Class, Driver=GobiNet, 480M

shawn@shawn-ThinkPad-T470-W10DG:/usr/src/SierraLinuxQMIdrivers-S2.42N2.64/GobiNet$ ifconfig
enp0s20f0u2i8 Link encap:Ethernet HWaddr ba:5e:37:2e:b5:08
UP BROADCAST NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:3095 (3.0 KB)

enp0s31f6 Link encap:Ethernet HWaddr 54:e1:ad:18:9a:d9
inet addr:10.22.151.18 Bcast:10.22.151.255 Mask:255.255.255.0
inet6 addr: fe80::38f:64c5:ec61:69d7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5372 errors:0 dropped:0 overruns:0 frame:0
TX packets:129 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:506589 (506.5 KB) TX bytes:34288 (34.2 KB)
Interrupt:16 Memory:ed200000-ed220000

I don’t see the problem in my ubuntu pc.
Maybe you can have a look here

If I use modprobe command, gobi-0-x would be not found.

Try disconnect usb cable, reboot pc, later connect usb cable again, see if this is related timing

Or you can check dependency on /lib/modules/uname -r/modules.dep

shawn@shawn-ThinkPad-T470-W10DG:/lib/modules/4.4.0-201-generic$ cat modules.dep | grep Gobi
updates/dkms/GobiNet.ko: kernel/drivers/net/usb/usbnet.ko kernel/drivers/net/mii.ko
updates/dkms/GobiSerial.ko: kernel/drivers/usb/serial/usbserial.ko

You can set at! netnum=0 and ses if there is still problem

Hi,
If I set QMAP disabled, no Gobi-0-x would be enumarated. But there is a enp0s20f0u2i8 which are using GobiNet. You can find it always in my previous comment.
This real adapter would be there alwasys.

Then that means the gobinet is working fine

Did you forget to add iIPAlias=0 in modprobe

Please show me whole steps from a tar driver. Let’s say SierraLinuxQMIdrivers-S2.42N2.64.tar

According to linux kernel - Will modules installed by insmod command persist after rebooting? - Server Fault, the settings of insmod command would be lost.
But except this command, I can’t enumarate gobi-0-x virtual adapter. Do you have any other idea?

Why don’t you add this command in init script if you already find insmod is working

This is workaround, not the answer.
It looks strange if customer side need to add this extra step

Didn’t you just change modprobe to insmod?
Did you find problem in ubuntu pc?
Does "modprobe GobiNet iIPAlias=0 " work?

There is no official recommendation about how to install GobiNet.

And from the package of SierraLinuxQMIdrivers-S2.42N2.64, it recommends to use dkms to install driver?

Didn’t you just change modprobe to insmod?
==>Refer to AirPrime - Multiple PDN Support on Newer Sierra Wireless Modules - 2174187 - Rev1.0, it will call “insmod” command to install GobiNet.

Did you find problem in ubuntu pc?
==>No.

Does "modprobe GobiNet iIPAlias=0 " work?

I believe the official way is use “make install”.

If ubuntu pc has no problem, that means it is your platform’s problem but not a problem of GobiNet.
Either you fix it or you use workaround of insmod.

what do you mean of “platform problem”?

That means your linux platform as you say ubuntu pc has no problem

Does "modprobe GobiNet iIPAlias=0 " work?

Does "modprobe GobiNet iIPAlias=0 " work?
==>No.

Can you try it in you side? Then I can refer to your settings or steps.

I am also using ubuntu pc, if you say ubuntu pc has no problem, then there is no point to test