Linux w stacji ładującej telefony komórkowe.

Linuksa widzieliśmy już we wrocławskich automatach biletowych, na gdańskich wyświetlaczach rozkładu jazdy. Jakiś czas temu w Poznaniu w jednej z galer(ii) handlowych pojawiło się dziwne urządzenie. Nie widziałem, by ktoś z niego korzystał, z opisu miała to być stacja do ładowania i dezynfekcji(?) telefonów komórkowych.

Postało jakiś czas, potem się zepsuło (albo nigdy nie zostało uruchomione – te kabelki zawsze tak na wierzchu były – żadnego zamknięcia…), ujawniając, że pod spodem działa Linux. Takie zepsute postało jeszcze parę dni i… zniknęło. Czyżby nie było biznesu w ładowaniu i dezynfekcji telefonów komórkowych? W sumie nie zdziwiłbym się, gdyby w mieście nie było – do ładowarki blisko, a miejsce nie wygląda na pewne. Ja bym nie zostawił telefonu GSM tak bez nadzoru…

W każdym razie, dowód, że pod spodem Linux (sorry za jakość, komórką klikane szybko):

Urządzenie do ładowania telefonów - pełny widok.

I zbliżenie ekranu – GRUB z komunikatem błędu w całej okazałości:

Komunikat błędu na ładowarce.

Flashowanie BIOS spod Linuksa – flashrom.

Dla jasności: poniższy wpis nie ma charakteru poradnika, bardziej jest opisem geekowej zabawy i jako taki należy go traktować, chociaż parę porad też się znajdzie.

Przeczytałem wpis o flashowaniu BIOS bez użycia Windowsa i stwierdziłem, że brakuje tam opisu natywnego linuksowego rozwiązania, czyli programu flashrom. Przy okazji wyszło też na jaw, że grzejnik korzysta z BIOSu w wersji 1.90, jak go fabryka wypuściła, a na stronie producenta dostępna jest wersja 2.80. Co prawda don’t fix it, if it ain’t broken, ale ponieważ flashrom chwali się wsparciem dla płyty ASRock K7S41 a u mnie jest ASRock K7S41GX, to pomyślałem, że spróbować trzeba, bo nazwa podobna, a GX kojarzy się z grafiką. 😉 Do sprawdzania wersji BIOS, płyty itd. korzystamy oczywiście z programu dmidecode.

Na początek rozczarowanie – wersja flashrom ze Squeeze nie wspiera tej płyty. Ale na stronie projektu flashrom podany jest namiar na kanał IRC, gdzie w razie problemów można uzyskać pomoc. Od razu zaznaczę, że kanał jest bardzo pomocny, ale techniczny. Czyli chłopaki (znaczy: developerzy) chcą dużo paste’ów z verbose mode. 😉 Opisałem problem, dostałem sugestię, by skorzystać z wersji SVN, co uczyniłem.

Jest nieco lepiej, ale nadal nie działa, bo nie rozpoznaje płyty, ale jakiś postęp jest. Dostaję pytania o wersję chipa z BIOSem (wymaga otwarcia puszki, zdarcia nalepki i odczytania napisów z chipa), prośbę o użycie programu superiotool, zaczynam pomału orientować się w temacie, z grubsza kojarzyć co tam się przy tym flashowaniu tak naprawdę odbywa, jak wyglądają płyty (taaak, chipy z BIOSem drastycznie się zmieniły odkąd ostatnio grzebałem w sprzęcie, choć i ten nie jest najnowszy)…

Okazuje się, że super I/O chip jest obsługiwany, chip BIOSu też… Dłuższe przejrzenie stron z opisem płyt K7S41 i K7S41X oraz źródełek flashrom ujawnia, że to bardzo podobne konstrukcje, z tym samym super I/O chipem i tym samym chipem BIOS. Okazuje się też, że udaje się odczytać aktualny BIOS do pliku:

flashrom -c W49F002U/N -m Asrock:K7S41 -VV -r test.dmp -f

