EM7455 qcserial+GobiNet

i’ve skimmed the Application Developers’ Guide, it didnt say anything about GobiNet requiring GobiSerial to function.

can GobiNet run standalone in Full API, or does it need GobiSerial? the guide said GobiNet was using /dev/qcqmiX.
i have:

    |__ Port 6: Dev 6, If 2, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 6: Dev 6, If 0, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 6: Dev 6, If 10, Class=Vendor Specific Class, Driver=GobiNet, 480M
    |__ Port 6: Dev 6, If 3, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 6: Dev 6, If 1, Class=Vendor Specific Class, Driver=usbfs, 480M
    |__ Port 6: Dev 6, If 8, Class=Vendor Specific Class, Driver=GobiNet, 480M

GobiNet is loaded with:

modprobe -vv GobiNet [debug=Y],[iRAWIPEnable=1],[iIPAlias=0],[iQMAPEnable=1]

i cant get an address with udhcpc -i wwan0 (thought GobiNet is on eth0, but thats another thing)

GobiNet is compiled with:

RAWIP := 0
ifeq ($(RAWIP), 1)
        ccflags-y:=-DDATA_MODE_RP
endif

and i load the module with flags:

GobiNet [debug=Y],[iRAWIPEnable=1],[iIPAlias=0],[iQMAPEnable=1]

the flags should be good enought, right? or do i have to complie with RAWIP:=1?
and
do i have to have GobiSerial?

I remember i compiled with rawip flag equal to one, you can give a try

Also you need to type at!scact=1,1 to start data establishment first

ok, ill try that.
p.s. yea, i used !SCACT=1

i recompiled with:

RAWIP := 1

module flags

Module: GobiNet                                         
Parameter: debug --> 0     
Parameter: iAutoIPAddress --> 0            
Parameter: iEthSrcMACNonZero --> 0                                                                        
Parameter: iIPAlias --> 0                               
Parameter: iMaxQMUXSupported --> -1  
Parameter: interruptible --> 1     
Parameter: iQMAPEnable --> 1                            
Parameter: iRAWIPEnable --> 1   
Parameter: iTEEnable --> -1                             
Parameter: qmi_service_awake_timeout --> -1
Parameter: qos_debug --> 0                           
Parameter: resume_delay_ms --> 1000                                                                       
Parameter: rt_default_priority --> -1                                                                     
Parameter: rt_local_priority --> -1                                                                       
Parameter: rt_main_priority --> -1                                                                        
Parameter: txQueueLength --> 100                                                                          
Parameter: wakelock_debug --> 0                                                                           
Parameter: wakelock_timeout --> -1

it gets ip address now on wwan, for some reason not showing it:

46: wwan0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether de:ad:be:ef:ff:ff brd ff:ff:ff:ff:ff:ff permaddr de:ad:be:ef:ff:ff

problem was, that the flags passed through modprobe, were not setting GobiNet parameters:

modprobe -vv GobiNet [debug=Y],[iRAWIPEnable=1],[iIPAlias=0],[iQMAPEnable=1]

other flags were set with echo, e.g.:

echo 0 > /sys/module/GobiNet/parameters/iIPAlias

p.s.
qcserial is working fine next to GobiNet

I don’t see problem with Ubuntu 18:


