Samsung, Exynos og AOSP Explained: A Story of Betrayal

Har du noen gang lurt på hvorfor Exynos-enheter ikke får den beste AOSP-støtten? Finn ut i vår oppsummering av hendelser!

Husk, husk, den første av notatet, ICS-utgivelsen og plottet

Jeg vet ingen grunn til at Superbrick-forræderiet noen gang skulle bli glemt

Eldre forummedlemmer og Android-brukere av tidlige Samsung-enheter husker kanskje svakt Superbrick fiasko. Begivenhetene som leder frem til Superbrick er lange og komplekse. For korthets skyld, en tl; dr forklaring er at en lekket ICS-oppdatering for noen få operatørvarianter av Galaxy S2 i9100 og Galaxy Note N7000 forårsaket en permanent murstein. Dette var ingen vanlig hard murstein, ettersom en berørt enhet ikke kunne gjenopplives via en JTAG og var helt død og ikke reagerte. Superbricken påvirket enhetens eMMC, og derfor kunne reparasjoner bare gjøres med et fullstendig hovedkortskifte.

20151012151417122Ansvarsfraskrivelsen som vanligvis går med "lekkasjer" var gyldig i denne saken også, at lekkasjer i hovedsak er "uutgitt" programvare som kanskje er egnet for offentlig forbruk eller ikke. Men for å komplisere saken, tok denne superbricking ICS-kjernen faktisk veien til Galaxy Note N7000 som en offisiell utgivelse tilgjengelig via Kies- og OTA-oppdateringer.

Superbrick-fiaskoen, og det medfølgende dramaet som fulgte med høflighet av Samsungs holdning til utviklere, ble fremhevet i en serie med 13 innlegg av Andrew Dodd aka XDA Senior Recognized Developer Entropi512 på Google+ hans. Du kan finne begynnelsen av denne postserien her. Vi anbefaler sterkt at leserne tar seg litt fri og leser hele serien med innlegg for å samle fullstendig kontekstuell bevissthet og forstå alvoret i situasjonen som skjedde tilbake i 2012-13.

For å fremheve noen viktige punkter, her er noen utdrag (med ekstra vekt) fra innleggene:

"...Det er klart at nesten alle som følger meg er klar over den siste sosiale mediestormen som følge av frustrasjonen tredjeparts Android-fastvarefellesskap (spesielt CyanogenMod-brukere og utviklere) har opplevd Samsung. "Superbrick"-fiaskoen, mangelen på dokumentasjon av Samsungs Exynos4 SoC sammenlignet med Qualcomm og TIs SoCs, og en vaskeliste med andre problemer - det har nylig kommet til en slutt med beslutningen til alle aktive Exynos4-enhetsvedlikeholdere om å ikke ta på seg noen nye enheter..." - Overordnet innlegg.

"...I november ga Samsung ut XWKK5 for I9100 og UCKK6 for I777. Bluetooth HID på disse byggene ville ikke fungere med noen kildebygde kjerner - bare med binærfiler knyttet til disse byggene. Samsung ga aldri ut en annen Gingerbread-kildeoppdatering for I9100, selv om binærfilene deres viste klare bevis på en funksjonell endring av kilden. På samme måte ble I777 UCKK6-kilden ikke utgitt før et ukjent tidspunkt i midten av 2012 - jeg er ganske sikker ikke før etter at I9100 ICS ble utgitt i beste fall. Det stemmer – Samsung brøt GPL med I777 UCKK6 og hver I9100 Gingerbread bygge fra XWKK5 (november 2011) til de offisielt lanserte I9100 ICS (mars 2012) - Faktisk, teknisk sett er de det fortsatt, ettersom pepperkakekilden som tilsvarer disse kjernene aldri ble utgitt, men det spiller egentlig ingen rolle mer..."

