ZBT WE1326 3G/4G error when sending AT+CGDCONT=1

The router came with 15.05 image with working 3G/4G out of the box, but wireless activity sucks, e.g.: 2.4G can see 5G devices and vice versa, but devices on the same frequency can't see each other. Inter-device transfer speed is only 4-10 MBps.

Since this device has been supported quite a while, I flash 18.06.2 image and the wireless activity problems above are solved, plus I can get over 10 MBps transfer speed. However, the 3G/4G wasn't working. Diff-ing opkg list between 15.05 and 18.06.2 image, I get a bunch of missing packages, few are no longer available (or perhaps renamed?). Complete list is as follows:

15.05 on the left, 18.06.2 on the right:

8021xd							      <
ated							      <
block-mount						      <
fdisk							      <
freifunk-watchdog					      <
							      >	fwtool
							      >	ip6tables
iptables-mod-conntrack-extra				      <
iptables-mod-ipopt					      <
isc-dhcp-server-ipv4					      <
isc-dhcp-server-ipv6					      <
kmod-ata-ahci						      <
kmod-ata-core						      <
kmod-crypto-aead					      <
kmod-crypto-aes						      <
kmod-crypto-arc4					      <
kmod-crypto-authenc					      <
kmod-crypto-cbc						      <
kmod-crypto-core					      <
kmod-crypto-deflate					      <
kmod-crypto-des						      <
kmod-crypto-ecb						      <
kmod-crypto-hash					      <
kmod-crypto-hmac					      <
kmod-crypto-iv						      <
kmod-crypto-manager					      <
kmod-crypto-md5						      <
kmod-crypto-pcompress					      <
kmod-crypto-rng						      <
kmod-crypto-sha1					      <
kmod-crypto-wq						      <
kmod-eeprom-93cx6					      <
kmod-fs-configfs					      <
kmod-fs-ext4						      <
kmod-fs-vfat						      <
kmod-gre						      <
kmod-ifb						      <
kmod-ipsec						      <
kmod-ipsec4						      <
kmod-ipsec6						      <
kmod-ipt-conntrack-extra				      <
kmod-ipt-ipopt						      <
kmod-iptunnel						      |	kmod-ipt-offload
kmod-iptunnel4						      <
kmod-iptunnel6						      <
kmod-ipv6						      <
kmod-l2tp						      <
kmod-l2tp-eth						      <
kmod-l2tp-ip						      <
kmod-ledtrig-netdev					      <
kmod-ledtrig-usbdev					      <
kmod-lib-crc-itu-t					      |	kmod-mac80211
kmod-lib-crc16						      <
kmod-lib-crc7						      <
kmod-lib-zlib						      <
kmod-libphy						      <
kmod-macvlan						      <
kmod-mii						      <
kmod-mmc-over-gpio					      |	kmod-mt76-core
kmod-mmc-spi						      |	kmod-mt7603
kmod-mppe						      |	kmod-mt76x02-common
kmod-mt7603e						      <
							      >	kmod-mt76x2-common
							      >	kmod-nf-flow
kmod-nf-nathelper					      |	kmod-nf-reject
							      >	kmod-nf-reject6
kmod-nls-cp437						      <
kmod-nls-iso8859-1					      <
kmod-nls-utf8						      <
kmod-ppp-synctty					      <
kmod-pppol2tp						      <
kmod-pptp						      <
kmod-sched-connmark					      <
kmod-sched-core						      <
kmod-scsi-core						      <
kmod-scsi-generic					      <
kmod-sdhci						      <
kmod-spi-bitbang					      <
kmod-spi-gpio-old					      <
kmod-swconfig						      <
kmod-udptunnel4						      <
kmod-udptunnel6						      <
kmod-usb-net						      <
kmod-usb-net-cdc-ether					      <
kmod-usb-net-qmi-wwan					      <
kmod-usb-ohci						      <
kmod-usb-serial-option					      <
kmod-usb-serial-wwan					      <
kmod-usb-storage					      <
kmod-usb-storage-extras					      <
kmod-usb-uhci						      <
kmod-usb-wdm						      <
libblkid						      <
							      >	liblucihttp
							      >	liblucihttp-lua
