MC7455: Linux Routing - Manually Configure Networking

JM jmmec2014 at yahoo.com
Sun Aug 13 21:57:17 UTC 2017


OK, it was time to reboot my linux box and the MC7455 and start from scratch.

Everything now works!  :)

Below is everything I did in case it helps someone else in the future.

A few other notes:

1. I didn't mess with trying to get an IMS connection also setup. It's not required as far as the experience below indicates; see the "IMS reg state: No Srv" output of AT!GSTATUS? below.

2. Speedtest results:  I used testmy.net and got 14.4Mbps down / 4.4Mbps up using Verizon Band 4 (AWS) with a single parabolic grid antenna on MAIN, with a very crappy antenna plugged into AUX. I have other LTE data devices and these speeds with the MC7455 are great.  I rarely get anything faster, but have gotten as fast as 20Mbps down / 5Mbps up.

3. Next I will attempt to update the MC7455 firmware using the qmi-firmware-update tool, and hope I don't wind up bricking it.  The device came with & is currently running 02.08.02.00_GENERIC, but I plan to upgrade to 02.24.05.06_00_VERIZON_002.034_000.

4. Not sure if the MTU for the host interface (set to 1500) should be decreased to match the "--wds-get-current-settings" (set to 1428 on Verizon).

5. My real intent is to connect this to a RaspberryPi (running ArchLinuxArm) and use your routing examples from this post to forward traffic between wireless and LTE.  I'll need to write some configuration & monitoring scripts, and explore other options available in libqmi/qmicli.

https://forums.whirlpool.net.au/forum-replies.cfm?t=2530290&p=18#r360

Really appreciate your help!

-------------

Below I am using /dev/cdc-wdm2, but I'll try later to see if I get the same results with /dev/cdc-wdm1.  My linux box is running ArchLinux kernel version 4.12.5, and libqmi/qmicli version 1.18.0

The MC7455 is in a PCI-E <-> USB adapter which is plugged into a powered hub which is plugged into my linux box over a USB2 interface.  Plug it in:

# dmesg
[  114.263226] usb 2-2.5: new high-speed USB device number 3 using xhci_hcd
[  114.356735] usb 2-2.5: config 1 has an invalid interface number: 8 but max is 4
[  114.356741] usb 2-2.5: config 1 has an invalid interface number: 10 but max is 4
[  114.356746] usb 2-2.5: config 1 has no interface number 1
[  114.356749] usb 2-2.5: config 1 has no interface number 4
[  114.465395] usbcore: registered new interface driver usbserial
[  114.465406] usbcore: registered new interface driver usbserial_generic
[  114.465414] usbserial: USB Serial support registered for generic
[  114.487762] usbcore: registered new interface driver qcserial
[  114.487779] usbserial: USB Serial support registered for Qualcomm USB modem
[  114.488799] qcserial 2-2.5:1.0: Qualcomm USB modem converter detected
[  114.488909] usb 2-2.5: Qualcomm USB modem converter now attached to ttyUSB0
[  114.490175] qcserial 2-2.5:1.2: Qualcomm USB modem converter detected
[  114.490298] usb 2-2.5: Qualcomm USB modem converter now attached to ttyUSB1
[  114.491551] qcserial 2-2.5:1.3: Qualcomm USB modem converter detected
[  114.491680] usb 2-2.5: Qualcomm USB modem converter now attached to ttyUSB2
[  114.509901] usbcore: registered new interface driver cdc_wdm
[  114.513343] qmi_wwan 2-2.5:1.8: cdc-wdm1: USB WDM device
[  114.513828] qmi_wwan 2-2.5:1.8 wwan0: register 'qmi_wwan' at usb-0000:19:00.0-2.5, WWAN/QMI device, 0e:13:27:8a:57:7f
[  114.515098] qmi_wwan 2-2.5:1.10: cdc-wdm2: USB WDM device
[  114.515547] qmi_wwan 2-2.5:1.10 wwan1: register 'qmi_wwan' at usb-0000:19:00.0-2.5, WWAN/QMI device, 0e:13:27:8a:57:7f
[  114.515565] usbcore: registered new interface driver qmi_wwan
[  114.517467] qmi_wwan 2-2.5:1.10 wwp25s0u2u5i10: renamed from wwan1
[  114.536948] qmi_wwan 2-2.5:1.8 wwp25s0u2u5i8: renamed from wwan0


# ls /dev/cdc*
/dev/cdc-wdm1  /dev/cdc-wdm2


# qmicli -p -d /dev/cdc-wdm2 --wda-get-data-format
[/dev/cdc-wdm2] Successfully got data format
                   QoS flow header: no
               Link layer protocol: 'raw-ip'
  Uplink data aggregation protocol: 'disabled'