Co prawda wymuszając wszystko na sztywno i z wymuszeniem operacji, ale działa. Co prawda niewiele to daje – chłopaki twierdzą, że musi wykrywać automatycznie, inaczej o flashowaniu można zapomnieć.

W przypływie dobrego humoru i odwagi, postanawiam wziąć sprawy w swoje ręce, skoro już tyle wiem o sprzęcie. Lekka zabawa z linią odpowiedzialną za dopasowanie (skopiuj linię dla K7S41, zmień na K7S41GX, skompiluj, spaczkuj checkinstall, przerzuć na docelową maszynę, zainstaluj, uruchom) i… wykrywa bez błędów.

Calibrating delay loop... OK.
No coreboot table found.
Found chipset "SiS 741", enabling flash write... OK.
This chipset supports the following protocols: Non-SPI.
Disabling flash write protection for board "ASRock K7S41GX"... OK.
Found chip "Winbond W49F002U/N" (256 KB, Parallel) at physical address 0xfffc0000.

Szybki test – odczyt działa, md5sum identyczna jak poprzednio. Weryfikacja zawartości BIOS z plikiem – passed. No to zaryzykujmy i wrzućmy to, co wyciągnęliśmy z chipa:

Flash image seems to be a legacy BIOS. Disabling checks.
Erasing and writing flash chip... Done.
Verifying flash... VERIFIED.

Wygląda, że działa. Na koniec wrzuciłem najnowszą wersję BIOSu. Ponownie bez problemu. Odczyt dmidecode – nadal widzi starą wersję, ale może restart jest wymagany? No to jazda z restartem… Chwila prawdy czyli reboot.

No i tu dobre wiadomości się kończą – po reboocie maszynka nie wstała i piszczy nietypowo. Chłopaki z IRCa mówią, że powinno być niekrytycznie, skoro weryfikacja się powiodła, być może wymagane wyłączenie zasilania lub reset CMOS. Niestety, żadne z nich nie pomogło. Trzeba skołować monitor i klawiaturę i zobaczyć, co też on tam wyświetla (rada: nie polecam zabawy z flashowaniem bez dostępu do monitora i klawiatury). Może jakiś błąd typu No keyboard. Press F1 to continue?

Zobaczymy niebawem. Dramatu nie ma, bo od biedy mam dostęp do identycznej płyty, więc przy odrobinie zabawy przełoży się kość BIOSu i przeflashuje się tam. Wkrótce dam znać, co ostatecznie wynikło (mam nadzieję, że uruchomię sprzęt, a flashrom zyska obsługę nowej płyty).

Tak czy inaczej, zabawa przednia (stąd kategoria Rozrywka), a flashowanie z użyciem flashrom bardzo przyjemne, proste i wygodne. Oczywiście jeśli sprzęt jest wspierany. 😉

UPDATE: Wiele się nie pomyliłem. Faktycznie trzeba było nacisnąć F1, tyle, że dwa razy. Raz, aby przywrócić wartości domyślne BIOSu (nie wiem, czy reset zworką nie zadziałał, czy po prostu trzeba), drugi, aby ominąć błąd związany z MAC. Ten drugi jest poważniejszy i objawia się komunikatem Mac address are invalid in both APC and DMI Press F1 to Resume i raczej zasługuje na oddzielny wpis. W każdym razie grzejnik znów grzeje (na razie na starym BIOSie).

Paczkomaty 24/7 czyli jak nie robić promocji.

InPost zrobił promocję swojej nowej usłudze, czyli Paczkomatom. Taką promocję pełną gębą, trendy i social. Z użyciem Facebooka, oczywiście. Aplikacja na FB, konkurs Paczkozagadka, do wygrania coś tam. Pełna integracja systemów. Zasadniczo, dnia 16 grudnia skusiły mnie trzy rzeczy: nad kartą FreeM (do zabawy) myślałem już wcześniej, miałem w perspektywie nieco czasu wolnego i sama idea usługi mi się spodobała, więc chciałem wypróbować w praktyce działanie.