[  149.477522] usb 4-1: new SuperSpeed USB device number 3 using xhci_hcd
[  149.499009] usb 4-1: config 1 has an invalid interface number: 8 but max is 3
[  149.499012] usb 4-1: config 1 has no interface number 1
[  149.499943] usb 4-1: New USB device found, idVendor=1199, idProduct=9071
[  149.499946] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  149.499947] usb 4-1: Product: MC7455
[  149.499949] usb 4-1: Manufacturer: Sierra Wireless, Incorporated
[  149.499950] usb 4-1: SerialNumber: LQ53010055020202
[  149.853426] GobiNet: loading out-of-tree module taints kernel.
[  149.853613] GobiNet: module verification failed: signature and/or required key missing - tainting kernel
[  149.854798] GobiNet: 2018-03-22/SWI_2.51
[  149.871638] GobiNet 4-1:1.8 eth0: register 'GobiNet' at usb-0000:03:00.0-1, GobiNet Ethernet Device, b2:50:99:0f:da:5b
[  149.876716] USB Speed : USB 3.0
[  149.876756] usbcore: registered new interface driver GobiNet
[  149.972641] usbcore: registered new interface driver usbserial
[  149.977317] usbcore: registered new interface driver usbserial_generic
[  149.977445] usbserial: USB Serial support registered for generic
[  149.995190] usbcore: registered new interface driver GobiSerial
[  149.995201] usbserial: USB Serial support registered for GobiSerial
[  149.995887] GobiSerial 4-1:1.0: GobiSerial converter detected
[  149.996012] usb 4-1: GobiSerial converter now attached to ttyUSB0
[  149.997590] GobiSerial 4-1:1.2: GobiSerial converter detected
[  149.997723] usb 4-1: GobiSerial converter now attached to ttyUSB1
[  150.001066] GobiSerial 4-1:1.3: GobiSerial converter detected
[  150.017193] usb 4-1: GobiSerial converter now attached to ttyUSB2
[  150.020713] GobiSerial: 2018-04-25/SWI_2.32:GobiSerial
[  150.340456] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  150.342445] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  156.579680] creating qcqmi0
[  156.579921] RawIP mode
owner@ubuntu:~$ modinfo GobiNet
filename:       /lib/modules/4.13.0-32-generic/kernel/drivers/net/usb/GobiNet.ko
license:        Dual BSD/GPL
description:    GobiNet
author:         Qualcomm Innovation Center
version:        2018-03-22/SWI_2.51
srcversion:     EFC1C12C109F33360514C70
alias:          usb:v1199p9110d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9102d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9100d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p90C1d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p90B1d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9091d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9070d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9061d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9056d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9055d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9054d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9053d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9051d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9041d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p68C0d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9071d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v03F0p371Dd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9019d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9015d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9013d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p9011d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v05C6p920Dd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1199p68A2d*dc*dsc*dp*ic*isc*ip*in*
depends:        usbnet
name:           GobiNet
vermagic:       4.13.0-32-generic SMP mod_unload 
parm:           debug:Debuging enabled or not (int)
parm:           qos_debug:QoS Debuging enabled or not (int)
parm:           interruptible:Listen for and return on user interrupt (int)
parm:           txQueueLength:Number of IP packets which may be queued up for transmit (int)
parm:           iTEEnable:-1 : Ignore TE flow Control, 0 : TE Flow Control disabled, 1 : TE Flow Control enabled (int)
parm:           iRAWIPEnable:RAWIP enabled or not (int)
parm:           iQMAPEnable:-1: Auto, 0 : QMAP disabled, 1 : QMAP enabled (int)
parm:           iMaxQMUXSupported:-1: Auto, Max QMUX instance support (int)
parm:           iIPAlias:0 = virtual adapter , 1 (default) = IP alias (int)
owner@ubuntu:~$ ifconfig eth0
eth0: flags=4227<UP,BROADCAST,NOARP,MULTICAST>  mtu 1500
        ether b2:50:99:0f:da:08  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