"...Omtrent samtidig lanserte Samsung Tab 7.0 Plus og Tab 7.7, begge basert på den samme Exynos 4210 SoC som finnes i GS2...Disse enhetene brukte en Atheros AR6000-serie wifi-brikke. Interessant nok gir Atheros kilde for disse enhetene under en dobbel lisens, GPL og BSD. (Ettersom Atheros har full opphavsrett til alle komponentene i referansedriveren deres, er dette lovlig.) Samsung valgte BSD-lisensen for denne driveren. Sluttresultatet er, når du blir spurt om wifi-driverkilden (som ikke var til stede i kilden for disse enhetene), Samsung svarte med "koden er GPL eller BSD med to lisenser. Vi velger BSD [over GPL]"..." - Foreldrepost

"...Hvis det var noen åpenbar konklusjon å trekke fra ICS på GT-I9100, så var det at produsentens skinn varer ikke. Etter å ha fått I9100 ICS-fastvaren til å kjøre på I777 (først og fremst ved å reversere de byttede mikrofonkanalene på denne enheten, som tok mesteparten av en helg med jobb...), var det åpenbart at Touchwizz tilbakeførte mange av fordelene med ICS. Deler av fastvaren var "ny", deler var "legacy Gingerbread", og de konstante diskontinuitetene var skurrende ... - Foreldrepost

Enda verre... Offisiell ICS lansert for N7000 med XXLPY. Vi trodde Samsung aldri ville la en forferdelig feil som dette komme inn i en utgitt kjerne, men vi tok feil...

- Foreldrepost

notestein"...En kontakt hos Samsung hadde endelig erkjent at de var klar over situasjonen og "jobber iherdig" med den... Etter hvert ble Samsungs «løsning» presentert for oss. Chainfire var IKKE fornøyd med den foreslåtte "løsningen", heller ikke jeg... Det innebar ingen beskyttelse på kjernenivå, og var dårligere enn det vi allerede hadde på plass med BOARD_SUPPRESS_EMMC_WIPE i CM. I tillegg ba de oss om ikke å distribuere løsningen og omdirigere kjerneutviklere som leter etter en løsning til dem..."

"...Samsung nektet også stort sett å diskutere noen løsninger som involverer oppstartslastere... Begrunnelsen, som ikke ga mening, var at nesten alle garantikravene deres på grunn av tilpasset fastvare før denne eMMC-defekten skyldtes korrupsjon av bootloader... Selvfølgelig gir dette ingen mening, siden vi ønsket å diskutere metoder for å gjenopprette fra bootloader-korrupsjon, som ville eliminere de fleste av disse garantikostnadene for Samsung. Vi tilbød til og med å gjøre mesteparten av konstruksjonen og løsningsdistribusjonen selv, så lenge Samsung bare ga oss noen spesifikke små komponenter Dominik og Adam trengte..."

"...Samsung, etter å ha «arbeidet flittig» i en måned, kaster en granat i ansiktene våre

I begynnelsen av juli lekket XXLQ5 for I9100. I løpet av et døgn hadde mange rapporter om murstein hopet seg opp. Ikke så lenge etterpå gikk XWLPM live på Kies, og folk murte til venstre og høyre med denne konstruksjonen også.

Til tross for at de hevder å være det jobber flittig på dette problemet tok Samsung i stedet en tidligere sikker enhet og satte den i fare..." - Foreldrepost

"...Så, på dette tidspunktet - Det er midten av november 2012, og ikke en eneste enhet som er berørt av Samsungs defekte eMMC har mottatt en kjernefiks. Mens innsatsen til fellesskapet har skaderatene LANGT nede, så lenge Samsungs offisielle kjerner er det sårbar, kommer jeg fortsatt til å få en PM med noen få dagers mellomrom fra en Superbricked-bruker som trenger hjelp som jeg ikke kan hjelp..." - Foreldrepost

"...I midten av august bestemte jeg meg for å gå mot bedre vitende og kjøpe en Note 10.1 (WiFi-variant - GT-N8013). Jeg skjønte at ettersom den delte en SoC med I9300, ville det være en ganske sikker innsats ...

