Andrew Randrianasulu via tde-users wrote:
So, phone (cellular) hardware is patented, heavily restricted in other regulatory ways, and just plain complex (I am mot sure if there even full server-side 3G stack - research seemed to jump from 2g to 4g ... probably due to complexity in implementation we users never see ...)
3G is being phased out. They wanted to phase out also 2G, but found out that too many devices (from critical infrastructure) use the 2G network, so decision was taken to decommission 3G. 4G will follow decommissioning as soon as 5G starts working everywhere and ATM 6G is being developed.
And sadly bluetooth/wifi hardware and algos in similar situation, and even raw camera (not premade module talking via usb as usb video class device) and video de/encoding on hw can be challenging topics in themselves ...
IMO part of the problem is that big players bind manufacturers through OEM licenses and close the market, so that they have advantage. The microchips are getting so complex, that you can hardly reverse engineer them and you always risk to hit a problem when implementing. On top of this to have a profitable market (lets say for mobile devices) you have to have 300 million market, otherwise it is not worth producing anything except you sell it at the end for 2000+ ... so it is very difficult to keep up especially when everybody (big tech, governments etc.) is working against you.
So, "software is simpler", but only if you have enough engineers to throw at challenges ....
I had in mind to write a gui that helps you make phone calls through bluetooth. It uses OFono. I tried it through CLI DBus calls. I even started working on it, when I was not so busy few years ago. It works fine, but unfortunately there is no time to write GUI code :-/
Here is a citation:
In Linux, the Radio Interface Layer (RIL) acts as the interface between the operating system and the modem/radio hardware on mobile devices. It provides a standardized way for applications to interact with the cellular network and related hardware for tasks like making calls, sending SMS, and managing network connections. RIL implementations often involve a combination of kernel-level drivers (like USB serial drivers for modems) and user-space daemons (like rild) that handle communication with the modem
So this is the direction where one should go if utilization of the modem is needed.