MF286 + OpenWrt 25.12.0: IPv6 fails with pdptype ipv4v6

Device: ZTE MF286 (non-letter version, QCA9563, modem 19d2:1432)
Firmware: OpenWrt 25.12.0

The problem: When I set pdptype ipv4v6 (dual stack), the modem refuses to connect altogether — neither IPv4 nor IPv6 works. The only way to get online is to keep pdptype ipv4. IPv4 works fine after I've manually fixed the masquerading rule for it.

The question: How can I properly debug this? Is it an operator-side issue (no IPv6 PD support on the tower/APN) or a device/OpenWrt configuration issue?

Do you have any confirmation of IPv6 support on the ISP side?

I'm sorry, but ISP does not provide ipv6 for routers :frowning:

Only for some smartphones. It was stupid not to check this first... :frowning:

Then IPv6 should not be mentioned in the configuration if it's QMI. It should be no issue in other modes.

Hi,

I encountered the exact same issue with dual-stack (IPv4/IPv6) negotiation failing when using PDPType=IPv4v6. In my case, it happened on a GL.iNet GL-X750 with a Quectel EP06-E modem.

The solution that completely fixed the issue for me was switching the modem management protocol from QMI to MBIM. Under QMI, IPv6 would constantly fail to establish properly, but after switching to MBIM, a clean dual-stack connection was established immediately without any issues.

Here is what you can try:

Important Note first: Please check if your specific modem supports the MBIM protocol, as not all modems support both QMI and MBIM. You might need to check your modem's documentation or AT command manual to see if it can be switched to MBIM mode.

1. Ensure the required MBIM packages are installed on your OpenWrt device:

  • umbim

  • kmod-usb-net-cdc-mbim

2. Change the protocol:

  • Go to your network interface settings (either via LuCI or directly in /etc/config/network).

  • Change the protocol of your modem interface from QMI cellular to MBIM cellular.

3. Keep your APN settings as they are (IPv4v6).

If your modem supports MBIM, definitely give it a try—it handles dual-stack connections much more reliably on many LTE modems under OpenWrt. Let us know if this works for you!

For reference, here is the log of my successful connection negotiation after switching to MBIM. You can see how smoothly both IPv4 and IPv6 protocols are now negotiated:

[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): devicetype: 0003 - remote
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): cellularclass: 0001
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): voiceclass: 0001 - no-voice
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): simclass: 0002
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): dataclass: 003C
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): smscaps: 0003
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): controlcaps: 0001
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): maxsessions: 0008
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): deviceid: xxxx
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): firmwareinfo: EP06ELAR04A22M4G
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): hardwareinfo: EP06-E
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): mbim[4115] Checking pin
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): required pin: 3 - pin2
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): remaining attempts: 3
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): mbim[4115] Checking subscriber
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): readystate: 0001 - initialized
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): simiccid: xxx
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): subscriberid: xxx
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): mbim[4115] Register with network
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): nwerror: 0000 - unknown
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): registerstate: 0003 - home
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): registermode: 0001 - automatic
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): availabledataclasses: 0020 - lte
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): currentcellularclass: 0001 - gsm
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): provider_id: xx03
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): provider_name: xxx
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): roamingtext: (null)
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): mbim[4115] Registered in home mode
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): mbim[4115] Attach to network
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): nwerror: 0000 - unknown
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): packetservicestate: 0002 - attached
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): uplinkspeed: 50000000
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): downlinkspeed: 100000000
[14.05.2026, 00:46:21 MESZ] daemon.notice: netifd: LTE (4115): mbim[4115] Connect to network
[14.05.2026, 00:46:22 MESZ] daemon.notice: netifd: LTE (4115): sessionid: 0
[14.05.2026, 00:46:22 MESZ] daemon.notice: netifd: LTE (4115): activationstate: 0001 - activated
[14.05.2026, 00:46:22 MESZ] daemon.notice: netifd: LTE (4115): voicecallstate: 0000 - none
[14.05.2026, 00:46:22 MESZ] daemon.notice: netifd: LTE (4115): nwerror: 0000 - unknown
[14.05.2026, 00:46:22 MESZ] daemon.notice: netifd: LTE (4115): iptype: 0003 - ipv4v6
[14.05.2026, 00:46:22 MESZ] daemon.notice: netifd: LTE (4115): mbim[4115] Connected
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): mbim[4115] Setting up wwan0
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv4address: xxx.xxx.xx.83/29
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv4gateway: xx.xxx.17.84
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv4mtu: 1460
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv4dnsserver: xx.xx.xx.199
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv4dnsserver: xx.xx.xx.71
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv6address: xxx:xxx:xx:xx:xx:xxx:4a78:de6/64
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv6gateway: xxx:xxx:xxx:xxx:xxx:xx:68dd:9fc5
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv6mtu: 1430
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv6dnsserver: xxx:xxx:xx:2:0:0:0:41
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: LTE (4115): ipv6dnsserver: xx:xx:xx:0:0:0:0:41
[14.05.2026, 00:46:23 MESZ] kern.info: [ 272.815424] 8021q: adding VLAN 0 to HW filter on device wwan0
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: Interface 'LTE' is now up
[14.05.2026, 00:46:23 MESZ] daemon.notice: netifd: Network device 'wwan0' link is up
[14.05.2026, 00:46:24 MESZ] daemon.notice: netifd: Network alias 'wwan0' link is up
[14.05.2026, 00:46:24 MESZ] daemon.notice: netifd: Interface 'LTE_4' is enabled
[14.05.2026, 00:46:24 MESZ] daemon.notice: netifd: Interface 'LTE_4' is setting up now
[14.05.2026, 00:46:24 MESZ] daemon.notice: netifd: Interface 'LTE_4' is now up
[14.05.2026, 00:46:24 MESZ] daemon.info: dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
[14.05.2026, 00:46:24 MESZ] daemon.info: dnsmasq[1]: using nameserver xx.xx.85.199#53
[14.05.2026, 00:46:24 MESZ] daemon.info: dnsmasq[1]: using nameserver xx.xx.198.71#53