Issues with IPv4v6 and IPv6 on openwrt with a Quectel EG06-E
Bjørn Mork
bjorn at mork.no
Fri Nov 8 10:14:13 UTC 2019
Aleksander Morgado <aleksander at aleksander.es> writes:
> Ok! we're close then. Looks like the IPv6 part may be overwriting the IPv4 one.
> Could you retry with the attached patch applied?
Success!
root at wrt1900ac-1:~# ifstatus mm
{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"dynamic": false,
"uptime": 37,
"l3_device": "wwan0",
"proto": "modemmanager",
"updated": [
"addresses",
"routes",
"prefixes"
],
"metric": 0,
"dns_metric": 0,
"delegation": true,
"ipv4-address": [
{
"address": "10.222.1.23",
"mask": 28
}
],
"ipv6-address": [
{
"address": "2a02:2121:305:867a:4077:d920:480:89da",
"mask": 128
}
],
"ipv6-prefix": [
{
"address": "2a02:2121:305:867a:4077:d920:480:89da",
"mask": 64,
"class": "mm",
"assigned": {
}
}
],
"ipv6-prefix-assignment": [
],
"route": [
{
"target": "2a02:2121:305:867a:2143:873b:8b8e:c760",
"mask": 128,
"nexthop": "::",
"source": "::/0"
},
{
"target": "::",
"mask": 0,
"nexthop": "2a02:2121:305:867a:2143:873b:8b8e:c760",
"source": "2a02:2121:305:867a:4077:d920:480:89da/64"
},
{
"target": "0.0.0.0",
"mask": 0,
"nexthop": "10.222.1.24",
"source": "10.222.1.23/32"
}
],
"dns-server": [
"193.213.112.4",
"130.67.15.198",
"2001:4600:4:fff::52",
"2001:4600:4:1fff::52"
],
"dns-search": [
],
"neighbors": [
],
"inactive": {
"ipv4-address": [
],
"ipv6-address": [
],
"route": [
],
"dns-server": [
],
"dns-search": [
],
"neighbors": [
]
},
"data": {
}
}
root at wrt1900ac-1:~# mmcli -b 0
--------------------------------
General | dbus path: /org/freedesktop/ModemManager1/Bearer/0
| type: default
--------------------------------
Status | connected: yes
| suspended: no
| interface: wwan0
| ip timeout: 20
--------------------------------
Properties | apn: telenor.smart
| roaming: allowed
| ip type: ipv4v6
--------------------------------
IPv4 configuration | method: static
| address: 10.222.1.23
| prefix: 28
| gateway: 10.222.1.24
| dns: 193.213.112.4, 130.67.15.198
| mtu: 1500
--------------------------------
IPv6 configuration | method: static
| address: 2a02:2121:305:867a:4077:d920:480:89da
| prefix: 64
| gateway: 2a02:2121:305:867a:2143:873b:8b8e:c760
| dns: 2001:4600:4:fff::52, 2001:4600:4:1fff::52
| mtu: 1540
--------------------------------
Statistics | duration: 30
| bytes rx: 192
root at wrt1900ac-1:~# ifconfig wwan0
wwan0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.222.1.23 P-t-P:10.222.1.23 Mask:255.255.255.240
inet6 addr: fe80::f925:3377:910a:11b7/64 Scope:Link
inet6 addr: 2a02:2121:305:867a:4077:d920:480:89da/128 Scope:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:42 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4872 (4.7 KiB) TX bytes:7482 (7.3 KiB)
I tried to provoke the NoEffect error with different illegal
combinations of APN and context type, but could not find a way to
reproduce it. I get either
error: couldn't start network: QMI protocol error (79): 'PolicyMismatch'
or
error: couldn't start network: QMI protocol error (14): 'CallFailed'
call end reason (1): generic-unspecified
verbose call end reason (2,210): [internal] pdn-ipv6-call-disallowed
The one thing I haven't yet tested is to modify the stored profile for
the APN I'm using. In my case I have:
root at wrt1900ac-1:~# qmicli -p -d /dev/cdc-wdm0 --wds-get-profile-list=3gpp
Profile list retrieved:
[1] 3gpp -
APN: 'telenor.smart'
PDP type: 'ipv4-or-ipv6'
PDP context number: '1'
Username: ''
Password: ''
Auth: 'none'
No roaming: 'no'
APN disabled: 'no'
[2] 3gpp -
APN: 'internet.public'
PDP type: 'ipv4'
PDP context number: '2'
Username: ''
Password: ''
Auth: 'none'
No roaming: 'no'
APN disabled: 'no'
I assume context number 1 is used for the default bearer, and that
changing the PDP type of it will affect the ability to connect to it
later. Maybe you'll get the NoEffect error if you create two profiles
for your dual-stack APN, where the first one is IPV6 and the second is
IPV4V6, and the default bearer already connected the first one?
Bjørn
More information about the libqmi-devel
mailing list