Issues connecting to mint mobile network with quectel eg25-g

hello, so i am pretty much lost… i have been working on trying to get this to work for a couple days. i was able to get the sixfab core sim to work, but i am using a mint mobile sim card (which is based on the tmobile network iirc). i contacted mint to get the apn information (wholesale). but i have not been able to get any of the methods to work (ppp, qmi, or libqmi).

i am using a rpi 4b 8gb, via the usb connection. i tripled checked all of the antennas. i have tried all of the methods listed below with fresh installs of raspbian lite.

alright, im going to start with libqmi/qmicli

so everything seemed to be going fine up until the
sudo qmicli -d /dev/cdc-wdm0 --wda-get-data-format

this command returned the error:

error: couldn't create client for the 'wda' service: QMI protocol error (3): 'Internal'

i tried googling that but i couldnt find anything. so i tried moving on to creating the network thing with

sudo qmicli -p -d /dev/cdc-wdm0 --device-open-net='net-raw-ip|net-no-qos-header' --wds-start-network="apn='wholesale'" --client-no-release-cid

that command only worked with ip-type=6 or not specifying the type at all. if i did specify type 4, i would get a protocol error 79, policy mismatch. but i was able to start it with the command listed above, but then i tried to config the ip and default route with

sudo udhcpc -q -f -i wwan0

but that command just kept saying “sending discover” with no dhcp lease being obtained. so that method didnt work.

next, lets try the qmi quectel specific one.
when i get to the part where it tries to connect to the internet (via quectel-CM script) it gives me this:

pi@millenniumpi:/opt/qmi_files/quectel-CM $ sudo ./quectel-CM -s wholesale -4 -6[03-06_14:26:56:914] QConnectManager_Linux_V1.6.1
[03-06_14:26:56:916] Find /sys/bus/usb/devices/1-1.3 idVendor=0x2c7c idProduct=0x125, bus=0x001, dev=0x003
[03-06_14:26:56:917] Auto find qmichannel = /dev/cdc-wdm0
[03-06_14:26:56:917] Auto find usbnet_adapter = wwan0
[03-06_14:26:56:917] netcard driver = qmi_wwan_q, driver version = V1.2.1
[03-06_14:26:56:918] Modem works in QMI mode
[03-06_14:26:56:932] cdc_wdm_fd = 7
[03-06_14:26:57:030] Get clientWDS = 17
[03-06_14:26:57:062] Get clientWDS = 18
[03-06_14:26:57:095] Get clientDMS = 1
[03-06_14:26:57:126] Get clientNAS = 3
[03-06_14:26:57:158] Get clientUIM = 2
[03-06_14:26:57:191] Get clientWDA = 1
[03-06_14:26:57:222] requestBaseBandVersion EG25GGBR07A08M2G
[03-06_14:26:57:382] requestGetSIMStatus SIMStatus: SIM_READY
[03-06_14:26:57:415] requestGetProfile[1] wholesale///0/IPV6
[03-06_14:26:57:415] requestSetProfile[1] wholesale///0/IPV4V6
[03-06_14:26:57:479] requestRegistrationState2 MCC: 310, MNC: 260, PS: Attached, DataCap: LTE
[03-06_14:26:57:510] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[03-06_14:26:57:542] requestQueryDataCall IPv6ConnectionStatus: DISCONNECTED
[03-06_14:26:57:543] ifconfig wwan0 0.0.0.0
[03-06_14:26:57:556] ifconfig wwan0 down
[03-06_14:26:57:608] requestSetupDataCall QMUXResult = 0x1, QMUXError = 0xe
[03-06_14:26:57:608] call_end_reason is 1
[03-06_14:26:57:608] call_end_reason_type is 2
[03-06_14:26:57:608] call_end_reason_verbose is 231
[03-06_14:26:57:639] requestSetupDataCall WdsConnectionIPv6Handle: 0x873d4930
[03-06_14:26:57:703] try to requestSetupDataCall 5 second later
[03-06_14:26:57:735] ifconfig wwan0 up
[03-06_14:26:57:744] ip -6 address flush dev wwan0
[03-06_14:26:57:754] ip -6 address add 2607:fb90:a90d:3dba:449b:22e5:559b:7b86/64 dev wwan0
[03-06_14:26:57:766] ip -6 route add default dev wwan0
[03-06_14:26:58:791] requestSetupDataCall QMUXResult = 0x1, QMUXError = 0xe
[03-06_14:26:58:791] call_end_reason is 1
[03-06_14:26:58:791] call_end_reason_type is 2
[03-06_14:26:58:791] call_end_reason_verbose is 231
[03-06_14:26:58:791] try to requestSetupDataCall 10 second later
[03-06_14:27:08:809] requestSetupDataCall QMUXResult = 0x1, QMUXError = 0xe
[03-06_14:27:08:809] call_end_reason is 1
[03-06_14:27:08:809] call_end_reason_type is 2
[03-06_14:27:08:809] call_end_reason_verbose is 231
[03-06_14:27:08:809] try to requestSetupDataCall 20 second later

