Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

How to destroy a brand-new Samsung laptop: Boot Linux on it

  • 93 odgovora
  • 27.472 pregleda

Najnovija ↓

Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 08.02.2013. u 21:24 · pre 167 meseci #81
<php?
if≠"samsung" then stay alive
else die, mathafucka ;)
?php>

KVRC :D
Potpis
Kad, tokom pravljenja Nes kafe, umesto da uzmeš mleko iz friza tamo ustvari staviš Nes konzervu - shvatiš koliko je multitasking za*ebana i pipava rabota :)
Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 08.02.2013. u 21:52 · pre 167 meseci #82
Citat:
component
Mislim, uveden je novi layer sigurnosti... How yes no...


UEFI secure boot nema blage veze sa ovim bagom. Stavise, ni UEFI kao UEFI nema veze sa ovim bagom, vec je u pitanju specificna implementacija UEFI firmware-a od strane Samsung-a.

Bag je ocigledno u Samsungovom firmware-u (koji brickuje masinu) kao i u drajveru (koji koristi code path koji ne bi trebao da koristi).

E sad, nije nemoguce brickovati vecinu PC-jeva danas zaobilazenjem flash provera integriteta (imate onaj ruski tool za flash-ovanje ASUS ploca koji zaobilazi EFI secure check - sa njim mozete da flashujete bukvalno sta hocete, pa samim tim i da urnisete sistem - meni je taj tool odlicno posluzio da downgradujem firmware na nepodrzani koji nije potpisan :-)

Problem je sto se ovde radi o brick-ovanju uz pomoc legacy drajver koda. Senzibilan softverski dizajn sa Samsungove strane bi ukljucio mogucnost da neki drajver ne detektuje UEFI i pokusava da izvrsava kod koji je bio validan na starim BIOS-ima.

Tu je krivica definitivno Samsung-ova - firmware su definitivno mogli da raspisu da bude otporniji na takve gluposti.

Medjutim, krivica Ubuntu-a je ista, ako ne i veca - u faktu da su upakovali drajver kod koji ocigledno nisu testirali.

Da se ne zajebavamo - nisu u pitanju neki levi modeli anonimnog proizvodjaca iz neke barake u ruralnoj Kini, vec je u pitanju brand-name laptop jednog od najvecih proizvodjaca na svetu. Samim tim, izgovori su prilicno bedni. Da ne pricamo o faktu i da kod u drajveru kaubojski radi posao bez provera da li bi zaista trebao to da radi...

Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Sviđa mi se1
Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 09.02.2013. u 09:46 · pre 167 meseci #83
Pricao o fail testiranju od strane Canoicala ce drzati vodu tek kad laptop bude testiran od strane samog proizvodjaca u mjeri u kolikoj je i Windows testiran, ovakve stvari se izbjegavaju na takav i SAMO takav nacin. Za Windows je hardware testiran prije "0day"-a dok za Linux postoji, ajmo reci "latencija" od izlaska hardwarea na trziste do kupovine, buganja kod nekoga tko je dovoljno pametan da skonta u cemu je problem i kome da prijavi do samog fix-a. To su dvije velike razlike i ne uzimati ih u obzir kod usporedbe je cista propaganda.

Inace kako je to Canoical mogao iztestirati taj laptop i svaki moguci hardware koji izadje i koji bi trebao raditi na Linuxu?

Sto se tice ovog buga izgleda da nije Linux specific
Code:
http://mjg59.dreamwidth.org/22855.html


Ovaj kod na Windowsu navodno uzrokuje isti bug:
Code:
    #include "stdafx.h"
    #include <Windows.h>
    #include <WinBase.h>
     
    int _tmain(int argc, _TCHAR* argv[])
    {
            char testdata[1024];
            char name[] = "TestVarXX";
            BOOL result;
            HANDLE handle = NULL;
            TOKEN_PRIVILEGES tp;
     
            ZeroMemory(&tp, sizeof(tp));
     
            if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES, &handle))
                    printf("Failed to open process\n");
     
            if (!LookupPrivilegeValue(NULL, SE_SYSTEM_ENVIRONMENT_NAME, &tp.Privileges[0].Luid))
                    printf("Failed to locate privilege");
     
            tp.PrivilegeCount = 1;
            tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
            if (!AdjustTokenPrivileges(handle, FALSE, &tp, 0, NULL, 0))
                    printf("Failed to adjust privileges\n");
     
            for (int i=0; i<48; i++) {
                    for (int j=0; j<sizeof(testdata); j++)
                            testdata[j] = (char)rand();

                    sprintf_s(name, sizeof(name), "TestVar%d", i);
     
                    result = SetFirmwareEnvironmentVariableExA(name, "{12345678-1234-1234-1234-1234567890ab}", testdata, sizeof(testdata), 0x07);
     
                    if (!result) {
                            printf("Received error code %ld\n", GetLastError());
                            break;
                    }
            }
     
            if (result)
                            printf("Success");
     
            return 0;
    }


