hey wanna see something kinda interesting? this was the entire fix to the iPhone Antennagate in 2010. 20 bytes.
(this is going to be a very long thread 🧵)
hey wanna see something kinda interesting? this was the entire fix to the iPhone Antennagate in 2010. 20 bytes.
(this is going to be a very long thread 🧵)
For context, back in 2010 when the iPhone 4 came out, people noticed you could grip the phone in a certain way and the signal bars would plummet from 5 to, like, 2.
A few weeks later, they published a letter (https://www.apple.com/newsroom/2010/07/02Letter-from-Apple-Regarding-iPhone-4/) admitting fault, blaming a bad formula.
The letter was shared around and clowned upon (https://daringfireball.net/2010/07/translation_iphone_4) but nobody really looked into what the formula between 4.0 and the patch in 4.0.1
I was a stupid eight-year-old at the time, but now I’m a stupid adult with access to a disassembler.
The actual calculation is dead simple. When converting signal strength to bars, CommCenter loads each threshold from memory and compares until it finds the right range.
This code is not the problem...
...this is. This is the lookup table. When you convert the bytes to actual dBm values, you get:
-115, -111, -107, -103, and -99
(the closer to zero, the better the signal)
For example, here you need -107 or better signal to see 3 bars.
So there ya go. 20 bytes.
This has concluded a Tech Thread. Back to shitposting.