librt							      <
libsmartcols						      <
libuci-lua						      |	libuclient
libusb-1.0						      <
libuuid							      <
							      >	logd
luci-app-mmc-over-gpio					      <
luci-app-multiwan					      <
luci-app-qos						      <
luci-app-samba						      <
luci-i18n-base-en					      <
luci-i18n-base-zh-cn					      <
luci-i18n-firewall-en					      <
luci-i18n-firewall-zh-cn				      <
luci-i18n-mmc-over-gpio-en				      <
luci-i18n-mmc-over-gpio-zh-cn				      <
luci-i18n-multiwan-en					      <
luci-i18n-multiwan-zh-cn				      <
luci-i18n-qos-en					      <
luci-i18n-qos-zh-cn					      <
luci-i18n-samba-en					      <
luci-i18n-samba-zh-cn					      <
							      >	luci-lib-jsonc
maccalc							      <
mmc-utils						      <
							      >	odhcp6c
							      >	odhcpd-ipv6only
							      >	openwrt-keyring
ppp-mod-pppol2tp					      <
ppp-mod-pptp						      <
ppp-mod-radius						      <
ppp-multilink						      <
qos-scripts						      <
resolveip						      <
samba36-server						      |	rpcd-mod-rrdns
tc							      |	ubi-utils
uci2dat							      |	uclient-fetch
uhttpd-mod-ubus						      |	usign
usbutils						      |	wireless-regdb
wireless-tools						      <
zlib							      <

plus their missing dependencies, I somewhat manage to install most of the missing packages. Now the interface menu has option for GPRS/UMTS/EVDO, I can put my APN and voila:

Fri Mar 29 17:38:13 2019 daemon.notice pppd[3946]: pppd 2.4.7 started by root, uid 0
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: abort on (BUSY)
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: abort on (NO CARRIER)
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: abort on (ERROR)
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: report (CONNECT)
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: timeout set to 10 seconds
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: send (AT&F^M)
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: expect (OK)
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: AT&F^M^M
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: OK
Fri Mar 29 17:38:14 2019 local2.info chat[3948]:  -- got it
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: send (ATE1^M)
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: expect (OK)
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: ^M
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: ATE1^M^M
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: OK
Fri Mar 29 17:38:14 2019 local2.info chat[3948]:  -- got it
Fri Mar 29 17:38:14 2019 local2.info chat[3948]: send (AT+CGDCONT=1,"IP","internet"^M)
Fri Mar 29 17:38:15 2019 local2.info chat[3948]: timeout set to 30 seconds
Fri Mar 29 17:38:15 2019 local2.info chat[3948]: expect (OK)
Fri Mar 29 17:38:15 2019 local2.info chat[3948]: ^M
Fri Mar 29 17:38:15 2019 local2.info chat[3948]: AT+CGDCONT=1,"IP","internet"^M^M
Fri Mar 29 17:38:15 2019 local2.info chat[3948]: ERROR
Fri Mar 29 17:38:15 2019 local2.info chat[3948]:  -- failed
Fri Mar 29 17:38:15 2019 local2.info chat[3948]: Failed (ERROR)
Fri Mar 29 17:38:15 2019 daemon.err pppd[3946]: Connect script failed
Fri Mar 29 17:38:16 2019 daemon.info pppd[3946]: Exit.
Fri Mar 29 17:38:16 2019 daemon.notice netifd: Interface '4G' is now down

I'm pretty sure the settings were right because that's what I get when inserting the card into my phone and checking its APN settings. The card connects and works fine using the modem it came from (Huawei B310), but the admin panel doesn't allow me to peek the AT commands, let alone ssh access, so I'm quite lost at the moment.

Any help would be appreciated, thank you.

This page (and likely many like it) have some commands you can try manually.

Use picocom to attach to the modem for manual commands.

The definitive way to test these modems and see how they should work is to get it working on a desktop Linux and read the logs.

Unfortunately this is an integrated modem inside the router, not USB one.