Naisao sam i na price o brickovanim Samsugovim laptopovima kada se upgrejdalo s Windows 8 consumer preview na Windows 8 RTM, moguce je da je isti ovaj bug, medjutim malo je stvari napisano na netu da bi mogao tocno reci, vjerovatno iz razloga sto se Windows ne lincuje ovako kao Linux, neradi se slona od mrava pa se negleda svaki bit pod povecalom da se analizira tko je kriv.
Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 09.02.2013. u 11:36 · pre 167 meseci #84
Citat:
kkedacic
Ovaj kod na Windowsu navodno uzrokuje isti bug:


Vidi, kljucna razlika je da TAJ KOD NIJE U WINDOWS DRAJVERU.

Ne vidim nista cudno u tome da mozes da uzmes kod sa failed Linux drajvera i konvertujes istu sekvencu u Windows API format i da dobijes isti problem terajuci taj kod u Windowsu.

Ali taj kod nije distribuiran u Windows Gold Master-u, dok u slucaju Ubuntu Linux-a jeste.

Sitna razlika, ako hocu da brickujem taj laptop u Windowsu moram da namerno iskopiram i izvrsim kod koji znam da ce da mi brickuje masinu.

U slucaju Ubuntu Linuxa sam samo trebao da ubacim USB stick i bootujem se sa njega.

--

Sto se testiranja tice, to je na Canonical-u da organizuje. Canonical nije dobrotvorna ustanova vec firma - pa mogu da organizuju i komercijalni program sertifikacije uredjaja. Postoje Linux vendori koji bas to rade (Red Hat).

http://www.redhat.com/rhel/compatibility/hardware/

Pa onda lepo podele drajvere u 2 kategorije: sertifikovani i nesertifikovani.

Ali sto bi to radili kada ce biti sasvim dovoljno ljudi da koriste zbrda-zdola spakovane drajvere bez testiranja.

E zbog toga ce se desavati stvari kao sto je ova.

Koje se ne desavaju na Windowsu, posto je Microsoft imao 2 grama mozga pa su napravili WHQL program gde, ako nista drugo, drajver bar mora da protrci na ciljanom hardveru i postuje API specifikacije pre nego sto dobije sertifikat.
Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 09.02.2013. u 13:40 · pre 167 meseci #86
Ako vec imaju takav program, onda bi trebali negde da napisu da su ucitani drajveri nesertifikovani.

Plus, ako Ubuntu pretenduje da bude validna desktop zamena za Windows, nesto mi se cini da bi trebalo da malo vise porade na broju sertifikovanih desktop/laptop uredjaja.

Neko ce reci da je to posao OEM-a - to je teorija, a praksa je drugacija: ako nisi lider u nekom trzistu, vec pokusavas da udjes na neko trziste, moras vise da se potrudis. Microsoft ima luksuz da je de-facto lider na desktop polju vec decenijama, pa nema potrebe da se angazuje posto ce OEM-i sami juriti WHQL sertifikaciju.

Opet, to ne znaci da neko drugi moze da sedi skrstenih ruku. Tj. moze, ali onda ce se neminovno desavati stvari poput ove.

Zapravo, dobro je sto je broj incidenata ovog tipa (brickovan hardver) nizak - ali to nije neko bog zna kakvo osiguranje.

--

Sa druge strane - fakat da ovo nije neki veliki problem je zbog pukog fakta da je Desktop Linux i dalje na nivou statisticke greske.

Kada (ako) desktop Linux predje kriticnu masu (tipa 10-15% trzista) ove stvari ce postati mnogo bitnije i onda ce vendori da se vise trude.

A do tada... jbg, ako neki hardver bude brick-ovan, sta da se radi.
Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 09.02.2013. u 14:27 · pre 167 meseci #87
Citat:
Ivan Dimkovic: A do tada... jbg, ako neki hardver bude brick-ovan, sta da se radi.

Do tada reklamiraš proizvođaču proizvod :D

