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

Film z remiksem zwiastuna Scotta Pilgrima Supermana zasługuje na pełny film

Zawsze tu jestem, żeby sprytnie przerobić zwiastun, będący podstawą tych początków...

Projektor Nebula P1 firmy Anker ma parę odłączanych głośników bezprzewodowych

Biorąc pod uwagę pełne ceny detaliczne dla większa Nebula X1 Pro kosztuje 5000 dolarów, mniejsza Nebula P1 nie jest tak wydajna. Jest ograniczony...

Wkrótce w Apple TV+ powróci jeden z najlepiej ocenianych programów

Apple TV+ oferuje rosnącą bibliotekę uznanych przez krytyków tytułów, w tym jeden z najwyżej ocenianych seriali, o których prawdopodobnie nigdy nie słyszałeś: Drops...
Advertisment