From: James Knott via Talk <talk@lists.gtalug.org>
On 12/10/25 02:14, Ron via Talk wrote:
Also quite difficult to replace because they're unreachable at layers below Android, and also because they're quite complex.
Quite so. 5G uses something called beam forming where the cell site sends a narrow beam to the phone. This takes a lot of math on both the phone and cell site to work. Add to this things like IPSec encryption, along with whatever apps you use.
Historically, that stuff has been handled by the "baseband processor". That processor does not run Android. Partly because Linux isn't really a great hard-realtime OS. The main processor, running Android, talks to the baseband processor. It used to be that the protocol looked like the old Hayes Modem protocol: AT commands! I don't know what it would be now. Think of this as like the Raspberry Pi where the BCM gets a firmware blob and the ARM component runs Linux. In the case of the Raspberry Pi, the firmware brings up Linux, not the other way around. Normally the firmware for various processors is a binary blob. That would not be a poblem for Android to load, as long as that interface is documented. If SoC-specific code leaks into the main processor, that may be very difficult for open source to handle. It is rarely documented in public documents. One example might be some aspect managing power, very important for a phone. Summary: a binary blob may not be a problem. It all depends on the interfaces that must be used by Android.