4 ms·
A long time ago i used to work at a company that made mobile phones. This was in the days before smartphones, and 3G was a shiny new toy. Back then, many compan
by 8fingerlouie 3y ago
A long time ago i used to work at a company that made mobile phones. This was in the days before smartphones, and 3G was a shiny new toy. Back then, many companies would implement the protocols in the phone firmware, as opposed to today where chips usually offload a large part of this.
Despite doing our best to implement the GSM Standards[1], the thing at the time was 19,000 pages long, and one of our biggest issues was that our protocol stack would work well with most cell towers, there would always be some carriers that had configured their network just a tiny bit different, and we had to tweak our software to match that.
At the time, there were 5 major vendors of GSM cells, and none of them had intepreted the standards identically, so we would also have tweaks to allow for different vendors.
I don't remember exactly how many people we employed in our protocol division, but it was more than 100.
I do remember that implementing the first version of bluetooth took 19 people almost 2 years, and that, at the time, was a much simpler protocol (it probably still is). I can only imagine the "horrors" that have gone into 4G and 5G since then.
These days, all of the above problems are "solved" by simply installing a chip. Qualcomm handles any vendor hardware communication issues, and they're probably "big enough" to also have an impact in the opposite direction, making for a more streamlined protocol landscape.
[1]: https://www.etsi.org/standards/get-standards#page=1&search=&title=1&etsiNumber=1&content=0&version=0&onApproval=1&published=1&withdrawn=1&historical=1&isCurrent=1&superseded=1&startDate=1988-01-15&endDate=2023-09-21&harmonized=0&keyword=&TB=372,,376,,377,,378,,513,,496,,439,,649,,651,,653,,654,,655,,656,,535,,536,,537,,538,,622,,539,,575,,373,,379,,380,,3&stdType=&frequency=&mandate=&collection=&sort=1 https://www.etsi.org/standards/get-standards#page=1&search=&...
- grandinj 3y agoThis. The standard is also truly horrible to read. It's not really designed to be read, as much as it is an after-the-fact description of what somebody has already done. To the point that testing against a very wide variety of base-stations (and the multitudinous variety of configuration options in those base-stations) is mandatory.
- mike_hearn 3y agoWhich is presumably hard to impossible without flying around the world with test chips and physically being in those places, as I guess only a handful of carriers can and will reveal all their config settings and software stacks in practice. The more I think about this modem development problem the harder it seems to get. No wonder Apple have struggled and nobody else even seems to try. The amount of tribal knowledge and random hotfixes in the Qualcomm firmware alone must be irreplaceable.
- 8fingerlouie 3y ago> Which is presumably hard to impossible without flying around the world with test chips and physically being in those places We had people driving around with our phones logging to a laptop. They basically drove all over the country, trying to cover as much land as possible, and the phone(s) would then attempt to connect to different base stations. The logs from this would be sent back to the developers to investigate failures, and somewhat often a bug would only manifest itself on a single cell tower. Qualcomm has presuably done this work for most of the world, and has subsequently become the benchmark that telcoms calibrate against before deploying cell towers, leading to a more uniform protocol landscape. If Apple hopes to create a new in-house modem chip, they will either need to calibrate it against Qualcomm, or do the gruntwork of travelling the world. In either case, i'm betting that just using Qualcomm chips regardless of the price will be better from an economic perspective. Furthermore, everything GSM is covered by patents of the "big 5" (Motorola, Nokia, Siemens, Ericsson, I forgot the 5th), which at least at the time had free use of the others patents regarding GSM, but *everybody* else implementing GSM hardware and/or software must pay license fees. Qualcomm and Nokia had a big fight over this 3-4 years ago.
- lstamour 3y ago> We had people driving around with our phones logging to a laptop. They basically drove all over the country, trying to cover as much land as possible, and the phone(s) would then attempt to connect to different base stations. Sounds like Apple needs to put test phones inside the cars doing “street view” as well as have Apple Store employees test them.
- sixstringtheory 3y agoIf I ran a company where someone tried to release a 19K page spec I'd keep firing people until someone could produce a spec that I could actually review and sign off on, that could also still be reproduced in working technology. How does this kind of thing fly at all?
- 8fingerlouie 3y agoThe thing is, GSM is not a single specification. It is layered like the OSI model, and each layer has multiple specifications for different subsystems. When GSM was originally specified, there was serious doubt if it would work at all on the hardware available at the time. A GSM call has a 3.62us send window, a 3x3.62us waiting period, and a 3.62us receive slot. That’s probably hard enough to achieve on a single cell, but factor in distance to the tower as well, and the handset has to do a lot of calculations. Once you start considering handoff between cells things get even more interesting. The handset continuously reports a list of cell towers it can “see” along with the strength of their signals from the handsets position. Once the cell tower decides that the handset is moving out of range, it propagates a handoff message to its upstream node, which repeats this process until a suitable downstream node is found, and each cell tower is then alerted that the handset with an ongoing call is switching from/to that cell, and finally the handset is informed. The handset has no say in this process other than the list of cell towers. All of this took place in the late 1980s, it was finalized in 1987, and modern processors at the time would be the Intel 386DX running at 12 to 40 MHz. Obviously not handsets came with a 386 processor, and when I worked on mobile phones in the early 2000s, the norm would be something like an 8 to 12 MHz 16bit platform. Since then the specification has been revised hundreds of times. In the original specification, messaging (SMS) was an afterthought, and a way of utilizing otherwise unused bandwidth, which was normally reserved for command and control. Turns out messaging was a hit with GenX, so many changes were made to that subsequently, like EMS[1], MMS[2] and RCS[3]. Likewise focus shifted from phone calls to data, which was 4G, and to IoT and always on devices, which is what 5G is about. 4G and 5G also has increased the number of active devices possible. Add to that WiFi calling and all the other little enhancements, and I wouldn’t be the least bit surprised if the specification is closer to 50,000 pages today. [1] https://en.wikipedia.org/wiki/Enhanced_Messaging_Service https://en.wikipedia.org/wiki/Enhanced_Messaging_Service [2] https://en.wikipedia.org/wiki/Multimedia_Messaging_Service https://en.wikipedia.org/wiki/Multimedia_Messaging_Service [3] https://en.wikipedia.org/wiki/Rich_Communication_Services https://en.wikipedia.org/wiki/Rich_Communication_Services