i have also tried without the -4 and -6 options but its the same. apparently the 231 error means ip version mismatch, but i have tried it with multiple different options and get the same thing. the only thing that is different is in -6 without ipv4, and that gives me

sudo ./quectel-CM -s wholesale -6
[03-06_14:29:43:888] QConnectManager_Linux_V1.6.1
[03-06_14:29:43:890] Find /sys/bus/usb/devices/1-1.3 idVendor=0x2c7c idProduct=0x125, bus=0x001, dev=0x003
[03-06_14:29:43:891] Auto find qmichannel = /dev/cdc-wdm0
[03-06_14:29:43:891] Auto find usbnet_adapter = wwan0
[03-06_14:29:43:892] netcard driver = qmi_wwan_q, driver version = V1.2.1
[03-06_14:29:43:893] Modem works in QMI mode
[03-06_14:29:43:904] cdc_wdm_fd = 7
[03-06_14:29:44:003] Get clientWDS = 17
[03-06_14:29:44:035] Get clientWDS = 18
[03-06_14:29:44:067] Get clientDMS = 1
[03-06_14:29:44:099] Get clientNAS = 3
[03-06_14:29:44:131] Get clientUIM = 2
[03-06_14:29:44:163] Get clientWDA = 1
[03-06_14:29:44:195] requestBaseBandVersion EG25GGBR07A08M2G
[03-06_14:29:44:323] requestGetSIMStatus SIMStatus: SIM_READY
[03-06_14:29:44:355] requestGetProfile[1] wholesale///0/IPV4
[03-06_14:29:44:356] requestSetProfile[1] wholesale///0/IPV6
[03-06_14:29:44:419] requestRegistrationState2 MCC: 310, MNC: 260, PS: Attached, DataCap: LTE
[03-06_14:29:44:451] requestQueryDataCall IPv6ConnectionStatus: DISCONNECTED
[03-06_14:29:44:452] ifconfig wwan0 0.0.0.0
[03-06_14:29:44:464] ifconfig wwan0 down
[03-06_14:29:44:516] requestSetupDataCall WdsConnectionIPv6Handle: 0x87474350
[03-06_14:29:44:644] ifconfig wwan0 up
[03-06_14:29:44:652] ip -6 address flush dev wwan0
[03-06_14:29:44:661] ip -6 address add 2607:fb90:a90d:3dba:a1e4:bb88:8bf6:8154/64 dev wwan0
[03-06_14:29:44:672] ip -6 route add default dev wwan0

im unsure what to make of all of this, but it seems like one of these two options would be best for my deployment case in contrast to ppp, which doesnt seem like it would work as well. either way, any kind of cellular connection via my sim card is a good start. please let me know what AT commands i should run for troubleshooting to help you all diagnose this issue the best. thanks

edit: heres a bunch of at commands and other diagnostic stuff i saw other people request in other posts

lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 3: Dev 3, If 1, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 3: Dev 3, If 2, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 3: Dev 3, If 3, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 3: Dev 3, If 4, Class=Vendor Specific Class, Driver=qmi_wwan_q, 480M
dmesg | grep tty
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:640x480M@60 smsc95xx.macaddr=E4:5F:01:DA:82:F1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyS0,115200 console=tty1 root=PARTUUID=48e5b999-02 rootfstype=ext4 fsck.repair=yes rootwait
[    0.001074] printk: console [tty1] enabled
[    1.769851] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 34, base_baud = 0) is a PL011 rev2
[    3.742126] systemd[1]: Created slice system-getty.slice.
[    7.903972] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[    7.975037] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB1
[    8.066967] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[    8.184460] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB3
lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
sudo atcom -p /dev/ttyUSB2 AT

OK

sudo atcom -p /dev/ttyUSB2 ATE1

OK

sudo atcom -p /dev/ttyUSB2 ATI
ATI
Quectel
EG25
Revision: EG25GGBR07A08M2G

OK

