Zaloguj się

Jog Jajcusia

xmpp:jajcus@jajcus.net

Rewolucja w kompie

Niedawno pojawiło się nowe XFCE: 4.4. Najpierw chciałem to w pracy sobie zainstalować, ale okazało się, że ani tego nie ma w PLD Ac, ani nie da się w tym Ac zainstalować. Instalacji Th wolałem nie ryzykować na maszynie która służy mi do pracy... co innego w domu, tam ostatnio używam jedynie CJC i Firefoksa. Uznałem, że dwie aplikacje jakoś do działania doprowadzę.

Upgrade nie był prosty. Masy rzeczy w repo Th brakuje. Wiele zależności jest zepsutych. Cała masa pakietów zbudowanych w Ac wymaga X11-*, albo XFree86-*, których w Th już nie ma (wystarczyłyby zależności od libX*, które pociągnęłyby odpowiednie pakiety xorg-*). Dodatkowo, żeby nie było za prosto, mam u siebie pomieszane pakiety 32- i 64-bitowe. Ale jakoś się udało...

Pierwsze co chciałem odpalić, to Xy. W końcu dla nowego XFCE jest ta cała szopka... Poprzednio używałem 64-bitowego X-serwera i zamkniętych sterowników ATI. Otwarte nie dawały akceleracji, a zamknięte nie działały, gdy X-serwer był 32-bitowy (generalnie większość systemu mam 32-bitowe), a kernel 64-bitowy (bo tylko taki pozwala mi odpalać binarki i 32- i 64-bitowe). Teraz chciałem spróbować z serwerem 32-bitowym i sterownikami Open Source, w końcu między X.org 7.0, a 7.2 coś mogło się zmienić...

Jedno się nie zmieniło – sterownik z X.org wciąż nie rozpoznaje mojej karty (ATI Technologies Inc RV370 secondary [Sapphire X550 Silent]) i obsługuję ją dopiero po dodaniu do xorg.conf: ChipId 0x5b60. Akceleracja 3D też nie ruszyła, chociaż sterownik DRM w kernelu się załadował i kartę poprawnie wykrył... logi sugerowały, że znowu może być coś z tymi bitami... Zainstalowałem więc 64-bitowy X-serwer z 64-bitowymi sterownikami. DRI ruszyło. Rozszerzenie "Composite" też. Mogłem podziwiać piękną przezroczystość w XFCE. Najpierw działało to strasznie wolno, ale po poprawieniu paru opcji da się tego używać. Jednak z OpenGL coś wciąż było nie tak... mimo że glxinfo pokazywało, że wszystko jest OK i nawet Direct rendering: yes. To glxgears nie działało. Znaczy się działało, ale nic nie wyświetlało. Podobnie wszystkie inne aplikacje 3D...

Spróbowałem więc zamkniętych sterowników... musiałem przebudować, bo w Th były stare, niekompatybilne z nowymi Xami. Nowe się zbudowały, nawet działały, ale bez akceleracji 3D. Linker dynamiczny nie mógł znaleźć jakiegoś symbolu od DRI w modułach X-serwera... pewnie te zamknięte binarki nie są zgodne z naszym buildem X.org... no cóż, tym razem lepiej wypadły sterowniki otwarte.

Wróciłem do otwartych sterowników i spróbowałem jeszcze czegoś: zainstalowałem 64-bitowe glxgears... i ruszyło. Czyli tym razem, pod 64-bitowym kernelem, nie tylko X-serwer musi być 64-bitowy, ale i wszystkie aplikacje OpenGL. Przykre... ale chwilowo mogę z tym żyć. Ostatnio i tak wiele takich aplikacji nie używam. Właściwie, to tylko StepManię.

Dzisiaj więc postanowiłem sobie skompilować StepManię na 64-bity. Środowisko do budowania zrobiłem sobie w chroocie z czystym 64-bitowym Th. Zainstalowałem co StepMania potrzebowała i zacząłem budowanie. Od razu się wykrzaczyło... SM jest w C++, a C++ ma to do siebie, że kod napisany dla starszego kompilatora często nie da się skompilować nowszym. W PLD Th mamy GCC 4.2 i to GCC kodu StepManii nie polubiło. Jednak potrzebnych poprawek nie było dużo i większość z nich była nawet dla mnie (nie znającego i nie lubiącego C++) oczywista. W końcu się skompilowało. I nawet dało się uruchomić.

Skompilowana przez mnie StepMania działała, ale tak jakby nie do końca. Nie dało się wejść do ustawień gry, a rozpoczętej gry nie dało się wygrać. Jak się poprawnie przeszło którąś piosenkę, to maszyna puszczała ją od początku. Można by się było zajechać ;-). Podczas kompilacji widziałem warningi dotyczące, między innymi, strict aliasing rules, więc postanowiłem spróbować kompilacji z innymi opcjami. Okazało się, że skrypt configure StepManii na sztywno ma wpisane -O3. To już mogło sprawiać problemy. Zmieniłem na -O2 i dodałem -fno-strict-aliasing i całość skompilowałem od nowa. Podczas kompilacji ćwiczyłem sobie na tej niedorobionej binarce – ciekawie się gra, gdy komputer się czasem zagapi i nie zauważy, że się strzałkę wcisnęło na czas. ;-)

Po kilkunastu minutach miałem nową 64-bitową binarkę gotową. I tym razem działa dobrze. To sobie jeszcze kiedyś poskaczę. :-)

W kolejce czeka zbudowanie GComprisa dla Krysi, bo stare wyleciało razem z Ac (w Th tego brak).

9 komentarzy do wpisu „ Rewolucja w kompie”


WiFi w domu, z przygodami oczywiście

Niedawno żonka dostała nowego laptopa. Z różnych ciekawych rzeczy, ten laptop ma, między innymi, WiFi. Karta na chipsecie Prism 2.5 została od kopa rozpoznana przez Linuksa (na początku jako eth0, co przez chwilę powodowało moje wątpliwości w sprawność normalnego portu Ethernet). Szkoda by było tego nie wykorzystać.

W domu mam jeszcze dwie bezprzewodowe karty sieciowe: na PCMCIA i na USB, obie Compex, obie zawsze sprawiały mi problemy, ale przynajmniej dawało się na otwartych sterownikach to jakoś odpalić. Tę na PCMCIA sobie odpuściłem, bo nie będę odpalał innego laptopa i kernela 2.4, żeby sprawdzić czy WiFi u żony działa. Postanowiłem spróbować z tą na USB, od razu podłączając ją do mojego routerka.

Karta jest na chipsecie ATMELa. Zasadniczo są do tego dwa sterowniki: atmelwlandriver i at76c503a (berlios driver). Oba od dawna nie rozwijane. Żadnego z tych sterowników w PLD nie ma (pewnie w żadnej dystrybucji nie ma). Poprzednio tę kartę uruchamiałem na tym pierwszym sterowniku, nawet udawało się do tego PLDową paczkę zbudować i jako-tako to działało. Z drugim też próbowałem, ale bez lepszych rezultatów (innych niż zwis maszyny czy okazały Oops).

Tym razem atmelwlandriver nie udało mi się nawet skompilować – systemu budowania dostosowanego do antycznych kerneli nie umiałem pogodzić z PLDowym kernel-module-build. O dziwo, sterownik z Berliosa, w wersji CVS, skompilował się bez problemów. Co więcej, załadował się na tropku i połączył się z laptopem żonki. Oczywiście konfiguracja nie może być normalna (gdzie router z kartą WiFi robiłby za AP) – karty działają w trybie Ad-Hoc, bo ta na USB trybu master nie umie.

Połączył się, ale coś za bardzo sieć nie działała. Sprawdziłem tcpdumpem i zobaczyłem ip packet truncated - 4 bytes missing. No fajnie, pewnie sterownik spieprzony. Ale nie wyglądało to na coś, czego nie dałoby się naprawić. Google dużo na ten temat nie miało do powiedzenia. Zajrzałem więc do źródeł i lepiej przyjrzałem się logom. W logach znalazłem: firmware version 1.103.0 #175 (fcs_len 4) . Najpierw spróbowałem starszego firmware'u (ze sterownikiem przyszły dwie wersje), ale to w ogóle nie działało. Pozostało pogrzebać w źródłach. Okazało się, że jest tam kod odpowiedzialny za obcięcie FCS (cokolwiek to jest) z końca ramki. Ten FCS to 4 bajty, z wyjątkiem jednej wersji firmware (jakiejś starej), gdzie ta długość była ustawiona na 0 (z komentarzem, że ta wersja jest głupia i FCS nie doczepia). No to wpisałem 0 na stałe i bingo! Zadziałało :-).

Kolejnym problemem były straty pakietów. W pokoju, gdzie zwykle stoi laptop, 17%. Przeszedłem się z nim po mieszkaniu i w przedpokoju, gdzie powiesiłem nadajnik (kartę USB) było 0%. Ale w przedpokoju nikt pracować nie będzie... Spróbowałem jeszcze przenieść nadajnik (najpierw powiesiłem nad drzwiami, obok dzwona, bo tam się ładnie komponował ;-)), położyłem na drzwiczkach szafki... i w całym domu jest zasięg i 0% strat. Tylko jak to tam na stałe powiesić... próbowałem dwustronną taśmą klejącą, ale odpadało. Ten problem zostawiłem sobie na później.

Na początek teksty robiłem na gołym 802.11b, nawet bez WEP. Oczywiście nie mogło tak zostać. WAP to też żadne zabezpieczenie. O WPA na tych kartach mogłem zapomnieć (tylko 802.11b umieją, a więc WPA na pewno nie). Bawić się w 802.1x+WEP nie widziałem sensu. PPPoE też już przerabiałem w pracy (więc żadne wyzwanie), a do tego też wydawało mi się to mało sensowne w domowej sieci z jednym komputerem. Postanowiłem spróbować IPSec. W końcu tę technologię też trzeba poznać. Dodatkowo chciałem też WEP odpalić z prostym kluczem, po co cokolwiek ułatwiać... ale to nawet nie chciało ruszyć między tymi kartami. Trudno.

Poczytałem o ipsec-tools, poeksperymentowałem, w końcu załapałem jak ten racoon i setkey działają. Okazało się że w takim przypadku jak mój, gdzie nie potrzeba DHCP, czy innej automatycznej konfiguracji, to takie IPSec całkiem dobrze może się sprawdzić.

Gdy już miałem prawie wszystko gotowe, z szyfrowaniem, przygotowanym routingiem, NATem itd... połączenie przestało działać. Karty się nie widziały... przypomniałem sobie, że wcześniej dziecko walnęło drzwiami w tę wiszącą kartę USB... przestraszyłem się, że się rozwaliła. Kilka jej restartów nie pomogło. Rozkręciłem... w środku wyglądało bardzo solidnie i raczej na nienaruszone... postanowiłem sprawdzić jeszcze jedną możliwość – zrestartowałem laptopa (samo ifdown/ifup, czy nawet wyładowywanie modułu nie pomagał)... ruszyło... uff...

Na koniec zamontowałem trochę solidniej nadajnik:

[img:wifi
full-prof]

A teraz żonka siedzi przy laptopiku, bez kabelka i nie narzeka. Wiec chyba jest ok. :-) Tylko czemu zawsze w tą radiówką musi być tyle problemów?...

11 komentarzy do wpisu „ WiFi w domu, z przygodami oczywiście”


Wkurza mnie ten Firefox...

Niedługo po wydaniu Firefoksa 2.0 zainstalowałem go sobie na komputerze w pracy. I tylko tam, bo szybko się okazało, że jest z nim poważny problem: wiesza się losowo co jakiś czas, nawet kilkanaście razy dziennie. Okropnie to wkurzające. Gdyby nie to, że Fx 2.0 ma parę fajnych ficzerów (szczególnie sprawdzanie pisowni) i że downgrade nie sprowadza się tylko do "upgrade --downgrade mozilla-firefox" w Poldku, to już bym dawno to wywalił. Nie wywaliłem, ale i w domu sobie tego nie zainstalowałem. A w pracy się ciągle wkurzam...

