You are not logged in.

#1 2017-06-22 20:34:08

sakalli
Member
Registered: 2017-06-22
Posts: 2

NetworkManager crashes while attempting to create a wwan connection.

Hi *

First post and first time Arch user. Having problems connecting to my built in LTE modem on a Thinkpad T470p. I can get a connection working using an ugly hack, i.e. manually defining dns servers to `resolv.conf` and write protecting the file. My understanding of the situation is that `nm` crashes while attempting to establish a connection. nm then respawns but natuarally does not know of the open modem connection and dns servers that were received from the mobile provider.

The output from `journalctl -f -S now` when `nm` is trying to establish the connection is here

What might be the cause? How should it be fixed?

# The long story

System & package specs:

$ # system:
$ uname  -a
Linux arch 4.11.6-1-ARCH #1 SMP PREEMPT Sat Jun 17 08:19:42 CEST 2017 x86_64 GNU/Linux
$ pacman -Q libmbim
libmbim 1.14.0-4
$ pacman -Q modemmanager
modemmanager 1.6.8-1
$ pacman -Q networkmanager
networkmanager 1.8.0-1
$ sudo qmicli -d /dev/cdc-wdm0 --dms-get-manufacturer
[/dev/cdc-wdm0] Device manufacturer retrieved:
	Manufacturer: 'Sierra Wireless, Incorporated'
$ sudo qmicli -d /dev/cdc-wdm0 --dms-get-model
[/dev/cdc-wdm0] Device model retrieved:
	Model: 'EM7455' 

System state:

$ sudo mbimcli -p -d /dev/cdc-wdm0 --query-radio-state
[sudo] password for sakalli: 
[/dev/cdc-wdm0] Radio state retrieved:
	     Hardware Radio State: 'on'
	     Software Radio State: 'on'

$ nmcli g
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled 

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: wwp0s20f0u5i12: <BROADCAST,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

$ ping -c 1 google.com
PING google.com (216.58.209.110) 56(84) bytes of data.
64 bytes from arn06s07-in-f110.1e100.net (216.58.209.110): icmp_seq=1 ttl=55 time=8.69 ms 

The connection configuraion:

$ # modem connection conf
$ sudo cat /etc/NetworkManager/system-connections/LTE
[connection]
id=LTE
uuid=cb8550e/../
type=gsm
autoconnect=false
permissions=

[gsm]
apn=internet
number=*99#

[ipv4]
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto

## The process to identify and verify the behaviour

First, taking down the wifi connection:

$ nmcli c down id M18
Connection 'M18' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)

$ nmcli g
STATE         CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
disconnected  none          enabled  enabled  enabled  enabled 

$ nmcli c
NAME                  UUID                                  TYPE             DEVICE 
LTE                   xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  gsm              --     
M18                   xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  802-11-wireless  --     
Wired connection 1    xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  802-3-ethernet   --     

$ ping -c 1 8.8.8.8
connect: Network is unreachable

Try to bring up the modem connection

$ nmcli c up id LTE
^CError: nmcli terminated by signal Interrupt (2)

The command does not finish, nmcli needs to be stopped manually...

We now have wifi on again but no mobile connection.

$ nmcli c
NAME                  UUID                                  TYPE             DEVICE 
M18                   xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  802-11-wireless  wlp3s0 
LTE                   xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  gsm              --     
PortThree             xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  802-11-wireless  --     
Wired connection 1    xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  802-3-ethernet   --     

$ nmcli d
DEVICE     TYPE      STATE         CONNECTION 
wlp3s0     wifi      connected     M18        
cdc-wdm0   gsm       disconnected  --         
enp0s31f6  ethernet  unavailable   --         
lo         loopback  unmanaged     --         

$ nmcli g
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

Curiously we do have an ip through the wwp interface:

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.153/24 brd 192.168.1.255 scope global dynamic wlp3s0
       valid_lft 172705sec preferred_lft 172705sec
    inet6 xxxx::xxxx:xxx:xxxx:xxxx/64 scope link 
       valid_lft forever preferred_lft forever
3: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: wwp0s20f0u5i12: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 10.61.197.9/30 brd 10.61.197.11 scope global wwp0s20f0u5i12
       valid_lft forever preferred_lft forever

Lets turn the wifi radio off to investigate the wwp interface.

$ nmcli r wifi off

$ nmcli g
STATE         CONNECTIVITY  WIFI-HW  WIFI      WWAN-HW  WWAN    
disconnected  none          enabled  disabled  enabled  enabled 
$ nmcli c
NAME                  UUID                                  TYPE             DEVICE 
LTE                   xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  gsm              --     
M18                   xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  802-11-wireless  --     
PortThree             xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  802-11-wireless  --     
Wired connection 1    xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx  802-3-ethernet   --     

$ nmcli d
DEVICE     TYPE      STATE         CONNECTION 
cdc-wdm0   gsm       disconnected  --         
enp0s31f6  ethernet  unavailable   --         
wlp3s0     wifi      unavailable   --         
lo         loopback  unmanaged     --         

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: wwp0s20f0u5i12: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 10.61.197.9/30 brd 10.61.197.11 scope global wwp0s20f0u5i12
       valid_lft forever preferred_lft forever

So according to `nm` no connection although `ip addr` indeed still shows an ip. Lets try pinging.

$ ping -c 1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=54 time=126 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 126.802/126.802/126.802/0.000 ms

$ ping -c 1 google.com
ping: google.com: Name or service not known

$ cat /etc/resolv.conf
# Generated by NetworkManager 

So a connection yes, but no dns it seems.

What if we force resolv.conf to have manually entered dns ips?

$ cat tempdns.conf
# Generated by resolvconf
nameserver 8.8.8.8
nameserver 8.8.4.4

$ sudo cp tempdns.conf /etc/resolv.conf
$ cat /etc/resolv.conf
# Generated by resolvconf
nameserver 8.8.8.8
nameserver 8.8.4.4

$ sudo chattr +i /etc/resolv.conf  

And voila, now we have internet through the mobile connection.

$ ping -c 1 google.com
PING google.com (216.58.209.142) 56(84) bytes of data.
64 bytes from arn09s05-in-f142.1e100.net (216.58.209.142): icmp_seq=1 ttl=52 time=30.8 ms 

Lets try to establish the connection again. We'll save the logs (same as above):

$ # in another terminal ->> journalctl -f -S now > ~/LTE-trouble.log
$ # try to bring up the modem connection
$ nmcli c up id LTE
^CError: nmcli terminated by signal Interrupt (2)
$ ping google.com
PING google.com (216.58.209.142) 56(84) bytes of data.
64 bytes from arn09s05-in-f142.1e100.net (216.58.209.142): icmp_seq=1 ttl=52 time=25.7 ms
64 bytes from arn09s05-in-f142.1e100.net (216.58.209.142): icmp_seq=2 ttl=52 time=57.9 ms
64 bytes from arn09s05-in-f142.1e100.net (216.58.209.142): icmp_seq=3 ttl=52 time=64.7 ms 

Any help would be greatly appreciated!

Last edited by sakalli (2017-06-22 21:04:21)

Offline

#2 2017-06-22 20:40:36

loqs
Member
Registered: 2014-03-06
Posts: 19,114

Re: NetworkManager crashes while attempting to create a wwan connection.

Welcome to the arch linux forums sakalli.  Please see https://bugs.archlinux.org/task/54076

Offline

#3 2017-06-22 20:52:46

sakalli
Member
Registered: 2017-06-22
Posts: 2

Re: NetworkManager crashes while attempting to create a wwan connection.

Ah, thats it. Thank you loqs!

Offline

Board footer

Powered by FluxBB