MC7455 ModemManager Connect problem

I’m trying to connect a box with a MC7455 card in it to internet, I use Gobi drivers after many issues with qmi_wwan.
I connected the modem to my Provider and succesfully send messages

~$ sudo mmcli -m 0 --simple-connect=“apn=mmsbouygtel.com
successfully connected the modem

~$ sudo mmcli -b 0
Bearer ‘/org/freedesktop/ModemManager1/Bearer/0’

Status | connected: ‘yes’
| suspended: ‘no’
| interface: ‘ttyUSB2’
| IP timeout: ‘20’

Properties | apn: ‘mmsbouygtel.com
| roaming: ‘allowed’
| IP type: ‘none’
| user: ‘none’
| password: ‘none’
| number: ‘none’
| Rm protocol: ‘unknown’

IPv4 configuration | method: ‘ppp’
| address: ‘unknown’
| prefix: ‘0’
| gateway: ‘unknown’
| DNS: none

IPv6 configuration | method: ‘unknown’

Stats | Duration: ‘0’
| Bytes received: ‘N/A’
| Bytes transmitted: ‘N/A’

Then I use pppd to connect to my primary port :

~$ sudo pppd -d -detach /dev/ttyUSB2
using channel 2
Using interface ppp0
Connect: ppp0 <–> /dev/ttyUSB2
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2e6af910> ]
rcvd [LCP ConfReq id=0x4 <asyncmap 0x0> <magic 0xfe8ac0d6> ]
sent [LCP ConfNak id=0x4 ]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x2e6af910> ]
rcvd [LCP ConfReq id=0x5 <asyncmap 0x0> <magic 0xfe8ac0d6> ]
sent [LCP ConfAck id=0x5 <asyncmap 0x0> <magic 0xfe8ac0d6> ]
sent [LCP EchoReq id=0x0 magic=0x2e6af910]
sent [PAP AuthReq id=0x1 user="" password=]
rcvd [LCP DiscReq id=0x6 magic=0xfe8ac0d6]
rcvd [LCP EchoRep id=0x0 magic=0xfe8ac0d6 2e 6a f9 10]
rcvd [PAP AuthAck id=0x1 “”]
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0>]
rcvd [LCP ProtRej id=0x7 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for ‘Compression Control Protocol’ (0x80fd) received
rcvd [IPCP ConfNak id=0x1 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
rcvd [IPCP ConfNak id=0x2 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x3 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
rcvd [IPCP ConfNak id=0x3 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x4 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
rcvd [IPCP ConfReq id=0x0]
sent [IPCP ConfNak id=0x0 <addr 0.0.0.0>]
rcvd [IPCP ConfRej id=0x4 <compress VJ 0f 01> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x5 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
rcvd [IPCP ConfReq id=0x1]
sent [IPCP ConfAck id=0x1]
rcvd [IPCP ConfNak id=0x5 <addr 10.212.215.109> <ms-dns1 62.201.129.99> <ms-dns2 62.201.159.99>]
sent [IPCP ConfReq id=0x6 <addr 10.212.215.109> <ms-dns1 62.201.129.99> <ms-dns2 62.201.159.99>]
rcvd [IPCP ConfAck id=0x6 <addr 10.212.215.109> <ms-dns1 62.201.129.99> <ms-dns2 62.201.159.99>]
Could not determine remote IP address: defaulting to 10.64.64.64
local IP address 10.212.215.109
remote IP address 10.64.64.64
primary DNS address 62.201.129.99
secondary DNS address 62.201.159.99
Script /etc/ppp/ip-up started (pid 2148)
Script /etc/ppp/ip-up finished (pid 2148), status = 0x0

ifconfig returns

~$ ifconfig
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet * netmask 255.255.255.0 broadcast *
inet6 * prefixlen 64 scopeid 0x20
ether * txqueuelen 1000 (Ethernet)
RX packets 801 bytes 71305 (71.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 276 bytes 40923 (40.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xdf300000-df320000

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Boucle locale)
RX packets 336 bytes 24868 (24.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 336 bytes 24868 (24.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.212.215.109 netmask 255.255.255.255 destination 10.64.64.64
ppp txqueuelen 3 (Protocole Point-à-Point)
RX packets 5 bytes 38 (38.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 65 (65.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.10.0.1 netmask 255.255.255.0 broadcast 10.10.0.255
inet6 fe80::6f0:21ff:fe1d:78a9 prefixlen 64 scopeid 0x20
ether 04:f0:21:1d:78:a9 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 2108 (2.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

But if I bring ethernet down and try to ping 8.8.8.8 it doesn’t work
I m newbie in this domain so an help would be nice

Hi,

With Mc745 I would not recommend using PPP, technically it is no longer supported by the Qualcomm chipsets (although it still works fine). Also if you are building a robust application the modem manger can be a little difficult to control as it goes off and does things on its own sometimes, most developers turn the modem and network managers off to give themselves maximum control.

I would use the RMNet interfaces with AT commands activating the network interfface on the host, then the unit will just look like an ethernet interface which is much easier to handle. How to do this is contained in the attached application note.

With regards why the connection is not working it might be the APN you are using, the mmsbouygtel.com implies it is for handsets or MMS only hence no internet access. Whenever I have used Bouygues SIM’s it has generally been with the APN a2bouygtel.

Regards

Matt

Hi thank you for your fast reply,

I verified on internet the apn for bouyges is mmsbouygtel.com for both internet and sms

I’ve already tried with at command but i’ve failed it’s why i wanted to try with modemmanager and lib qmi

I did

AT+cgatt?

+CGATT: 1

OK

at+cgdcont?

+CGDCONT: 1,“IP”,“mmsbouygtel.com”,“0.0.0.0”,0,0,0,0

OK
at+cgact=1,1

OK
at+cgact?

+CGACT: 1,1

OK

~$ ifconfig
enp0s20f0u6i8: flags=4227<UP,BROADCAST,NOARP,MULTICAST> mtu 1500
ether 8e:60:be:89:c3:37 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

enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet netmask 255.255.255.0 broadcast
inet6 prefixlen 64 scopeid 0x20
ether txqueuelen 1000 (Ethernet)
RX packets 3978 bytes 342443 (342.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 895 bytes 130045 (130.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xdf300000-df320000

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Boucle locale)
RX packets 346 bytes 25708 (25.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 346 bytes 25708 (25.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.10.0.1 netmask 255.255.255.0 broadcast 10.10.0.255
inet6 fe80::6f0:21ff:fe1d:78a9 prefixlen 64 scopeid 0x20
ether 04:f0:21:1d:78:a9 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 2284 (2.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

But still no ip address to my interface do I need give it a static ip address in etc/network/interfaces?

Thank you for your help

Hi,

Its not at+cgact=1,1 its at!scact=1,1, after this (assuming it returns OK) if you don’t see one of the interfaces populated with an IP address send (because the network manager has not detected it) then send the below commands which manually does what the network manager does.

sudo dhclient enp0s20f0u6i8

also give

sudo dhclient enp0s31f6

Hopefully you will see some IP addresses after this in the interfaces.

Also it seems strange to me that you do not have two ethernet interfaces enumerating on your system for the MC, can you confirm which ones are for the MC?

Regards

Matt

I have a second one it’s just it’s down so you don’t see it in ifconfig

at!scact=1,1

OK
at!scact?

!SCACT: 1,1

OK

:~$ sudo dhclient enp0s20f0u6i8 -v
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit isc.org/software/dhcp/

Listening on LPF/enp0s20f0u6i8/8e:60:be:89:c3:37
Sending on LPF/enp0s20f0u6i8/8e:60:be:89:c3:37
Sending on Socket/fallback
DHCPREQUEST of 10.211.31.69 on enp0s20f0u6i8 to 255.255.255.255 port 67 (xid=0x5e22a868)
DHCPACK of 10.211.31.69 from 10.211.31.70
RTNETLINK answers: File exists
bound to 10.211.31.69 – renewal in 3222 seconds.

julien@wifebox2:~$ sudo dhclient enp0s31f6
RTNETLINK answers: File exists

~$ ifconfig
enp0s20f0u6i8: flags=4291<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.211.31.69 netmask 255.255.255.252 broadcast 10.211.31.71
inet6 fe80::8c60:beff:fe89:c337 prefixlen 64 scopeid 0x20
ether 8e:60:be:89:c3:37 txqueuelen 1000 (Ethernet)
RX packets 3 bytes 960 (960.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 2204 (2.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

It works but still no internet connexion

~$ ping 8.8.8.8
connect: the network is not accessible

I would suggest trying a different SIM as a first step.

Also check out the routing in your system, you might also want to send

ping -I enp0s20f0u6i8 8.8.8.8

Regards

Matt

I tried with a free sim with the apn free but same problem ping return 100% loss so sim doesn’it seem to be the problem

~$ route -n
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
0.0.0.0 *** 0.0.0.0 UG 0 0 0 enp0s31f6
10.10.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0
10.212.120.84 0.0.0.0 255.255.255.252 U 0 0 0 enp0s20f0u6i8
*** 0.0.0.0 255.255.255.0 U 0 0 0 enp0s31f6

~$ ping -I enp0s20f0u6i8 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 10.212.120.86 enp0s20f0u6i8: 56(84) bytes of data.
^C
— 8.8.8.8 ping statistics —
5 packets transmitted, 0 received, 100% packet loss, time 4099ms

A bit out of topic maybe, but which are the things that ModemManager does on its own sometimes? :smiley:

Also, I don’t think the claim that most developers turn the MM and NM off to give themselves maximum control is accurate. E.g. you can still do full QMI communications with the device while MM does its own state machine, using qmicli or some other application (e.g. the Mobile Radio Monitor) through the qmi-proxy.

If you install the Gobi Drivers, ModemManager won’t be able to use the WWAN network interface, and as you see it will default to using PPP over a TTY; not desirable.

MC7455 will only work in Linux kernel >= 4.4 with the qmi_wwan driver, as it requires raw-ip support.

Only ModemManager >= 1.6 will work with the MC7455, as this device doesn’t support the legacy “DMS UIM” commands that were used prior to 1.6 for e.g. SIM unlock checks.

If you use the MC7455 with Linux kernel (without GobiNet) >= 4.4 + ModemManager >= 1.6, everything will work.

P.S.: ModemManager related issues probably better in the ModemManager mailing list:wink:

Hi Aleksander, thank you for your help

When I changed from Gobi to linux kernel it worked well, my modem is in static ip addressing mode

~$ sudo mmcli -b 0
Bearer ‘/org/freedesktop/ModemManager1/Bearer/0’

Status | connected: ‘yes’
| suspended: ‘no’
| interface: ‘wwp0s20f0u6i8’
| IP timeout: ‘20’

Properties | apn: ‘mmsbouygtel.com
| roaming: ‘allowed’
| IP type: ‘none’
| user: ‘none’
| password: ‘none’
| number: ‘none’
| Rm protocol: ‘unknown’

IPv4 configuration | method: ‘static’
| address: ‘10.212.108.250’
| prefix: ‘30’
| gateway: ‘10.212.108.249’
| DNS: ‘62.201.129.99’, ‘62.201.159.99’
| MTU: ‘1500’

IPv6 configuration | method: ‘unknown’

Stats | Duration: ‘329’
| Bytes received: ‘N/A’
| Bytes transmitted: ‘N/A’

but my interface isn’t up

~$ ifconfig
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet netmask 255.255.255.0 broadcast
inet6 prefixlen 64 scopeid 0x20
ether txqueuelen 1000 (Ethernet)
RX packets 1454 bytes 138198 (138.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 231 bytes 32199 (32.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xdf300000-df320000

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Boucle locale)
RX packets 700 bytes 52204 (52.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 700 bytes 52204 (52.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

and when I bring it up

~$ sudo ifconfig wwp0s20f0u6i8 up

I don’t have any ip address

wwp0s20f0u6i8: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet6 fe80::ef2d:ce86:2e80:bfa4 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 576 (576.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

I tried dhclient

sudo dhclient wwp0s20f0u6i8 -v

But it returns an error

Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit isc.org/software/dhcp/

Unsupported device type 65534 for “wwp0s20f0u6i8”

If you think you have received this message due to a bug rather
than a configuration issue please read the section on submitting
bugs on either our web page at www.isc.org or in the README file
before submitting a bug. These pages explain the proper
process and the information we find helpful for debugging…

exiting.

Thank you again for your help

PS: I’ll make a post on the modem manager mailing list

I’ve seen on internet that ModemManager does not configure the network interface, so I try with Network Manager

~$ sudo nmcli c add type gsm ifname cdc-wdm1 con-name modem apn mmsbouygtel.com

~$ sudo nmcli con show

NAME UUID TYPE DEVICE
modem 4715ae50-953e-4186-bf21-b223d143ab7c gsm –

~$ nmcli c up modem ifname cdc-wdm1

Error: Connection ‘modem’ is not available on the device cdc-wdm1 at this time

~$ nmcli d

DEVICE TYPE STATE CONNEXION
cdc-wdm1 gsm not managed —

Is someone have any clue on this issue?

Regards

For reference, if anyone interested, here is the email thread in the ModemManager mailing list.

After upgrading the firmware of my card to the SWI9X30C_02.24.03.00 002.021_000

I have now an error when I send AT!SCACT=1,1 : CME ERROR No network service but the simple connect of modem manager still works

Hi ,
We are using MC7455 Module , we are facing same issue with modemmanager
we are getting static IP in mmcli -b 0 , but that ip is not redirecting to ifconfig command .
the LTE interface also not managed in nmcli d command .
nmcli d
DEVICE TYPE STATE CONNECTION
wwp0s20f0u6i8 wwan unmanaged

please help.

ModemManager does not propagate the IP settings from the bearer object info to the network interface, that is a job for NetworkManager.

Are you using a standard Linux distribution or your own system build? Make sure your NetworkManager is built with ModemManager support (–with-modem-manager-1 option in configure)