Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Does anybody know if there is a libre 4G modem (I mean like the client part, what goes into a phone)?


Not entirely sure, but I think there are efforts to open "free" the pinephone's modem [0]

[0] https://wiki.pine64.org/wiki/PinePhone#Modem


There are _many_ turtles all the way down here:

- The Pinephone uses a Quectel EG25-G, which is a System on a Module that combines a baseband modem with the necessary RF front-end bits and power needs.

- The Quectel EG25-G itself, uses a Qualcomm chipset (the Qualcomm 9607).

- Qualcomm chipsets in this category tend to have an ARM component and and the actual modem bits which are combination of ARM and Hexagon DSP cores that you talk to over an interface called "QMI."

I'd expect that if Pinephone reached scale (and they hadn't found an alternative) they would just buy the Qualcomm chipsets directly and not have to "free" themselves from Quectel's "integration" that translates between QMI and AT commands (which are miserable) or whatever else Quectel has exposed an an API.

This quirk of modern modems, where you (as a small scale manufacturer) can't buy the chipset itself unless packaged up and marked up by someone like Quectel or Sierra Wireless makes me absolutely livid.


> I'd expect that if Pinephone reached scale (and they hadn't found an alternative) they would just buy the Qualcomm chipsets directly and not have to "free" themselves from Quectel's "integration" that translates between QMI and AT commands (which are miserable) or whatever else Quectel has exposed an an API.

Not really. The USB modem was chosen as it provides isolation from the closed-source blobs that run on the modem. This way, the modem doesn't have access to the main memory. Pine Store Ltd (the commercial entity) being based in china, they certainly could have sourced a SoC integrating a 4G modem, but there's already a zillion devices like that, the idea was to build something compatible with FLOSS from the ground up.


Hmm that's a good point, I had not considered the shared memory architecture of the Qualcomm chipsets.

That said, given that using AT commands usually require enormous amounts of (potentially insecure) string parsing I wouldn't be surprised if there are vulnerabilities to closed source blobs even over USB. That is to say, the reverse engineering on the Android side could improve the security posture (or it could also make it worse!).


What about datasheets that are only available if you're a large enough company to sign a contract and an NDA with Qualcomm?

Also imagine buying a commercially available phone and freeing it from all the TrustZone and code signing bullshit by replacing the SoC with the same chip but in a "development" mode, with no fuses blown.


> you (as a small scale manufacturer) can't buy the chipset itself

If you're willing to deal with possibly questionable Chinese resellers, you can buy pretty much anything you want in small quantities. Just don't expect any support from the manufacturer.

See, for example: https://www.hkinventory.com/p/d/MDM9607.htm


The Pinephones modem is interesting, as it actually has it's own Android OS that is stacked on top of Qualcomm's OS (I want to call it "Hexagon"? But I don't think that's right).

The folks that are freeing the Pinephone modem are focusing on the Android OS, not the underlying firmware.

The project is here: https://github.com/Biktorgj/pinephone_modem_sdk/


Hexagon is the architecture of the DSP cores included in the modem, running in parallel with the ARM cores that run Linux/Android.

https://en.wikipedia.org/wiki/Qualcomm_Hexagon


Code for the large parts of the modem's OS running on the hexagon DSP cores are available on github, if you search long enough. A few mil. lines of code. Not everything though.


This is surprising, is this intentional?

If so, what would one search for?


I'm a bit surprised too, as I assumed that is VERY proprietary.


Search for unique enough symbol names from the firmware blob.


srsRAN (srsLTE until recently) has UE (modem) code.

https://github.com/srsran/srsRAN/tree/master/srsue




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: