Zalany telefon – naprawa.

Chcąc nie chcąc udało mi się zdobyć nową sprawność na wyjeździe – ratowanie zalanego telefonu. Okazało się, że nie wszystkie plecaki są wodoszczelne. Ten, który pożyczyłem wykazał się praktycznie zerową ochroną przed deszczem. W przeciwieństwie do firmowego „laptopowego” plecaka, który zaskakująco dobrze chroni przed deszczem i do którego przywykłem.

W każdym razie deszcz był spory i po otwarciu kieszonki z kluczami od auta i telefonem okazało się, że w środku jest bagno telefon jest totalnie zalany. I to zalany nie tak trochę, że wilgotny, tylko praktycznie pływa i kapie z niego. Co prawda wyglądał, że działa, ale już wyświetlał, że włączone są jakieś dziwne opcje zestaw słuchawkowy, którego przecież nie mam.

Co prawda moja Nokia 3110c ma już 3 lata (ależ ten czas leci…), czyli telefon jest stary i należało by go wymienić, ale w sumie działał i prawie wystarcza. W zasadzie do pełni szczęścia brakuje mi – najchętniej wbudowanego – GPS, bo ostatecznie nie kupiłem zewnętrznego i minimalnie większego ekranu do przeglądania Internetu.

Po paru dniach wygląda, że zalanie telefonu nie zaszkodziło mu, więc może komuś też się opis przyda (za efekty nie ręczę, mi pomogło):

  • Wyłączenie telefonu i wyjęcie baterii (natychmiast po stwierdzeniu zalania).
  • Wyjęcie wszystkiego, co daje się wyjąć (karta SIM, karta microSD, jakbym mógł, to bym trochę bardziej rozebrał go, ale nie miałem ani instrukcji, ani narzędzi).
  • Osuszenie wszystkiego z osobna papierem toaletowym.
  • Wydmuchanie wody ze szczelin, dalsze osuszanie papierem.
  • 20-30 min suszenia w różnych pozycjach suszarką w takiej odległości, by się nie przegrzewał, ale żeby był wyraźnie ciepły.
  • Jak przestaną być widoczne ślady wilgoci (ekran itp.), 2,5-3h leżakowania telefonu na słońcu i wietrze (pewnie niezalecane przez producenta).

Po tym włączyłem telefon i okazało się, że na tyle, na ile używałem, funkcjonuje normalnie. I w sumie mam ambiwalentne uczucia. Z jednej strony fajnie, że uratowany, z drugiej nie ma pretekstu do kupna czegoś z Androidem.

UPDATE: Mimo pesymistycznej prognozy z komentarza, telefon ma się dobrze. Głośnik, mikrofon, klawiatura – bez zarzutu po około pięciu miesiącach blisko roku.

Polskie radio w konsoli.

Dziś na kanale padło pytanie jak odtwarzać w konsoli radio z http://moje.polskieradio.pl? Na początku sądziłem, że chodzi o Trójkę itp., wtedy format URLa działający zarówno w mplayer jak i w MPD to wspominany we wpisie o MPD:

mms://stream.polskieradio.pl/program3

Okazało się jednak, że chodzi o pozostałe strumienie. I tu nie jest już tak różowo i prosto. Co prawda podczas poszukiwań (w sumie na koniec) ktoś natknął się na skrypt, który umożliwia odtwarzanie tych strumieni w konsoli, ale wędka lepsza od ryby więc:

  • Każda strona zawiera odtwarzacz w JS.
  • W kodzie odtwarzacza jest link do strumienia.
  • Link do odtwarzacza jest stały.
  • Link do strumienia również jest stały.
  • Strumień da się odtwarzać w mplayerze.

Przykładowo:

Minimax ma URL:

 http://moje.polskieradio.pl/station/33/Minimax

Player JS powstaje przez dodanie /_js/player.js, czyi ma URL:

 http://moje.polskieradio.pl/station/33/Minimax/_js/player.js

Strumienie są nazywane wg schematu k.stream, czyli szukamy:

wget -q -O - http://moje.polskieradio.pl/station/33/Minimax/_js/player.js| egrep "file.*k.*stream"

co daje nam wynik  _obj2.addVariable(’file’, 'k34.stream’);

Cały link do strumienia to:

rtmp://stream85.polskieradio.pl/live/k34.stream

Oczywiście nie dam głowy, że stream85 będzie stała i niezmienna, ale to również widać w źródle playera. Jedyną nieoczywistą częścią było dodanie live – wyłuskane z działających stacji (IIRC z Trójki).

Niestety, taką wersję obsłuży mplayer, ale już nie MPD. Jakby ktoś znalazł rozwiązanie jak tworzyć URL zdatny do MPD – proszę o info. Wersja ze skryptu odpada.

Wam życzę dobrego odbioru, a sobie, żeby stacje radiowe przestały utrudniać ludziom życie i dawały przyjazne konsolowym odtwarzaczom linki. Nie zawsze chce się/można włączyć ciężką przeglądarkę, by posłuchać radia. Niezrównanym ideałem jest tu dla mnie Radio Baobab, które nie tylko daje przyjazny konsoli format, ale również w wolnym formacie ogg (obok innych formatów) i w takiej formie, że się ładnie scrobble’uje.

UPDATE: Mpd w wersji 0.16.2 radzi sobie z URLami typu rtmp:// co oczywiście cieszy.

Sprawdzanie dysku USB w Debianie.

O tym, że warto monitorować stan dysku, nie trzeba – mam nadzieję – nikogo przekonywać. Wystarczy tylko dodać, że wczesne wykrycie anomalii może pozwolić na proste i bezpiecznie skopiowanie wszystkich danych. Jeśli ktoś nie chce lub nie czuje się na siłach we wnikanie w dobrze opisane na wiki parametry S.M.A.R.T, to jako wariant minimum proponuję przyjąć, że jakakolwiek różna od zera wartość dla Reallocated Sectors Count jest sygnałem, że warto szybko zrobić backup danych. A już na pewno warto spisać dysk na straty, jeśli ta wartość rośnie.

Jeśli chodzi o desktopy, to – jak podpowiada ike w komentarzu – dysk można sprawdzić korzystając z gsmartcontrol (zapewne dostępne w repozytorium pakietów dla Twojej dystrybucji). Na pewno wygodniejsze i łatwiejsze rozwiązanie.

Pisałem już o odczycie S.M.A.R.T w Debianie dla dysków w kieszeniach USB. W zasadzie temat wyglądał na wyczerpany, bo nowe smartmontools obsługują dyski w kieszeniach USB, ale… nie do końca. Niedawno miałem do czynienia z dwiema kieszeniami USB dla dysków 2,5″ – na jednej smartmontools nie umiało sprawdzić stanu dysku, na drugiej działało bez problemu.

Przeszedł bym nad tym do porządku dziennego, szczególnie, że żadna z kieszeni nie była moja, ale okazało się, że moja kieszeń 3,5″ też nie pozwala na sprawdzenie stanu dysku tak po prostu:

smartctl -a /dev/sdb
smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

/dev/sdb: Unsupported USB bridge [0x04b4:0x6830 (0x001)]
Smartctl: please specify device type with the -d option.

Zatem jak sprawdzić dysk w kieszeni USB? Okazało się, że opcji do -d w smartmontools jest nieco więcej. Ten wpis podsunął rozwiązanie problemu, jest nim dodanie parametru -d usbcypress. Czyli ostatecznie komenda to:

smartctl -a -d usbcypress /dev/sdb

Wynik lsusb dla mojej kieszeni USB:

Bus 001 Device 002: ID 04b4:6830 Cypress Semiconductor Corp. CY7C68300A EZ-USB AT2 USB 2.0 to ATA/ATAPI

Podobno dość popularny producent chipsetów. Dla wyczerpania tematu – chyba wszystkie sprzętowe kontrolery RAID (przynajmniej znane mi) również pozwalają na sprawdzanie S.M.A.R.T dla dysków SATA. Też warto sprawdzać, bo można dostrzec nadchodzący błąd wcześniej, niż zgłosi go kontroler…