Ale nie to jest najbardziej wkurzające, że jest błąd. W każdym programie zdarzają się błędy ale, że nie można go normalnie zgłosić (jak już pisałem: twórcy Firefoksa nie chcą moich bug-reportów), ani normalnie zobaczyć co się z błędem dzieje (nie ma zgłoszeń błędów w konkretnym wydaniu, a więc nie można sobie zobaczyć listy błedów w Firefoksie 2.0, a w tej całej masie zgłoszeń z całej historii Mozilli ciężko znaleźć właściwe). Wiem tylko, że nie jestem sam, wystarczy w Google wpisać: firefox 2.0 random freeze, żeby się przekonać, że nie mnie jednego Fx 2.0 wkurza... Niestety, nie znalazłem nic na temat przyczyn błędu, jakiś workaroundów, czy planów jego naprawy (to wszystko IMHO powinno być z bugzilli).

Czy naprawdę mam jakieś dziwne wymagania co do systemu zgłaszania błędów? Dla mnie to naturalne, że jednym z celów istnienia takich systemów jest inwentaryzacja błędów w konkretnych wydaniach. Tak, żeby użytkownik mógł sprawdzić co w konkretnej wersji siedzi, czy jego problemy zostały zauważone, czy może się spodziewać naprawy. A tu nic... Nie działa ci oficjalne wydanie i chcesz zgłosić problem? To ściągnij nightly-build i debuguj... Nie chcesz, bo jesteś tylko zwykłym użytkownikiem? To mamy Cię w nosie...

Długo powstrzymywałem się przed tym narzekaniem... ale dzisiaj nie wytrzymałem, gdy mi się zawiesił dwa razy w ciągu jednej minuty...

23 komentarze do wpisu „ Wkurza mnie ten Firefox...”


Jesień Linuksowa tuż tuż...

Jesień Linuksowa już za trzy tygodnie. 105 osób zapisanych, ale na razie tylko 54 potwierdzonych. Na liście tylko jedna kobieta. :-( Dobrze, że żona nie z tych co się czują bardzo źle w roli rodzynka. A'propos żona... są w tym Lewinie Kłodzkim jakieś konie? ;-)

Tym razem szykuje się bezstresowy odpoczynek – mój wykład przegrał w wyborach, pewnie dlatego, że zapomniałem umieścić słowa hacking w tytule. ;-) Może to i lepiej.

Ktoś jeszcze się wybiera?

30 komentarzy do wpisu „ Jesień Linuksowa tuż tuż...”


Tańczący z pendrive'ami

Dzisiejsza moja robota wygląda mniej-więcej tak:

  • dłubanie w skryptach,
  • podpięcie pendrive'a,
  • cat usb.img > /dev/sdc,
  • wyciągnięcie pendrive'a, podpięcie do drugiej maszyny,
  • reboot,
  • przejrzenie komunikatów na konsoli,
  • dłubanie w skryptach,
  • przepięcie z powrotem pendrive'a,
  • cat usb.img...
  • ...

Jestem chyba przy setnej iteracji, ale już prawie działa ;-). No, prawdę mówiąc, to prawie działa już chyba od dwóch godzin, tylko definicja prawie się zmienia... ;-).

3 komentarze do wpisu „ Tańczący z pendrive'ami”


Last.fm Client

Wróciłem po urlopie do roboty, chciałem sobie puścić muzyczkę, no to zajrzałem na Last.FM, co tam nowego. Okazało się, że wreszcie jest Last.FM Client pod Linuksa. Ściągnąłem, odpaliłem i wygląda całkiem miło – już na pierwszy rzut oka wydaje się dużo bogatszy i wygodniejszy od starego Last.FM Playera. Muzyczka gra. :-) ...trzeba zająć się robotą. :-(

6 komentarzy do wpisu „ Last.fm Client”



Jesteście obserwowani...