Nå som jeg hadde bekreftet, både gjennom manglende funksjonalitet til wifi-driveren, og forskjellige strengsammenligninger med den sikkerhetskopierte lagerkjerne, at de utgitte kildene for en hvilken som helst N80xx-variant IKKE samsvarte med lagerkjernene (alle av dem hadde samme ødelagte wifi sjåfør og andre personer som jobbet med kildene klaget over lignende problemer.), tok jeg opp problemet med min kontakt på Samsung...

De sporet opp noen, og denne personens svar var: Samsung var ikke forpliktet til å oppgi kilde som samsvarte med UEALGB-bygget for GT-N8013, siden det ikke var en offisiell versjon. Ja, det stemmer – noen faktisk våget å påstå at fastvaren som var forhåndsinstallert på hver GT-N8013-enhet solgt i USA var en LEKKASJON. Dette var tredje gangen noen i Samsung Mobile åpenlyst løy for ansiktet til kontakten min..." - Foreldrepost

"...Så mellom det, andre ting (se tidligere deler av denne sagaen for mange eksempler), og Superbrick, stort sett alle Exynos4-vedlikeholderne var på grensen til utmattelse med Samsung og spesielt med Exynos4.

Jeg indikerte at Note 10.1 kom til å bli min siste enhet, og jeg var ikke sikker på hvor lenge jeg ville bli med I777 og N7000, da jeg også var utslitt på dette tidspunktet.

Jeg var lei av å være måneder bak resten av Cyanogenmod-teamet fordi jeg jobbet med enheter som hadde flere blobs og flere grensesnittbrudd i blobs enn noen annen enhet

(Bortsett fra Tegra3-enheter, men folk visste allerede å unngå disse med mindre de var i en Nexus.) Foreldrepost

"...Nær slutten [av BABBQ 2012] var Samsungs presentasjon av utviklerrelasjoner. Det var her de lovet å forbedre kvaliteten på referansekildekoden og dokumentasjonen for Exynos4, i teorien for å lindre fellesskapets bekymringer. Selve presentasjonsinnholdet lovet lite - nesten alt de annonserte var ting som allerede fantes teknisk, men som var til liten eller ingen nytte fordi det var utdatert eller rett og slett ikke funksjonelt ..." - Foreldrepost

Alt dette har bare vært enda et tilfelle av at Samsung har snakket og gitt løfter og unnlatt å levere, akkurat som de har snakket og gitt løfter i over et år. Utviklingstavler er ment å være FORAN håndsett - de trenger ikke å forholde seg til operatørtesting, trådløse sertifiseringer, eller noen av tingene som vanligvis er beryktet for å holde tilbake håndsettet oppdateringer. Pluss at deres tiltenkte mål er UTVIKLERE, så de bør være "bleeding edge". Dette er hva Qualcomm og TI referansekilde er - Det er den absolutte siste, foran alt som er sett på telefoner. Det vi får fra Samsung er mer enn 6 måneder utdatert - ICS for en SoC som var i et håndsett som ble lansert med ICS våren 2012, og som mottok en offisiell Jellybean-oppdatering (bærergodkjenninger/trådløse sertifikater og alt) i begynnelsen av oktober 2012... Men de jobber fortsatt med ICS som referansekilde???

- Foreldrepost

Serien ble avsluttet med et oppsummeringsinnlegg som finnes her. Vi anbefaler at alle brukere leser den før de fortsetter.

Utgangspunktet for denne artikkelen var å prøve å forklare hvorfor Exynos-enheter vanligvis mangler når det gjelder AOSP-basert utvikling sammenlignet med Qualcomm-enheter. Den ovennevnte og siterte G+-postserien fremhevet vanskelighetene som en vedlikeholder av en Exynos-enhet står overfor. Innlegget er datert for tidsperioden 2011-2013, så vi tok kontakt med noen av de nevnte utviklerne for å finne ut hvordan situasjonen er for øyeblikket. Tross alt kan mye endre seg på 3 år i mobilverdenen.

Ikke for Samsung og støtten for AOSP, ser det ut til.

Spørsmål: Hvorfor tar AOSP ROM så lang tid å komme for Exynos-enheter, sammenlignet med for eksempel Qualcomm-enheter?