sudo atcom -p /dev/ttyUSB2 AT+CPIN?
AT+CPIN?
+CPIN: READY

OK

sudo atcom -p /dev/ttyUSB2 AT+CFUN?
AT+CFUN?
+CFUN: 1

OK
sudo atcom -p /dev/ttyUSB2 AT+COPS?
AT+COPS?
+COPS: 0,0,"Mint",7

OK

sudo atcom -p /dev/ttyUSB2 AT+QCFG=\"usbnet\"
AT+QCFG="usbnet"
+QCFG: "usbnet",0

OK

sudo atcom -p /dev/ttyUSB2 AT+QCFG=\"band\"
AT+QCFG="band"
+QCFG: "band",0xbff,0x1e00b0e18df,0x0

OK

sudo atcom -p /dev/ttyUSB2 AT+CGDCONT?
AT+CGDCONT?
+CGDCONT: 1,"IPV6","wholesale","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","ims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 3,"IPV4V6","sos","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1
+CGDCONT: 4,"IPV4V6","tmus","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0

OK

sudo atcom -p /dev/ttyUSB2 AT+CSQ
AT+CSQ
+CSQ: 22,99

OK

sudo atcom -p /dev/ttyUSB2 AT+QCSQ
AT+QCSQ
+QCSQ: "LTE",63,-99,137,-15

OK

sudo atcom -p /dev/ttyUSB2 AT+CGATT?
AT+CGATT?
+CGATT: 1

OK

sudo atcom -p /dev/ttyUSB2 AT+QNWINFO
AT+QNWINFO
+QNWINFO: "FDD LTE","310260","LTE BAND 2",675

OK
sudo atcom -p /dev/ttyUSB2 AT+QCFG=\"nwscanseq\"
AT+QCFG="nwscanseq"
+QCFG: "nwscanseq",0403010502

OK

sudo atcom -p /dev/ttyUSB2 AT+QCFG=\"nwscanmode\"
AT+QCFG="nwscanmode"
+QCFG: "nwscanmode",0

OK

hopefully those help :slight_smile:

@ensar do you maybe have any helpful input? im a little stuck…

Hi @dme0309 ,

Sure! Thank you for your interest. Could you please share the output of the AT+CREG? command?

atcom -p /dev/ttyUSB2 AT+CREG?

+CREG: 0,1

OK

this is the output of the command above @ensar

edit: i tried the ecm method again, and this time i am sort of able to get internet connection. but for some reason I am only able to get ipv6. i can ping google.com, and itll give me the ipv6 ip, and i can also ping ipv6 dns servers, thats all ive tried so far. i cant ping any ipv4 addresses though.

AT+CGDCONT=1,"IPV4V6","wholesale"

for that command, i tried with and without the v6 portion (so just “IP” instead) and both of those gave me the same results. any ideas?

Can you also share the outputs of sending a ping?

i am able to ping domains that support ipv6, and i will get a response from an ipv6 address. so i can ping google, cloudflare, etc, but if i try to ping a specifc ipv4 address or domain that doesnt support it (like of my personal domains), i get a destination net unreachable error.

here

ping -I usb0 google.com
PING google.com(lga25s73-in-x0e.1e100.net (2607:f8b0:4006:816::200e)) from 2607:fb90:18da:754f:d138:9989:d5c0:76e7 usb0: 56 data bytes

responds with ipv6 address instead of ipv4 like a normal pc

ping -I usb0 1.1.1.1
PING 1.1.1.1 (1.1.1.1) from 192.168.225.52 usb0: 56(84) bytes of data.
From 192.168.225.1 icmp_seq=1 Destination Net Unreachable

dest net unreachable when pinging specific ipv4.

also heres the ifconfig

usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.225.58  netmask 255.255.255.0  broadcast 192.168.225.255
        inet6 2607:fb90:a906:cbda:4aa7:b805:1f2:6c48  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::99e0:8d3:1ce8:218d  prefixlen 64  scopeid 0x20<link>
        ether 92:7d:85:ac:21:fc  txqueuelen 1000  (Ethernet)
        RX packets 44  bytes 4127 (4.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 56  bytes 6644 (6.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

i dont entirely understand why the ipv4 address given is a private address… but i am able to ping the 192.168.225.1 address. i dont know where the 225.0 addresses are coming from though. idk i would really appreciate if you were able to help me get this solved

Did you ever get this figured out? I’m in the same boat right now. Sim definitely works on my phone but I can’t for the life of me get it to register to the network. And I’ve successfully connected to sixfabs CORE as well as Google Fi. Super frustrating.