Szybkie klik klik i założyłem konto w portalu. Co prawda już sam początek nie napawał optymizmem bo i null null w aplikacji, i wymagany Flash, ale OK… Chwilę później nadszedł mail z potwierdzeniem, a w nim:

Oczekuj sms-a oraz emaila z informacją o nadaniu Twojej przesyłki do wybranego przez Ciebie Paczkomatu. W przesyłce na pewno znajdziesz Twoją nagrodę gwarantowaną – zestaw startowy ogólnopolskiej sieci komórkowej FreeM z darmowym dostępem do Facebooka i komunikatorów internetowych na zawsze, bez doładowań i nawet z zerowym kontem oraz kupony rabatowe o łącznej wartości 1169 zł do wykorzystania w sklepach internetowych!

Możliwe, że oprócz karty FreeM oraz kuponów rabatowych, w Paczkomacie będzie czekała na Ciebie nagroda główna! Trzymamy kciuki! Znajdziesz ją wtedy w Paczkomacie razem z nagrodą gwarantowaną!

Wkrótce również otrzymasz wiadomość, gdy przesyłkę dostarczymy do wybranego przez Ciebie paczkomatu. W zależności od liczby zgłoszeń może potrwać to nawet kilka dni. Zapewniamy Cię jednak, że już w tej chwili siedzimy i zawijamy paczki jak te świstaki 24/7.

Czekałem cierpliwie. Tydzień. Potem drugi. W międzyczasie padła strona konkursu… Prawie dobiłem do miesiąca… W końcu nie zdzierżyłem i skomentowałem na FB wpis, gdzie proponowali wgapianie się w jakiś obrazek. O dziwo, pomogło. Znaczy się, na FB dbają o wizerunek, Blipa mają… Gdzieś pewnie mają, bo obserwowanie tagów swoich produktów i firmy jak widać InPost przerosło.

Sugestia kontaktu mailowego i… poszło! Co prawda twojej małą, na co zwróciłem uwagę i trochę głupio by tak było ściągać przesyłki metodą pull, ale dobrze, niech przyjdzie.

W sumie dostarczenie poszło bardzo szybko, bo już następnego dnia po porannym kontakcie mailowym i popołudniowej informacji o wysyłce, dostałem informację (tak, SMS i email…) o tym, że paczka jest gotowa do odbioru.

I teraz zaczyna się gigantyczny WTF. Odebrałem, ale w przesyłce była tylko książeczka rabatowa. Nie było zamówionego zestawu FreeM. Dostałem za to maila o następującej treści:

Witamy
Jeśli jest Pan zainteresowany otrzymaniem karty FreeM
to prosimy o podanie danych na które ma karta zostać wysłana.
Tzn : Imię Nazwisko, adres (ulica, nr domu/mieszkania, kod pocztowy,
miejscowość)

Pozdrawiamy
BOK FreeM

Zastanawiam się, czy ktoś na głowę upadł czy jak? Obiecaliście zestaw startowy, gwarantowany w konkursie? Obiecaliście. Obiecaliście, że dojdzie w tej paczce? Obiecaliście. To gdzie on jest? Nie tylko ja nie dostałem. A może InPost nie ufa swojej usłudze na tyle, by wysłać nią swój zestaw startowy, hę?

W każdym razie, jedyne do czego nie mam zastrzeżeń, to kontakt mailowy na info@… przy wyjaśnianiu całej sprawy. Ale chyba jakby nie na tym usługa ma polegać.

Dla jasności: nie chodzi o kiepską, z null null, wymagającą Flash aplikację. Nie chodzi o termin dostarczania przesyłek (czy też całkowite zniknięcie zamówienia w systemie, bo podejrzewam, że o to chodziło), nie chodzi o twojej, nie chodzi w końcu o samą kartę, którą – jak InPost pisze – mogę zamówić do domu, albo pewnie nawet którą by – po wysłaniu stosownego maila – dostarczono paczkomatem, a którą aktualnie i tak nie mam już czasu się bawić. Chodzi o całokształt promocji, która – jeśli o mnie chodzi – przyniosła skutek odwrotny do zamierzonego.