A: XDA senior anerkjent utvikler codeworkx:

Qualcomm slipper alltid oppdatert kildekode som er nødvendig for å få alle komponentene til plattformen deres til å fungere på aosp. Se her.

Samsung gjør ingenting.

XDA senior anerkjent utvikler Entropi512:

"Qualcomm CAF er enormt overlegen når det gjelder sporbarhet til/fra OEM-utgivelser (jeg har aldri sett en annen OEM-enhet enn en Nexus som ikke lett kunne spores tilbake til en CAF-tag på CodeAurora), kvaliteten på koden og hyppigheten av oppdateringer til Insignal (som ikke har noen KitKat for "Arndale Octa" og ikke noe nyere enn ICS for Exynos4.) I tillegg til å være utdatert, er det absolutt null sporbarhet mellom Samsung Mobiles OEM utgivelser og Exynos-referansekilden, mens alle OEM-er har en ganske anstendig mengde sporbarhet tilbake til CAF (HTC og Samsung noe mindre enn andre, men fortsatt langt bedre enn noe annet Exynos)

Vent, slapp de til slutt JB for Origen Quad? Ikke før KitKat nesten var ute... Og det de kalte JB var sannsynligvis nær den ubrukelige katastrofen som var deres Pepperkakeaktig "ICS"

Exynos3 aka Hummingbird var en helt annen historie takket være Nexus S, men Samsung har gjort et poeng av aldri å dele et brikkesett mellom Nexus-enheter og noen av deres andre enheter siden den gang. (Galaxy Nexus var OMAP4 mens alt annet fra den tiden med noen få unntak var Exynos4, Nexus 10 og Samsung Chromebook var to av de eneste Exynos 5250-enheter som noen gang ble sendt, Exynos 54xx byttet fra Mali GPU til PowerVR sammen med en hel haug med andre endringer, så manta var ubrukelig for I9500, etc.)"

Spørsmål: Hva er fremtiden til Exynos Development? Hvilke skritt kan Samsung ta for å gjøre seg selv mer utviklingsvennlige?

A: Codeworkx:

Det er ingen fremtid. Alle utviklere du har skrevet til har sluttet å fungere på exynos-enheter for lenge siden. De fleste av dem sluttet til og med å jobbe på samsung-enheter generelt.

Vi har bedt om kildekode mer enn én gang, og ingenting skjedde. De bryr seg rett og slett ikke om fellesskapet. Alt de bryr seg om er $$$

Det er tydelig at situasjonen er nesten identisk med hva den var for mer enn 3 år siden. Samsung-enheter, spesielt Exynos-baserte, er fortsatt dårlige eksempler på å vise frem arbeidet til utviklingsfellesskapet utenfor Touchwiz-baserte eksempler. All utvikling for enheten forblir stort sett begrenset til modifikasjoner av Touchwiz, med scenen for tilpasset ROM-er som dreier seg om å legge til eller fjerne funksjoner fra Samsungs lukkede kilde OS "skin" gjennom omvendt engineering.

Dette er ikke å si at Exynos-enheter får absolutt ingen støtte for AOSP ROM-er. AOSP-rom, som CM og lignende, gjør det etter hvert lander på disse enhetene, men disse kommer etter mye hackeri på lavt nivå og ekstrem innsats fra vedlikeholdere som er modige nok til å bruke all sin fritid på å fikse det Samsung ødela. Selv da er sluttresultatet ikke en AOSP-opplevelse som du normalt forventer, og for dette kan du trygt klandre Samsung.

Sårene til Superbrick er fortsatt friske på de som setter sammen hjerte og sjel i arbeidet mot en ødelagt sak som kaller seg Samsung. Hvis du ønsker å få en enhet med det første kriteriet er tilpasset ROM-utvikling og tredjeparts ROM-utviklerstøtte, følg visdomsordene som deles av Codeworkx:

Slutt å støtte slike selskaper ved å kjøpe enhetene deres.

Ta en sony- eller nexus-enhet, få aosp-rom av høy kvalitet, god fellesskapsstøtte og bare vær glad.