MC7455 with GOBI drivers interface stays down


#1

Dear all,

Can you please help me to get MC7455 to run on my embedded plattform. Due to some other restrictions and dependencies, I am running an older 3.4.113 Kernel. An upgrade to mainline is currently not possible, so I am not able to use QMI and MBIM kernel driver support. I successfully installed GOBI drivers (version 2017-07-06/SWI_2.44). When I use the ConnectionManager sample application from the SDK it says “LTE Data Session started successfully”, but the ip link device does not become read (Link state/opstate down). Can you please help me?

$ uname -a
Linux smart-platform-02 3.4.113-sun8i #4 SMP PREEMPT Tue Aug 15 14:29:28 CEST 2017 armv7l GNU/Linux

$ ls /dev/qc*
/dev/qcqmi0  /dev/qcqmi1

$ lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ehci/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=GobiSerial, 480M
    |__ Port 1: Dev 2, If 3, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 1: Dev 2, If 8, Class=Vendor Specific Class, Driver=GobiNet, 480M
    |__ Port 1: Dev 2, If 10, Class=Vendor Specific Class, Driver=GobiNet, 480M

$ sudo ./connectionmgrarm ../../../build/bin/arm/slqssdk 0
Instance ID :0
Session StateV4:1
Session StateV6:1
Instance ID :1
Session StateV4:1
Session StateV6:1

Please select one of the following options or press <Enter> to exit:
1.  Start UMTS Data Session
2.  Start LTE Data Session
3.  Start CDMA Data Session
4.  Start RUIM data session
5.  Stop the currently active Data Session
6.  Display all the profiles stored on the device
7.  Display the settings for a particular profile stored on the device
8.  Create a Profile on the device
9.  Modify the settings of an existing profile stored on the device
10. Delete a profile stored on the device
11. Power cycle the device
12. Set Device Power Mode
13. Qos testing
Option : 2

1. IPV4 (default)
2. IPV6
3. IPV4V6
Please select IP family preference for the call, or press <Enter> to exit: 1

ID PDPType IPAddress           PrimaryDNS          SecondaryDNS        Auth ProfileName         APNName             UserName
1  3       0.0.0.0             0.0.0.0             0.0.0.0             0                        internet.telekom

Please provide a profile id(1-16), or press <Enter> to exit: 1
LTE Data Session started successfully

To check if device is ready and up i run in a parallel session:

# ip link 
...
eth1: <NO-CARRIER,BROADCAST,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
eth2: <NO-CARRIER,BROADCAST,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000

## alternatively
# cat /sys/bus/usb/devices/3-1:1.8/net/eth1/operstate
down
# cat /sys/bus/usb/devices/3-1:1.10/net/eth2/operstate
down

the atdevice/modem itself seems to work correctly.

# screen /dev/ttyUSB0
ati
Manufacturer: Sierra Wireless, Incorporated
Model: MC7455
Revision: SWI9X30C_02.24.03.00 r6978 CARMD-EV-FRMWR2 2017/03/02 13:36:45
MEID: XXXXXXXXXXXXXXXXXX
IMEI: XXXXXXXXXXXXXXXXXX
IMEI SV:  XXXXXXXXXXXXXXXXXX
FSN: XXXXXXXXXXXXXXXXXX
+GCAP: +CGSM


OK
at!gstatus?
!GSTATUS:
Current Time:  219              Temperature: 34
Reset Counter: 1                Mode:        ONLINE
System mode:   LTE              PS state:    Attached
LTE band:      B3               LTE bw:      20 MHz
LTE Rx chan:   1300             LTE Tx chan: 19300
LTE CA state:  NOT ASSIGNED
EMM state:     Registered       Normal Service
RRC state:     RRC Idle
IMS reg state: No Srv

PCC RxM RSSI:  -58              RSRP (dBm):  -90
PCC RxD RSSI:  -61              RSRP (dBm):  -93
Tx Power:      0                TAC:         34BB (13499)
RSRQ (dB):     -11.6            Cell ID:     01C07902 (29391106)
SINR (dB):      9.0


OK
at!lteinfo
!LTEINFO:
Serving:   EARFCN MCC MNC   TAC      CID Bd D U SNR PCI  RSRQ   RSRP   RSSI RXLV
             1300 262  01 13499 01C07902  3 5 5   6 353 -12.4  -90.0  -57.7  32

IntraFreq:                                          PCI  RSRQ   RSRP   RSSI RXLV
                                                    353 -12.4  -90.0  -57.7  32
                                                    351 -10.4  -93.3  -72.3  32

InterFreq: EARFCN ThresholdLow ThresholdHi Priority PCI  RSRQ   RSRP   RSSI RXLV
             3050            0          16        5 426  -7.9 -113.5  -96.6   8
             3050            0          16        5 362 -12.6 -123.2 -101.7  -2
             3050            0          16        5 490 -16.2 -124.7  -99.5  -3
             6400            0          16        4 210 -10.8  -99.4  -79.4  22
             6400            0          16        4 476 -11.9 -100.7  -79.5  21
             6400            0          16        4 486 -13.5 -105.8  -83.3  16

GSM:       ThreshL ThreshH Prio NCC ARFCN 1900 valid BSIC RSSI RXLV

WCDMA:     UARFCN ThreshL ThreshH Prio PSC   RSCP  ECN0 RXLV

CDMA 1x:   Chan BC Offset Phase Str

CDMA HRPD: Chan BC Offset Phase Str


OK

at+cgpaddr
+CGPADDR: 1,10.234.244.184,42.1.5.152.153.138.145.184.0.1.0.1.117.145.83.205

Setting the address returned by at+cgpaddr manually didn’t help

# ip link set dev eth1 up
# ip addr add 10.234.244.184 dev eth1
# ip route add default dev eth1
# ping 8.8.8.8 -n 10
## -> fails

Can you please help me?


#2

Hi,

I would send the below in the Linux terminal.

sudo dhclient ethx

Where x in the number of the Ethernet interface that has been created by for the unit.

Regards

Matt


#3

Yeah. I already tried using a DHCP client, but it does not return anything usefull :frowning:

# dhclient eth1 -v
Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth1/0e:9a:79:a1:1c:08
Sending on   LPF/eth1/0e:9a:79:a1:1c:08
Sending on   Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 21
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 13
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 7
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

I think it has something to do with the interface state not beeing set correctly when connection is available


#4

Can you send the following to the system when the unit is plugged in so I can see its config?

uname -r
ifconfig
ls /dev
modinfo GobiSerial
modinfo GobiNet
lsmod

Regards

Matt


#5

Have you compiled it with raw-ip?


#6

This is irrelevant with version 2.44 of the driver. It will always support raw-ip and automatically use it for the MC7455.

The driver still has a default preference which depends on the compile time setting, but the preference can be overridden at runtime using the iRAWIPEnable module option. And it only matters for modems supporting both 802.3 and raw-ip. so it makes no difference for the MC7455 in any case.


#7
$ uname -r
3.4.113-sun8i


$ sudo ifconfig
eth0      Link encap:Ethernet  HWaddr f6:9d:18:0a:59:a0
          inet addr:192.168.2.2  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::f49d:18ff:fe0a:59a0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5545 errors:0 dropped:1204 overruns:0 frame:0
          TX packets:909 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:458466 (447.7 KiB)  TX bytes:246905 (241.1 KiB)
          Interrupt:114

eth1      Link encap:Ethernet  HWaddr 0e:3e:b9:f7:4e: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)

eth2      Link encap:Ethernet  HWaddr 0e:3e:b9:f7:4e:0a
          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)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:326 errors:0 dropped:0 overruns:0 frame:0
          TX packets:326 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:54529 (53.2 KiB)  TX bytes:54529 (53.2 KiB)

wlan0     Link encap:Ethernet  HWaddr ac:83:f3:34:2d:08
          UP BROADCAST 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)


$ sudo modinfo GobiSerial
filename:       /lib/modules/3.4.113-sun8i/kernel/drivers/usb/serial/GobiSerial.ko
license:        Dual BSD/GPL
description:    GobiSerial
author:         Qualcomm Innovation Center
version:        2017-04-05/SWI_2.28
srcversion:     F11CB5790005F3B91B895CA
alias:          usb:v1199p9061d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9060d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9056d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9055d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9054d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9053d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9051d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9041d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9040d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v03F0p371Dd*dc*dsc*dp*ic*isc*ip*
alias:          usb:v03F0p361Dd*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9019d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9018d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9015d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9014d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9013d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9012d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9011d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9010d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9110d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9102d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9100d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9070d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9071d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p68C0d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p68A2d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v05C6p920Dd*dc*dsc*dp*ic*isc*ip*
alias:          usb:v05C6p920Cd*dc*dsc*dp*ic*isc*ip*
depends:        usbserial
vermagic:       3.4.113-sun8i SMP preempt mod_unload modversions ARMv7
parm:           debug:Debug enabled or not (int)
parm:           flow_control:flow control enabled or not (int)
parm:           ignore_gps_start_error:allow port open to success even when GPS control message failed (int)
parm:           delay_open_gps_port:Delay Open GPS Port, after device ready (int)

$ sudo modinfo GobiNet
filename:       /lib/modules/3.4.113-sun8i/kernel/drivers/net/usb/GobiNet.ko
license:        Dual BSD/GPL
description:    GobiNet
author:         Qualcomm Innovation Center
version:        2017-07-06/SWI_2.44
srcversion:     9637A83BD3E91F6779F7342
alias:          usb:v1199p9110d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9102d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9100d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9070d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9061d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9056d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9055d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9054d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9053d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9051d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9041d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p68C0d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9071d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v03F0p371Dd*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9019d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9015d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9013d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p9011d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v05C6p920Dd*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1199p68A2d*dc*dsc*dp*ic*isc*ip*
depends:        usbnet
vermagic:       3.4.113-sun8i SMP preempt mod_unload modversions ARMv7
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)

$ sudo lsmod
Module                  Size  Used by
GobiSerial              8759  0
usbserial              29089  1 GobiSerial
GobiNet                95436  0
qmi_wwan                5375  0
cdc_wdm                 9089  1 qmi_wwan
usbnet                 14096  2 qmi_wwan,GobiNet
bnep                    9617  2
ir_lirc_codec           3650  0
lirc_dev                7834  1 ir_lirc_codec
ir_mce_kbd_decoder      2885  0
ir_sanyo_decoder        1480  0
ir_sony_decoder         1422  0
ir_jvc_decoder          1452  0
ir_rc6_decoder          1941  0
ir_rc5_decoder          1412  0
ir_nec_decoder          1556  0
sunxi_cir               1601  0
rc_core                12727  10 ir_lirc_codec,ir_rc5_decoder,ir_nec_decoder,ir_sony_decoder,sunxi_cir,ir_mce_kbd_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_sanyo_decoder
pcf8591                 3363  0
bmp085                  3487  0
hidp                   12949  0
rfcomm                 32879  0
hci_uart               20384  1
bluetooth             174097  25 bnep,hidp,hci_uart,rfcomm
dhd                   666807  0
btrfs                 712409  0

eth1and eth2 are the interfaces created by GobiNet, which do not behave as expected :frowning:

I already tried to load the devices as non raw-ip:

sudo rmmod GobiNet
sudo modprobe GobiNet iRAWIPEnable=0
sudo ip link
13: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 0e:3e:b9:f7:4e:08 brd ff:ff:ff:ff:ff:ff
14: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 0e:3e:b9:f7:4e:ee brd ff:ff:ff:ff:ff:ff

But that wasn’t leading to success, too :frowning:

Thanks for your fast replies. Best regards
Johannes


#8

Johannes,

I see that qmi_wwan is still present on your system from the lsmod command.

qmi_wwan                5375  0
cdc_wdm                 9089  1 qmi_wwan
usbnet                 14096  2 qmi_wwan,GobiNet

You need to try to remove it from your system, I would delete it from the driver directories to be sure and restart the system. If its there Linux really likes to use it.

Regards

Matt


#9

Dear Matt,

Thanks for the quick response. I deleted the drivers and additionally put them on the blacklist.conf. Unfortunatily, I cannot announce any success in bringing LTE on my device :frowning:.

Best regards,
Johannes


#10

Johannes,

Can you try a different method starting the session as per the attached using AT commands(on /dev/ttyUSB2)?

I see that are using telekom.internet, I presume this is T-Mobile in Germany? Are you setting the username and password?

Can you also send the below AT commands to the unit so I can see what is going on.

ati
at!gstatus?
acpin?
at+cimi
at+creg?
at+cgreg?
at+cereg?
at+cops?

Regards

