-
-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test Quectel EC25-A LTE Cat 4 mini PCIe module #344
Comments
Subscribing to this issue, I'd love to have RPi with backup connection over LTE/5G modem and UPS, that'd be crazy useful! Especially when your ISP is lying 😉 |
@TeoTN - Note that the data plans for 4G/5G are pretty expensive if your Pi does anything more than a trickle of data... that's something I'm trying to figure out before I get deeper into this project! |
Plan prices are getting better, depending on where you live, I suppose. In Ireland we have 3 providers claiming to have unlimited 5G plans for €45/month. If you look at their terms a bit closer, two have fair use policies of 750GB and 1TB per month and the third claims to be fully unlimited but reserves the right to restrict based on network conditions. I'm not sure how the latter works in practice, the wired ISPs I've been with haven't even enforced the stated fair use limits so far. :) |
It's similar in Poland with 500GB over 5G available for €26/mo ($29), and since for me this would be only as a backup for short periods of time, I'd be happy even with 50GB :) |
Step 1: Try to use the card on the Turing Pi. Inserted SixFab SIM and card in Mini PCIe slot for node 1 and booted. Neither Added overlay to enable the built-in USB 2.0 port on the CM4, rebooted,
Nothing in there either. |
Wondering if this may be of any assistance? Sixfab seems to have a ZIP in their repo here for their Base Shield. Obviously not using that, but wondering if it may still help out on discovery. |
@danmanners - It seems like that presumes a device is appearing in |
Some more debugging steps:
(One can always hope...) I've ordered both a USB to mini PCIe WWAN/LTE adapter with SIM tray, and an Ableconn PEX-MP117 Mini PCI-E to PCI-E Adapter Card and will test with both to see if I can get the card recognized via USB or PCIe on another Pi. Also, someone else had some issues with the EC25 on the Raspberry Pi but it looks like that was just a fluke, needed to recreate the connection. |
On a Pi 4 model B with the USB to mini PCIe adapter, I get the following:
|
Following SixFab's instructions, I communicated with the modem via And after all that, I see the modem with
|
|
Testing the speed; first with all interfaces going:
This was in suboptimal conditions, with a tiny cheap antenna located in my basement :P Monitored the traffic through the interface (to confirm it was going out over LTE and not the LAN) with Interesting aside: for some reason if I used |
A few other notes concerning routing—SixFab seems to use a mobile network that's CG-NAT'ed behind AWS, as the public IP address in front of the LTE connection is:
And my private IP on the LTE modem is If I had a SIM with a public IP, it looks like this is the process for getting that working (or, in other comments in that thread, there are suggestions for port forwarding, though I think using a reverse SSH tunnel might be my best bet). |
Learning more about interacting with the modem via minicom:
|
More exploration: I tried swapping out a separate AT&T SIM from a cradlepoint unit to see what would happen. Even after 10 minutes or so I'm seeing in the logs via minicom:
Seems like it's not able to connect to LTE towers in my basement on this SIM, not sure if it's the data plan, the signal, or what... but the other SIM said it was on ATT / Twilio, and my cell phone plan is AT&T (and I get 2-3 bars in my basement), so... |
Testing upstairs (instead of downstairs) also using LAN port on the cradlepoint:
According to my Dad (thanks, Dad!) the SIM plan the cradlepoint is using is limited to 12 Mbps so that's as good as it gets. |
Tested the Quectel with the SixFab SIM upstairs too:
And signal strength (logged in via
|
I swapped in my own iPhone AT&T SIM (though on a limited data plan), and it seems to have connected immediately, no fuss. With a different antenna, I'm getting signal of 16-19, with speedtest result:
Wish I had a T-Mobile SIM to compare the two. Doing a speed test with my Mac tethered directly to my phone, with the same SIM, I get:
Over multiple tests I see anywhere from 45-70 Mbps down, 3-5 Mbps up. So it's interesting the Quectel seems to be able to more consistently put up better upload numbers (and the Cradlepoint blows them both away, getting its 12 Mbps up pretty much every test!). I currently don't have another CM4 board available to test the SIM tray and 4G card in a mini PCIe slot, but I think it's safe to say the card will work fine with a Pi CM4, assuming the USB data lines in the mini PCIe slot are wired in correctly. I do want to make sure it works in that configuration on some board, though, before I close out this issue. |
Since we know the mPCIe lanes work for other devices (at least on my board), is it worth looking at picking up something like this and trying it on slot two? More than happy to send you one if you'd like :) |
And testing through the Turing Pi 2 with an external antenna that's attached to an air duct in my basement (still not ideal, signal-wise, but giving
|
Blog post based on findings with routing metric priority: Network interface routing priority on a Raspberry Pi. |
Reopening for a bit—I am wondering if I can eke out more performance. I know I won't hit the 150/50 Mbps performance that's theoretically possible, but I've heard from others (example) who are getting more like 75/25. Never getting more than 10-12 Mbps makes it seem like maybe something is getting stuck in USB 1.x speeds (which are limited to 12 Mbps). But looking at the modem with
Full USB device details: Click to show `sudo lsusb -v` output
And
For the driver:
|
SixFab has a couple guides for QMI mode, notably:
The latter is more useful to me, since I already have the modem in USB mode and just need to turn that off to hopefully get to QMI/wwan mode. We'll see if it's any faster. |
Since
Install necessary utilities:
Hmm...
|
Another attempt:
I also noticed
So...
Then to connect:
Then get an IP address / set up route:
Got an IP:
And ping works:
This forum post was very helpful. |
After changing the interface routing priority, I ran
That's faster than the earlier test in the exact same location, so now I need to bring the setup upstairs and see how it fares up there, with better antenna placement. Downstairs signal strength:
|
To temporarily disable the link, I also need to figure out how I want to have the device configured at startup if I go the QMI path. |
Startup configuration is basically:
Add the line |
Running four speedtests upstairs in QMI mode on my AT&T SIM:
|
And after resetting the modem into ECM mode on the same SIM in the same location, here are four more speedtests:
|
Posted a bit of a compendium: Using 4G LTE wireless modems on a Raspberry Pi. |
could not leave a comment on the blog where you solve the problem of how to contact the device without a permanent address p.s. the project has open source https://github.com/zerotier/ZeroTierOne |
The Quectel EC25-A modem also supports a PPP based mode, this allows using the "external" IP without involving NAT (on the modem). The PPP session is terminated on the modem. Basic tutorial: https://wiki.teltonika-networks.com/view/Setting_up_mobile_interface_on_raspberry_pi |
@geerlingguy looking at what you did to get (without testing it) its set at creation time (which is why it works as a DHCP setting), but while it is "unusable" (ie. Also Nice work with the various testing and getting it working too BTW. NOTE: the only reason you might want to use routing is if you want all HTTP/S traffic to go in and out over one interface, OR you want output traffic to go over a different interface than input traffic (but this setup might have to be on the same sub-net due to upstream return paths) - an experiment for another day .. |
@geerlingguy, Could you share which one you removed? |
I just bought a Quectel EC25-A LTE mini PCIe module. I have some plans for it—assuming I can get it to work!
From the spec sheet:
Supposedly it has "USB serial drivers for Windows 7/8/8.1/10, Linux, Android" and some other Pi users have reported success with these models (the EU version).
There's a tutorial for using cellular modems with the Pi 4 that I think should apply equally well for the CM4. We'll see. There's a more generic tutorial with qmi_wwan here.
I also have a SIM from SixFab, but I will try to see if I can also get an AT&T SIM working later, since I may have a bead on an unlimited data plan for a 'decent-ish' price, which might be nice for a project I want to do.
The text was updated successfully, but these errors were encountered: