(tl; dr: *It is possible to upgrade Librem5 to 5G by using an alternative modem, Sim8202G. At the moment it requires Mobian - potentially it is possible with other up to date OSs as well. It’s not quite perfect but better than the old setup. *)
Today (24/05/2025), at 11:03 Helsinki, Finland time, I managed to make the first 5G voice phone call with Librem5, making it probably the first of it’s kind - as far as it seems that there are no mentions online of linux phones making 5G calls (although, I’m sure they have been made). I called another phone on my table (old UBports - of course “L2L” #MobileLinux) and with earphones could tell that voice was transmitting both directions (it’s a bit tricky so close).
After weeks (and months, and this isn’t event he first time testing alternative modems) of tinkering and hitting annoying brick walls, the feeling was like a last ditch effort to check “one more thing” - and unexpectedly everything clicked together. The Simcom modems have been a bit annoying as they haven’t been perfectly compatible with modemmanager. This is to say, several things had to come together: there’s the modem (which has to be the right size and specs), the audio connection (from the modem card to the internals and all the way to the speakers and mic), the modem management and calling apps (is the modem recognized and usable) and also the network (there are not only differences in whose services you use but also what type of service/plan). Sooo many little things to check and apparently it was all almost perfectly ready - just needed to have the right combo.
As testimony, getting data to work (now average about 120/45Mbps, peaking 136/50 at best vs. 80/45Mbps and worse in my local network with my current data plan) last week was “plug and play” (the Gnome settings for the modem for instance already has 5G available when a suitable modem is seen - current PureOS couldn’t see it and there was nothing to indicate that 5G could even be an option for the system) after I started testing with up to date Mobian, but there was no life using PureOS (normal, nor backported; byz nor crim). [apologies for that horrible sentence and the ones to come - tired] The only real fix that I did may have been to modprobe snd-usb-audio
and add myself to dialout group - both of which may not even be needed. And as I was testing, I used a prepaid sim card. For some reason voice calling nor audio availability did not appear (I spend a week trying to solve audio from m.2 pcm from wiring diagram to all the way to audio sinks - for some reason bm818 is still haunting inside the system) until I happened to use instead a normal post paid contract sim from another operator (I had tried these sims in reverse with normal L5 and then only the prepaid found network service - no idea why).
[Edit to add: Looking back, most of my time went in several dead ends and the path to solution seems much shorter than the actual journey with all the resets and backtracking. This was less of a technical deepdive in the end and more of realizing how to make sure the already made buildingblocks form a functioning house - not how I’ve learned to approach linux problems, and it’s kinda upsetting. Speaks more about how linux apps and modules and configs are updating - we may miss what the combinations can do.]
The second call was to operator number service and the quality of heard audio was perfect - unfortunately (and still a mystery) for those calls I was not heard (and changing audio settings didn’t seem to help). So, not perfect (and these things happen), but definitely verified working L5G [intentional]. Other oddity was that there’s no ringing sound on L5G when making a call (I wonder if it’s just that Mobian doesn’t have a ring sound available for outgoing - as the Mobile Settings app is empty by default on feedback sounds and only has files setting for inbound ringing). These kinds of things are the reason to spread the word: there are still a few little tiny details that need to be checked and probably some code needs to be written - the more there are testers, globally, the better. But these also seem like something that can be fixed.
I am hoping the PureOS Crimson (and Dawn) development gets a boost from this, as Librem 5 could be updated (remembering that there are two variations of the motherboard and us original L5 owners might want to upgrade by just switching that and the modem. And is anyone has a spare or otherwise broken device laying around, I’ll take donations - also a new replacement screen or a flexboard would be appreciated). At this point this is a simple thing to get more out of the device but also a proof that L5 hardware and software still have potential. L5 needs the tweaks PureOS has (for minimizing power consumption etc.), or Mobian needs to be tweaked.
For now, I’m going to set this project aside (other things, life etc.). I hope some of you will try it out. [I expect it’s going to take a t least a week or few for anyone else to get their hands on that modem]
Process, as far as I can remember what I did (at your own risk, as always):
- Physical card installation (see, for instance: Disassemble Librem 5 – Purism)
- Antennas to the connectors (see pic, be careful when bending the antenna wires, don’t do sharp bends)
- Possibly re-flash your operating system (see, for instance: Tips & Tricks · Wiki · Librem5 / Librem 5 Community Wiki · GitLab), in this case Mobian (I used one of the weekly images and Disks to write it to the L5)
- Possibly do modprobe to make sure you have Simcom “option” (modem) and usb audio enabled in kernel
- Find appropriate sim (service and service provider network - prepaid may not work - you may want to test, using friends or at a shop, if 5G appears)
- Check for ringing and audio when calling (if it doesn’t work, Calls just mutely tries to make a call, but it just fails after a while; and if it works, it may not ring on caller/L5 end)
Simcom Sim8202G m.2 modem
My impression is that it seems to generate a bit more heat but that could also be that I’ve been running speed test sites a lot lately. No separate VolTe fixes needed - just worked. It has 4 antenna connectors but needs only two, as L5 only has two (for basic operating only ANT0 and ANT3, as per HW manual - I also tested with an additional third antenna on ANT1 but that didn’t seem to do much; ANT2 has also GNSS, which L5 does separately). In addition to speed and functional improvement, this modem should be a true global modem, covering all used bands even with two antennas (one or two rarer may be missing), but testing from users is needed to confirm. In general it also seems more stable with connection than BM818.
Basic info:
Dimensions(mm): 42.0 x 30.0 x 2.3
Temperature: -30°C ~ +70°C (normal; manual has “HW Extended operation temperature: -40 to +85”, so same as BM818)
Freq bands, Sub-6G: n1,n2,n3,n5,n7,n8,n12,n20,n28,n38,n40,n41,n48,n66,n71,n77,n78,n79
Freq bands, LTE-FDD: B1/B2/B3/B4/B5/B7/B8/B12/B13/B14/B17/B18/B19/B20/B25/B26/B28/B29/B30/B32/B66/B71
Freq bands, LTE-TDD: B34/B38/B39/B40/B41/B42/B43/B48
Freq bands, LAA: B46
Freq bands, WCDMA: B1/B2/B3/B4/B5/B8
Data Transfer Sub-6G: 2.4Gbps(DL)/500Mbps(UL)
Data Transfer LTE: 1Gbps(DL)/200Mbps(UL) [bm818: 150/50]
Data Transfer HSPA+: 42Mbps (DL)/5.76Mbps(UL) [bm818: same]
Protocol: TCP/IP/IPV4/IPV6/Multi-PDP/FTP/FTPS/HTTP/HTTPS/MQTTS/DNS/SSL3.0
Power consumption:
Typical in sleep: 2-3mA (depending on mode)
Typical in idle: 20-22mA (depending on mode) [bm818: “<40mA”]
USB Driver: Microsoft Windows Win7/Win8/Win10/Linux/Android
MBIM: Win8/Win10
NDIS: Linux/Win7/Win8/Win10
Regulatory Certifications: CCC/SRRC*/CTA*/RoHS*/REACH*/CE* [bm818: same]
Price range: 240-280 € and $ [about 5 times more than bm818 was]
Lifecycle: nearing EOL (according to one vendor and also Simcom support, but I wouldn’t be too concerned about that [as it just works])
Product page, specs and manuals: SIM8202X-M2
Collection of manuals on hardware, antennas, drivers, protocols etc. (alternative, without need for login): Index of /pdf/5G/SIM8200G/
There is a lot of good info on this card (compared to BM818) and it’s used in other applications with linux as well, that provide info.
Potentially interesting alternative in the same card family may be sim8262 (with A/E variants), as it is not so far in timeline and has a slightly improved chip but also less freq bands (not fully global) but also a bit less pricey (200-250), see table.
(ping @ChriChri - get a new modem? )