20 bajtów kodu, który naprawił Antennagate w iPhonie 4


Ach, 2010. Rok, w którym Apple wypuścił iPada, ale uwagę przykuło coś zupełnie innego: Antena. Wkrótce po uruchomieniu iPhone’a 4użytkownicy odkryli, że gdy trzymali telefon w typowym uchwycie podczas rozmowy telefonicznej, liczba słupków pokazujących siłę sygnału natychmiast drastycznie spadała.

Apple zareagował na wiele sposobów, w tym Steve Jobs zasłynął z sugestii, że użytkownicy źle trzymają telefon, ale problem został rozwiązany poprzez zmianę zaledwie 20 bajtów kodu…

Na nieszczęście dla Apple, iPhone 4 jest obecnie pamiętany nie ze względu na doskonały design, ale raczej z powodu kontrowersji, które całkowicie wymknęły się spod kontroli.

Apple był zmuszony zaoferować kupującym gratis zderzak jak również rozstrzygnąć pozew zbiorowy. Następnie firma ulepszyła antenę w iPhonie 4S, ale prawdziwym problemem nie był sprzęt, ale oprogramowanie.

Apple oświadczyło wówczas, że tak popełnił błąd we wzorze odpowiedzialnym za wyświetlenie ilości słupków siły sygnału.

Po dochodzeniu ze zdziwieniem odkryliśmy, że wzór, którego używamy do obliczenia liczby słupków siły sygnału do wyświetlenia, jest całkowicie błędny. W wielu przypadkach nasza formuła błędnie wyświetla o 2 słupki więcej niż powinna przy danej sile sygnału. Na przykład czasami wyświetlamy 4 słupki, podczas gdy powinniśmy wyświetlać zaledwie 2 słupki. Użytkownicy obserwujący spadek o kilka pasków, gdy trzymają iPhone’a w określony sposób, najprawdopodobniej znajdują się w obszarze o bardzo słabej sile sygnału, ale nie wiedzą o tym, ponieważ błędnie wyświetlamy 4 lub 5 słupków. Ich duży spadek słupków wynika z tego, że ich wysokie słupki nigdy nie były prawdziwe.

Reklama

Nie wiedzieliśmy dokładnie, co zmieniło Apple, ale inżynier i projektant oprogramowania Sama Henry’ego Golda teraz się o tym przekonał.

Pobrałem oba firmware i zacząłem szperać. W środowisku CoreTelephony znalazłem obiecująco wyglądający plik binarny: CommCenter. Patrzenie na ciągi dało mi całkiem dobre poczucie, że to tutaj znajduje się formuła słupka.

Rzeczywiste obliczenia są bardzo proste. Podczas konwersji siły sygnału na słupki CommCenter ładuje każdy próg z pamięci i porównuje, aż znajdzie właściwy zakres. Ten kod nie jest problemem.

To jest. To jest tabela przeglądowa.

Kiedy naniesiesz to na wykres, możesz zobaczyć, jak wartości są nieco przekręcone, ponieważ są naprawdę optymistyczne. W większości przypadków widać 4-5 słupków. Ale kiedy go chwycisz, ponieważ spadek jest tak ostry, zobaczysz katastrofalny spadek z 5 do 2 taktów.

W wersji 4.0.1 zmieniono te wartości, aby były znacznie płynniejsze. Na wykresie widać, że potrzeba dużo czasu, aby spaść z 5 do 0 słupków. Trudniej jest dostrzec 5 słupków, ale trudniej jest je obniżyć. Więc proszę bardzo. 20 bajtów.

Opublikował wykres pokazujący spadek liczby wyświetlanych słupków przed i po.

W ramach zabawy psychologicznej Gold zauważa, że ​​Apple zwiększyło również wysokość słupków, dzięki czemu moc sygnału pierwsza i druga nie wyglądała aż tak źle!

To zabawne spojrzenie wstecz na interesujący fragment historii Apple.

Wyróżnione akcesoria

Zdjęcie autorstwa Bretta Jordana NA Usuń rozpryski

FTC: Korzystamy z automatycznych linków partnerskich generujących dochód. Więcej.





Source link

Advertisment

Więcej

Advertisment

Podobne

Advertisment

Najnowsze

Dziś nadal możesz zaoszczędzić aż do 70 procent na słuchawkach Bose i Sony

Jeśli kupujesz nową parę słuchawek z redukcją szumów lub tani zestaw wkładek dousznych — albo chcesz dokonać modernizacji — jesteś we właściwym miejscu....

Ghost of Yotei’s Bamboo Strikes przedstawia publiczność małych lisów

Duch YōteiOtwarty świat jest pełen naprawdę porywających opcjonalnych działań. Obozy bandytów dają ci szansę ćwiczenia ukrycia i zwalczania misji opowieści o wyższych stawkach....

The problems with generative AI in the smart home and how Amazon and Google plan to fix them

Last week, Amazon and Google kick-started what could be the next chapter of the smart home. Their new voice assistants, Alexa Plus and...
Advertisment