Downlink data aggregation protocol: 'disabled'
                     NDP signature: '0'
  Uplink data aggregation max size: '0'
Downlink data aggregation max size: '0'


# ip link 
4: wwp25s0u2u5i8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 0e:13:27:8a:57:7f brd ff:ff:ff:ff:ff:ff
5: wwp25s0u2u5i10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 0e:13:27:8a:57:7f brd ff:ff:ff:ff:ff:ff


# ip link set wwp25s0u2u5i10 down


# qmicli -p -d /dev/cdc-wdm2 --set-expected-data-format=raw-ip 
[/dev/cdc-wdm2] expected data format set to: raw-ip


# ip link set wwp25s0u2u5i10 up


# ip link
5: wwp25s0u2u5i10: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
    link/none 


// I need to learn more about available options:  right // now just setting up an IPv4 connection.# qmicli -p -d /dev/cdc-wdm2 --wds-start-network="apn=VZWINTERNET,ip-type=4" --device-open-net="net-raw-ip|net-no-qos-header" --device-open-sync --client-no-release-cid
[/dev/cdc-wdm2] Network started
    Packet data handle: '62780608'
[/dev/cdc-wdm2] Client ID not released:
    Service: 'wds'
        CID: '36'


# qmicli -p -d /dev/cdc-wdm2 --wds-get-packet-service-status
[/dev/cdc-wdm2] Connection status: 'connected'


# qmicli -p -d /dev/cdc-wdm2 --wds-get-current-settings
[/dev/cdc-wdm2] Current settings retrieved:
           IP Family: IPv4
        IPv4 address: 100.112.19.126
    IPv4 subnet mask: 255.255.255.252
IPv4 gateway address: 100.112.19.125
    IPv4 primary DNS: 198.224.172.135
  IPv4 secondary DNS: 198.224.175.135
                 MTU: 1428
             Domains: none


# ip addr add wwp25s0u2u5i10 dev wwp25s0u2u5i10


# ip addr
5: wwp25s0u2u5i10: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/none 
    inet 100.112.19.126/32 scope global wwp25s0u2u5i10
       valid_lft forever preferred_lft forever


# ip route add default dev wwp25s0u2u5i10


# ip route
default dev wwp25s0u2u5i10 scope link 


# qmicli -p -d /dev/cdc-wdm2 --wds-get-packet-service-status
[/dev/cdc-wdm2] Connection status: 'connected'


// I did ping too quickly and it failed; even though the IP 
// address is already assigned, doesn't look like the PDN 
// is truly established with the SGW / PGW yet?
# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5077ms


# qmicli -p -d /dev/cdc-wdm2 --wds-get-packet-service-status
[/dev/cdc-wdm2] Connection status: 'connected'


// I waited another 30 seconds and did another ping and 
// this time it was successful.
# ping 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=299 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=113 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=54 time=121 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=54 time=118 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=54 time=110 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 110.300/152.452/299.193/73.468 ms


# qmicli -p -d /dev/cdc-wdm2 --nas-get-signal-info
[/dev/cdc-wdm2] Successfully got signal info
LTE:
    RSSI: '-69 dBm'
    RSRQ: '-13 dB'
    RSRP: '-102 dBm'
    SNR: '9.8 dB'


# minicom -D /dev/ttyUSB2

ATI
Manufacturer: Sierra Wireless, Incorporated
Model: MC7455
Revision: SWI9X30C_02.08.02.00 r5428 CARMD-EV-FRMWR2 2016/01/06 20:38:53
... blah blah ...


AT!GSTATUS?
Current Time:  5109             Temperature: 26
Reset Counter: 1                Mode:        ONLINE         
System mode:   LTE              PS state:    Attached     
LTE band:      B4               LTE bw:      20 MHz  
LTE Rx chan:   2050             LTE Tx chan: 20050
LTE CA state:  NOT ASSIGNED
EMM state:     Registered       Normal Service 
RRC state:     RRC Idle       
IMS reg state: No Srv  

PCC RxM RSSI:  -69              RSRP (dBm):  -100
PCC RxD RSSI:  -90              RSRP (dBm):  -132
Tx Power:      0                TAC:         1A02 (6658)
RSRQ (dB):     -11.5            Cell ID:     0067A00C (6791180)
SINR (dB):      9.4


It's been connected for at least an hour, and the connection hasn't dropped, which is great!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libqmi-devel/attachments/20170813/42c96b89/attachment-0001.html>


More information about the libqmi-devel mailing list