Matt
SWI Technical Note - Migration from DirectIP to RMNet on MC73xx Rev002.docx (347 KB)


#11

Yes, I am using T-Mobile in Germany and I do not need to set username and password. Using my windows laptop the modem just works …

I ran the at commands you suggested. I asume “acpin?” was meant to be “at+cpin?”?! I also ran at!scact=1,1 and at+cgdcont? in addition. In my eyes this all looks good, especially as PS state is attached. Somehow the driver doesn’t set the interface state to up.

ate
OK
ati
Manufacturer: Sierra Wireless, Incorporated
Model: MC7455
Revision: SWI9X30C_02.24.03.00 r6978 CARMD-EV-FRMWR2 2017/03/02 13:36:45
MEID: 35907206079704
IMEI: 359072060797046
IMEI SV:  9
FSN: LQ714742370110
+GCAP: +CGSM


OK
at!gstatus?
!GSTATUS:
Current Time:  16037            Temperature: 29
Reset Counter: 3                Mode:        ONLINE
System mode:   LTE              PS state:    Attached
LTE band:      B3               LTE bw:      20 MHz
LTE Rx chan:   1300             LTE Tx chan: 19300
LTE CA state:  NOT ASSIGNED
EMM state:     Registered       Normal Service
RRC state:     RRC Idle
IMS reg state: No Srv

PCC RxM RSSI:  -53              RSRP (dBm):  -83
PCC RxD RSSI:  -51              RSRP (dBm):  -79
Tx Power:      0                TAC:         34BB (13499)
RSRQ (dB):     -8.1             Cell ID:     01C07901 (29391105)
SINR (dB):     17.4


OK

at+cpin?
+CPIN: READY

OK
at+cimi
262017340235726

OK
at+creg?
+CREG: 0,0

OK
at+cgreg?
+CGREG: 0,1

OK
at+cereg?
+CEREG: 0,1

OK
at+cops?
+cops: 0,0,"Telekom.de Telekom.de",7

OK
at!scact=1,1
OK

at+cgdcont?
+CGDCONT: 1,"IP","internet.telekom","0.0.0.0",0,0,0,0

#12

Johannes,

What are you using to connect from your PC i.e. dial up networking, etc?

One other command I forgot when it is attached both before and after the scact is at+cgpaddr=1, can you try this one just to see what the network is handing out.

Regards

Matt


#13

Just windows ™ connection manager. But I assume the modem is connected, but under my Linux system the interfaces arent informed correctly, e.g. I receive a valid IP

at+cgpaddr
+CGPADDR: 1,10.23.225.35

OK

but

sudo ip link
5: eth1: <NO-CARRIER,BROADCAST,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 3a:1a:83:8c:05:08 brd ff:ff:ff:ff:ff:ff
6: eth2: <NO-CARRIER,BROADCAST,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 3a:1a:83:8c:05:0a brd ff:ff:ff:ff:ff:ff
sudo cat /sys/bus/usb/devices/3-1:1.8/net/eth1/operstate
down
sudo cat /sys/bus/usb/devices/3-1:1.10/net/eth2/operstate
down

Operstate on both interfaces is down although the modem seems to be connected.


#14

When i set cgdcont to ipv4v6 I also receie a valid v6 address…


#15

Johannes,

I am getting a bit stuck with this one at the moment. Can you please try it with the username and password? Seing as how it is telekom’s internet APN there should be a DHCP server at the other end to respond which is where the key issue is here I think.

Is this an embedded system or an Ubuntu Linux laptop? If not a laptop can you try it on one?

Regards

Matt


#16

I finally managed to get it run. I don’t know which trigger I set… but it works now :slight_smile: :slight_smile: :slight_smile:. I am using NetworkManager now, which monitors ethernet device state… maybe that was the point…

Thank you for your support :slight_smile:

Best regards,
Johannes


#17

Johannes,

Glad to hear it is all up and running.

Network manager will just be doing the things automatically what we were trying to do manually, maybe it was doing something else we had not tried. A lot of people do not like running it because it can do things to interfaces which are unexpected as you are relinquishing control of a fairly big part of your system to it especially if ou are managing lots of interfaces as several of our customers are doing.

Anyway if it works to your satisfaction then happiness :smiley:.

Regards

Matt


#18

this worked :