NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
ChrisAU
Feb 28, 2017Aspirant
Sierra Wirless AirCard IPv6 Driver Support for Linux (Raspbian)
Hi There!
I’m building a Raspberry Pi 3 based Mobile Broadband Router using a Sierra Wireless U320 (and U312) modem, which works fine with IPv4, but not with IPv6.
I’m using the latest February 2017 release of Raspbian which has native driver support for the Sierra modems. The version of sierra_net.ko is v.2.0, while sierra.ko doesn't seem to have a useful version number available anywhere.
Basically my problem is that when using an IPV6 or IPV4V6 carrier profile, the Sierra Wireless modem is successfully receiving an IPv6 address, but fails to pass it back through to the driver and/or operating system.
I confirmed carrier profile settings with my service provider's IPv6 support team today (Telstra, Australia).
Any ideas where I might be going wrong? I’ve looked through the latest Linux driver source (3.2) available on the Netgear website, and it appears to include support for IPv6 as far as I can tell.
Help!? I realise these modems are offically unsupported under Linux, but hopefully someone might have an idea?
Some Details…
IPv4
Modem configuration for IPv4 only mode.
AT+CGDCONT=1,"IP","Telstra.internet"
AT!SCDFTPROF=1
AT!SCPROF=1,"",1,0,0,0
AT+CFUN=1
IPv4 Address assigned to modem from carrier:
AT!SCPADDR=1
!SCPADDR: 1,"10.100.32.255"
IPv4 DNS Servers assigned from carrier:
AT!SCNETDNS?
!SCNETDNS: 1,"10.4.58.204"
!SCNETDNS: 1,"10.4.27.70"
These address details are successfully passed through to the driver and are visible to Raspbian:
ifconfig wwan0
wwan0 Link encap:Ethernet HWaddr ba:d8:34:e1:03:07
inet addr:10.100.32.255 Bcast:10.100.32.255 Mask:255.255.255.0
inet6 addr: fe80::41fa:3dc9:f91a:a196/64 Scope:Link
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:6 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1200 (1.1 KiB) TX bytes:4553 (4.4 KiB)
Test ping using wwan0 interface:
ping -c 4 -I wwan0 google.com
PING google.com (216.58.199.46) from 10.100.32.255 wwan0: 56(84) bytes of data.
64 bytes from syd09s12-in-f46.1e100.net (216.58.199.46): icmp_seq=1 ttl=57 time=264 ms
64 bytes from syd09s12-in-f46.1e100.net (216.58.199.46): icmp_seq=2 ttl=57 time=30.9 ms
64 bytes from syd09s12-in-f46.1e100.net (216.58.199.46): icmp_seq=3 ttl=57 time=39.5 ms
64 bytes from syd09s12-in-f46.1e100.net (216.58.199.46): icmp_seq=4 ttl=57 time=38.3 ms
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 30.917/93.204/264.036/98.685 ms
So far all good! Now let's try IPv6...
IPv6
Modem configuration for IPv4v6 mode.
AT+CGDCONT=1,"IPV4V6","Telstra.internet"
AT!SCDFTPROF=1
AT!SCPROF=1,"",1,0,0,0
AT+CFUN=1
IPv4/v6 Addresses assigned to modem from carrier:
AT!SCPADDR=1
!SCPADDR: 1,"10.100.233.94" "2001:8004:1400:04DD:9B4D:05B2:9E83:0298"
IPv4 DNS Servers assigned from carrier:
AT!SCNETDNS?
!SCNETDNS: 1,"10.4.58.204"
!SCNETDNS: 1,"10.4.27.70"
However, neither the IPv4 or IPv6 address details appear to be passed through to the driver and are not visible to Raspbian:
ifconfig wwan0
wwan0 Link encap:Ethernet HWaddr ba:d8:34:e1:03:07
UP BROADCAST NOARP MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:19 errors:0 dropped:6 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1536 (1.5 KiB) TX bytes:4969 (4.8 KiB)
The same thing occurs if I use the IPV6 profile instead of IPV4V6.
1 Reply
- ChrisAUAspirant
For anyone interested, after a lot of searching and debugging, the problem was a limitation of the current sierra_net.ko driver - no IPv6 or IPv4v6 (Dual-Stack) Link Sense implemented.
I found a modified version of the driver source on GitHub that had been submitted for inclusion with future Linux kernel implementations. I compiled this and now it just works! :smileyvery-happy:
Thanks to everyone who read my post!
Chris.