owner@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.174.157  netmask 255.255.255.0  broadcast 192.168.174.255
        inet6 fe80::cbdc:d25c:a219:2c9a  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b2:68:f2  txqueuelen 1000  (Ethernet)
        RX packets 278308  bytes 418891503 (418.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 92717  bytes 5672017 (5.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4227<UP,BROADCAST,NOARP,MULTICAST>  mtu 1500
        ether b2:50:99:0f:da:08  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 261  bytes 23528 (23.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 261  bytes 23528 (23.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

owner@ubuntu:~$ sudo udhcpc -i eth0
[sudo] password for owner: 
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for 10.134.93.246
udhcpc: lease of 10.134.93.246 obtained, lease time 7200


**************

at!scact=1,1                                                                    
OK                                                                              
ati3                                                                            
Manufacturer: Sierra Wireless, Incorporated                                     
Model: MC7455                                                                   
Revision: SWI9X30C_02.33.03.00 r8209 CARMD-EV-FRMWR2 2019/08/28 20:59:30        
MEID: 35907206000350                                                            
ESN: 12800003752, 80000EA8                                                      
IMEI: 359072060012345                                                           
IMEI SV: 20                                                                     
FSN: LQ530100512345                                                            
+GCAP: +CGSM                                                                    
                                                                                
                                                                                
OK                                                                              
at!gstatus?                                                                     
!GSTATUS:                                                                       
Current Time:  536              Temperature: 24                                 
Reset Counter: 3                Mode:        ONLINE                             
System mode:   LTE              PS state:    Attached                           
LTE band:      B7               LTE bw:      20 MHz                             
LTE Rx chan:   3150             LTE Tx chan: 21150                              
LTE CA state:  INACTIVE                 LTE Scell band:B3                       
LTE Scell bw:20 MHz             LTE Scell chan:1400                             
EMM state:     Registered       Normal Service                                  
RRC state:     RRC Connected                                                    
IMS reg state: No Srv                                                           
                                                                                
PCC RxM RSSI:  -67              RSRP (dBm):  -98                                
PCC RxD RSSI:  -95              RSRP (dBm):  -133                               
SCC RxM RSSI:  -71              RSRP (dBm):  -88                                
SCC RxD RSSI:  -107             RSRP (dBm):  -136                               
Tx Power:      --               TAC:         0652 (1618)                        
RSRQ (dB):     -11.7            Cell ID:     01E5110D (31789325)                
SINR (dB):      2.8                                                             
                                                                                
                                                                                
OK

when GobiUSBNet.c was modified, forgot to add recovery 9078,

[ 819.761627] GobiNet: loading out-of-tree module taints kernel.
[ 819.761803] GobiNet: module verification failed: signature and/or required key missing - tainting kernel
[ 819.765042] GobiNet: 2020-08-17/SWI_2.64
[ 819.766794] GobiNet 1-6:1.8 wwan0: register ‘GobiNet’ at usb-0000:00:14.0-6, GobiNet Ethernet Device, de:ad:be:ef:ff:ff
[ 819.767717] USB Speed : USB 2.0
[ 819.767760] usbcore: registered new interface driver GobiNet
[ 824.076374] creating qcqmi0
[ 824.076484] RawIP mode
filename: /lib/modules/5.10.0-17-amd64/updates/dkms/GobiNet.ko
license: Dual BSD/GPL
description: GobiNet
author: Qualcomm Innovation Center
version: 2020-08-17/SWI_2.64
srcversion:
alias: usb:v1199p9081ddcdscdpiciscipin
alias: usb:v1199p9102ddcdscdpiciscipin
alias: usb:v1199p9100ddcdscdpiciscipin
alias: usb:v1199p90C1ddcdscdpiciscipin
alias: usb:v1199p90B1ddcdscdpiciscipin
alias: usb:v1199p9091ddcdscdpiciscipin
alias: usb:v1199p9078ddcdscdpiciscipin // ← here forgot to add
alias: usb:v1199p9070ddcdscdpiciscipin
alias: usb:v1199p9061ddcdscdpiciscipin
alias: usb:v1199p9056ddcdscdpiciscipin
alias: usb:v1199p9055ddcdscdpiciscipin
alias: usb:v1199p9054ddcdscdpiciscipin
alias: usb:v1199p9053ddcdscdpiciscipin
alias: usb:v1199p9051ddcdscdpiciscipin
alias: usb:v1199p9041ddcdscdpiciscipin
alias: usb:v1199p68C0ddcdscdpiciscipin
alias: usb:v1199p9079ddcdscdpiciscipin// ← added this, no ip showing without 9078
alias: usb:v1199p9071ddcdscdpiciscipin
alias: usb:v1199p9019ddcdscdpiciscipin
alias: usb:v1199p9015ddcdscdpiciscipin
alias: usb:v1199p9013ddcdscdpiciscipin
alias: usb:v1199p9011ddcdscdpiciscipin
alias: usb:v05C6p920Dddcdscdpiciscipin
alias: usb:v1199p68A2ddcdscdpiciscipin
depends: usbnet,usbcore
retpoline: Y
name: GobiNet
vermagic: 5.10.0-17-amd64 SMP mod_unload modversions
parm: debug:Debuging enabled or not (int)
parm: qos_debug:QoS Debuging enabled or not (int)
parm: interruptible:Listen for and return on user interrupt (int)
parm: txQueueLength:Number of IP packets which may be queued up for transmit (int)
parm: iTEEnable:-1 : Ignore TE flow Control, 0 : TE Flow Control disabled, 1 : TE Flow Control enabled (int)
parm: iRAWIPEnable:RAWIP enabled or not (int)
parm: iQMAPEnable:-1: Auto, 0 : QMAP disabled, 1 : QMAP enabled (int)
parm: iMaxQMUXSupported:-1: Auto, Max QMUX instance support (int)
parm: iIPAlias:0 = virtual adapter , 1 (default) = IP alias (int)
parm: iEthSrcMACNonZero:0(default) = Ethernet Header Source Address : Zeros , 1 = Ethernet Header Source Address: Non-zero (int)
parm: wakelock_debug:Wake lock debug enabled or not (int)
parm: iAutoIPAddress:0(default) = Manual assgin IP address to adaptor : Zeros , 1 = Get IP address via QMI (int)
parm: wakelock_timeout:-1 : 0 seconds, Number of second wakelock will be released after resume (int)
parm: resume_delay_ms:1000(default) : Delay before resume in millisecond (int)
parm: qmi_service_awake_timeout:-1 : 8 seconds, Number of second wakelock will be released after selected QMI servcie request send (int)
parm: rt_local_priority:-1(default) : ROUTE_TABLE_LOCAL_PRIORITY: 0, local lookup priority number (int)
parm: rt_main_priority:-1(default) : ROUTE_TABLE_MAIN_PRIORITY: 1, main lookup priority number (int)
parm: rt_default_priority:-1(default) : ROUTE_TABLE_DEFAULT_PRIORITY: 32767, default lookup priority number (int)

so it worked, ip was fine, but was still a dead end, as in- wanted the private local address, not one assigned by the network. was solved by changing android gadget parameters.

will make a new post
this: EM7455 exposing LAN interface