Šalu na stranu, jasno mi je šta govoriš. Canonical treba da malo pooštri proceduru testiranja drajvera. Mada nisam baš najbolje razumeo: ovo se dešava samo kod Ubuntu-a? I samo je Canoncail postavio ovakav drajver? Nije do samog Linuxa?
Ako Canonical ili bilo koja druga firma želi da dopre do korisnika moraće da sarađuje sa proizvođačima hardvera. Npr. System 76 je odličan primer. Kupiš računar sa već instaliram Ubuntu-om i znaš da je sve provereno i da nećeš imati nikakvih problema. Nikakvo brikovanje hardvera. Druga opcija je da kupiš neki radom hardver (makar bio i od najpoznatijeg proizvođača) i da se nadaš da će sve biti kako treba.

Na primer, kupio sam Lenovo netbook u nameri da na njemu imam instaliran Linux. Nisam prethodno proverio da li je sve podržano. Manje-više sve je bilo out of the box, ali me zeza wireless. Obara protok, isključuje se itd... Sam sam morao na netu da iskopam rešenje. A onda mi se koleginica žali na drugi Lenovo laptop i ima sličnih problema sa wirelessom u Windowsu. Rešenje je bilo da skine najnovije Lenovo drajvere (i to ne samo za wireless nego i za power control pošto je neka kombinacija pravila probem). I šta sad? Iz Lenova nisu ponudili rešenje za Linux već samo za Windows. U oba slučaja je napravljen propust u drajverima. I Microsoft i Canonical nisu odradili posao kako treba što se mene tiče. Pretpostavljam da se takve stvari stalno dešavaju u IT industriji.
Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 10.02.2013. u 12:05 · pre 167 meseci #89


Potpuno je druga stvar ako se destruktivni kod nalazi u drajveru koji se pokreće tokom butovanja i nigde drugde sem u "dokazu" da bug nije "specifičan za Linux".

Windows auto: Vozač može da unese pištolj i da se upuca u glavu.
Linux auto: Pištolj je ugrađen u naslon za glavu vozača i puca kad se okrene ključ.

I onda ljudi šire FUD da "meci u glavu nisu specifičnost Linuxa".
Sviđa mi se2
Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 12.02.2013. u 21:58 · pre 166 meseci #91


Citat:
The most fascinating part of the story is on what is actually causing the firmware boot failure: 'Unfortunately, it turns out that some Samsung laptops will fail to boot if too much of the [UEFI] variable storage space is used. We don't know what "too much" is yet, but writing a bunch of variables from Windows is enough to trigger it. I put some sample code here — it writes out 36 variables each containing a kilobyte of random data. I ran this as an administrator under Windows and then rebooted the system. It never came back



Upisivanje suviše varijabli ubije laptop?
Potpis
Kad, tokom pravljenja Nes kafe, umesto da uzmeš mleko iz friza tamo ustvari staviš Nes konzervu - shvatiš koliko je multitasking za*ebana i pipava rabota :)
Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 12.02.2013. u 22:11 · pre 166 meseci #92
Ocigledno netestiran deo koda.

Secam se mog problema sa Sony Vaio VPC-Z11 masinom gde ako ubodes jos jedan SSD umesto optickog drajva CPU power management vise ne radi (CPU biva zakucan na najvisem P-stateu tj. frekvenciji).

Posto me je zanimalo sta je wtf problem stigao sam do baga - serijski broj SSD-a je prebrisao pocetak ACPI tabele koja opisuje radne frekvencije procesora :-) Problem se ne javlja sa built-in optickim diskom posto on nema serijski broj.

Isto kao i ovde, Sony ocigledno nije testirao takvu konfiguraciju iz komercijalnih razloga.

Mada, u Sony slucaju im se ipak moze vise oprostiti posto je guranje SSD-a umesto optickog drajva prilicno DIY stvar + naravno, najgora stvar koja se desava je kraca duzina rada na bateriji, dok je u Samsung-ovom slucaju rezultat brick-ovan laptop.

--

Ovaj Samsung bag otkriva tri vrlo bitne stvari:

a) Testiranje firmware-a Samsung laptopova je ocigledno minimalno
b) Ubuntu pakuje i drajvere koji uopste nisu testirani na ciljnom hardveru
c) Kombinacija a i b je prilicno gadna
Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Re: How to destroy a brand-new Samsung laptop: Boot Linux on it 19.02.2013. u 21:57 · pre 166 meseci #94
Sorry, pobrkao si me sa nekim fanboyem - ja svoje uredjaje kupujem na osnovu onoga sto nude a ne na osnovu brenda.

Licno, Mac OS X ne bih takao ni sa motkom, ali mi je 15' MBPR odlicna masina (kao i Sony Z).
Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme