Egipt.

Nie będę pisał o (dramatycznej) sytuacji politycznej Egiptu (celowo mirror, źródło oryginalne działa, ale…), skupię się tylko na aspekcie technicznym i przekazywaniu informacji. Po pierwsze, jak wiadomo, został odcięty cały dostęp Egiptu do Internetu. Z tego co wiadomo, na poziomie sesji BGP, bez wpływu na linie tranzytowe. Wygaszanie wygląda na zaplanowane, z upewnianiem się co do braku wpływu na zagranicznych operatorów. Wygląda, że dążą do tego, aby ukryć to, co dzieje się wewnątrz kraju, bez dawania powodów krajom zewnętrznym do angażowania się.

Dodatkowo, wyłączone zostały najpierw SMSy, a potem sieci komórkowe. W takiej sytuacji wszelkie tunelowania są bezużyteczne. Odcięcie na poziomie BGP oznacza, że TOR nic nie pomoże. Przez chwilę, nie znając dokładnie sytuacji, liczyłem, że wewnętrznie Internet działa z jakimś proxy dla zapytań DNS, co umożliwiłoby tunelowanie w zapytaniach DNS, ale nie.

Okazało się, że z działających rzeczy zostały tylko stare technologie: modemy dial-up (linie analogowe i wyjścia za granicę nie zostały odcięte, przynajmniej nie wszystkie) i ham radio. Pojawiły się oczywiście problemy z retransmisją odebranych sygnałów – poczynając od tego, że ktoś nie bardzo ma możliwość, bo jest w pracy, przez brak sprzętu lub możliwości (internet domowy w USA to jakaś pocięta parodia). Część transmisji była odbieranych alfabetem Morse’a, część głosowo. W przypadku odbieranych Morsem pojawiał się problem dekodowania (mało kto zna, jeszcze mniej zna płynnie). Istnieją automaty do tego, ale płatne i podobno słabo radzące sobie z zaszumionym sygnałem.

Większość ww. rzeczy robią ochotnicy, czasami z pomocą ISP, którzy zapewniają dostęp wdzwaniany. Z kolei TV, które są masowo dostępne, pokazują informacje tendencyjnie, często przeinaczając.

Podsumowując: mimo obecnej techniki (a może właśnie przez nią), szanse na wolne, nieocenzurowane przekazywanie informacji są niewielkie, jeśli rząd zechce coś wyciszyć. Na organizowanie niezależnej łączności jest za późno, gdy jest ona potrzebna – możliwości są niewielkie.

Przygoda z lapkiem – naprawianie filesystemu ReiserFS.

Sytuacja z życia wzięta: jest sobie laptop, który nie bootuje się z USB, ma dysk IDE podzielony na partycje. Po brutalnym wyłączeniu prądu (edukacja techniczna współdomowników poszła w las, niestety – wykazali się nadgorliwością przy wyłączaniu) okazuje się, że / z ReiserFS montuje się w trybie read only. Druga partycja z ext4 jest zdrowa, ale jest czymś w stylu /opt. Skoro nie można uruchomić żadnego systemu live (tzn. z USB, płyty CD nie mam pod ręką), to pozostaje maintaince mode.

Niby żaden problem – istnieją narzędzia do naprawy filesystemów, ale fsck.reiserfs nie należy do najbezpieczniejszych narzędzi, o czym zresztą sam ostrzega (i nie jest to ostrzeżenie nieuzasadnione, kiedyś nadgodziny przez to zaliczałem…). Uruchomienie z opcją –fix-fixable (co za nazwa), pomogło, ale nie do końca – dalej jest read only, a program sugeruje uruchomienie z opcją przebudowania drzewa. Tym razem ostrzeżenie zajmuje cały ekran i wprost sugeruje zrobienie backupu, najlepiej przerzucenie obrazu w bezpieczne miejsce przy pomocy ddrescue. I podają nawet adres, gdzie można uzyskać support, za jedyne 25 dolarów. Cóż, skoro tak, to jednak postaram się uruchomić jakieś liveCD, żeby zrobić porządek (cóż, wypalona płyta może się przydać kiedyś, więc bez dramatu, bo chociaż do niedawna sądziłem, że wszystko już potrafi uruchomić się z USB, to nie do końca tak jest)…

Niestety, okazuje się, że CD-ROM nie jest w pełni sprawny. Albo, że liveCD Squeeze’ego nie działa (bo płytę widzi, początek bootowania zachodzi). Na dodatek na zdrowej partycji jest ok. 7 GB miejsca, a na zepsutej zajęte ponad 8 GB, a sama ma rozmiar kilkudziesięciu GB, więc skopiowanie tam obrazu średnio wchodzi w grę, nawet z kompresją. Na inny system obrazu nie przerzucę, bo jak / jest w read only, to wifi nie działa (kabla nie sprawdzałem, nie chciało mi się podłączać). Może by działało, jakby było wicd-curses zainstalowane, ale nie było, a Xy oczywiście nie wstawały.

Ostatecznie postanawiam podmontować zdrowy filesystem, skopiować na niego tylko najpotrzebniejsze dane (czytaj: katalog domowy) i w najgorszym wypadku, jeśli nie zdoła naprawić, skończy się przekładaniem dysku i reinstalacją systemu.

Pojawia się kolejny problem – skoro / jest w trybie read only, to nie można utworzyć katalogu, by podmontować gdzieś zdrowy filesystem. I to jest ten moment, który mnie na chwilę zawiesił. Rozwiązanie okazało się trywialne – / może być w read only, ale /dev/shm to nie dotyczy. Szybkie mkdir /dev/shm/backup, zamontowanie zdrowej partycji w tym miejscu i już można na spokojnie skopiować wybrane dane.

Kilka minut później uruchomiłem fsck.reiserfs z opcją przebudowania drzewa. Tym razem dał radę. Ale poważnie myślę nad zrobieniem dodatkowej partycji ratunkowej o rozmiarze 1GB, z minimalnym systemem (znaczy łączność, narzędzia do naprawy filesystemów, ddrescue itp.).

WiFi Intela w Linuksie z WPA i WPA2.

Koniec końców, mimo opisanych dawniej problemów udało mi się mieć nowy kernel, stabilne połączenie WiFi, i szyfrowanie WPA2 AES. Klucze do sukcesu były trzy, a winy ze strony fglrx – żadnej. Pierwszy, to odpowiednie opcje w kernelu (to udało się stosunkowo prosto, chociaż zmiany sposobu budowania modułów z wersji na wersję nie ułatwiały sprawy). Drugi, to odpowiednia konfiguracja wpasupplicanta. Trzeci, to wyłączenie ukrywania nazwy sieci w AP.

Ostatecznie konfiguracja WiFi w kernelu 2.6.30.1 wygląda dla 10:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02) następująco:

## Wireless LAN#CONFIG_WLAN_PRE80211=yCONFIG_WLAN_80211=yCONFIG_IWLWIFI=m# CONFIG_IWLWIFI_LEDS is not set# CONFIG_IWLWIFI_RFKILL is not set# CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT is not set# CONFIG_IWLWIFI_DEBUG is not set# CONFIG_IWLAGN is not setCONFIG_IWL3945=mCONFIG_IWL3945_SPECTRUM_MEASUREMENT=y

Natomiast konfiguracja wpasupplicant wygląda tak:

ctrl_interface=/var/run/wpa_supplicantctrl_interface_group=0eapol_version=1ap_scan=1fast_reauth=0network={  ssid="tussidsieci"  scan_ssid=1  key_mgmt=WPA-PSK  proto=WPA2  pairwise=CCMP  group=CCMP  psk="tutajtajnyklucz"}

Żeby w ogóle działało z ukrytym SSID, konieczne jest dodanie opcji scan_ssid=1 (która w przypadku normalnego SSID w niczym nie wadzi i jest opisana w czeluściach /usr/share/doc/wpasupplicant, szkoda że nie w man…).

I jeszcze sieć ze zwykłym WPA i bez ukrytego SSID:

network={  ssid="tussidsieci"  key_mgmt=WPA-PSK  proto=WPA  pairwise=TKIP  group=TKIP  psk="tutajtajnyklucz"}

Działa także dla karty Intel 2200 na dystrybucyjnym jądrze z Debiana Lenny. No i gorąco polecam wicd. Bardzo przyjemny, w pełni klikany manager WiFi pod Linuksa. Niestety, w Lennym nieobecny, ale łatwo się backportuje.