Koniec z przeskakującym Firefoksem! :-)

Od paru miesięcy męczył mnie problem Firefoksa przeskakującego na aktywny
desktop XFCE4, gdy poprosi się go o otworzenie jakiegoś URLa z innej
aplikacji, albo gdy po prostu załaduje się jakaś strona. Bardzo nieprzyjemne,
gdy w tym czasie próbuje się korzystać z innego aplikacji na innym
ekranie. Problem się pojawiał (kilka razy, bo na różnych maszynach) po
jakimś upgradzie XFCE albo Firefoksa i nie potrafiłem się go pozbyć.
Próbowałem wszelkich opcji w about:config
Firefoksa, wszystkich przełączników w konfiguracji XFCE… i nic. Googlałem za
tym wielokrotnie, bez skutku, ale trudno mi było uwierzyć, że nikt inny nie
zauważył takiego zachowania, albo że nikomu innemu to nie przeszkadza…

Dzisiaj, po kolejnym takim przeskoku nie wytrzymałem i zajrzałem do źródeł
XFWM. Wyszło na to, że zachowanie to zależy od parametru
activate_action, XFWM przełącza desktop na aktywne okno, gdy
parametr ten jest równy ACTIVATE_ACTION_BRING. Potem wyczytałem,
że parametr ten jest pobierany z opcji konfiguracyjnej pod nazwą
Xfwm/ActivateAction.

Najpierw uruchomiłem GUI konfiguracyjne XFCE, żeby jeszcze raz zobaczyć,
czy nie ma tam tej opcji. Nie znalazłem. Zajrzałem więc do swojej konfiguracji
(~/.config/xfce4/mcs_settings/xfwm4.xml) i takiej opcji tam nie
było, ale miejsce wyglądało na właściwe. Dopisałem więc:

<option name="Xfwm/ActivateAction" type="string"
value="none"/>

… i zadziałało. :-) Wreszcie! Po wielu miesiącach męczarni!

Potem zajrzałem na Google, tym razem szukając tego konkretnego parametru.
Okazało się, że nie ja jeden miałem ten problem, a rozwiązanie w sieci jest
podane, wiele razy. Widać, jeszcze nie do końca umiem z Google korzystać…
:-(

No i nie rozumiem czemu tak wyjątkowo upierdliwe zachowanie jest
kontrolowane jakąś ukrytą opcją, której normalnie nie można kilkoma
kliknięciami wyłączyć…

Update: Kurde, znowu przeskoczył. :-( Chyba jednak na tym komputerze mam zbyt stare XFCE… Jak ja to testowałem?

Update 2: Właściwym plikiem dla wspomnianej opcji jest: ~/.config/xfce4/mcs_settings/wmtweaks.xml. Po zmianie należy całe środowisko zrestartować. Wygląda na to, że teraz naprawdę działa.

Kamerka pod Linuksem

Żonka ostatnio wspominała, że chciałaby mieć kamerkę internetową. Ja lubię
takie zabawki, więc od razu podchwyciłem pomysł i postanowiłem jej kamerkę
kupić. No to zajrzałem na Allegro co tam mają… cała masa do wyboru… no to
biorę parę z brzegu i Googlam za ich wsparciem w Linuksie. Ciężko to idzie. Nic
na temat wsparcia w Linuksie dokładnie tych urządzeń co znalazłem na Allegro w
Google nie było. Jak
coś znalazłem, co miało wsparcie, to albo tego na Allegro nie było, albo
kosztowało więcej niż byłem w stanie zapłacić. Na Allegro był tak wielki wybór,
że nie sposób było sprawdzić wszystkiego. Podobnie na wygooglanych listach
sprzętu obsługiwanego przez Linuksa. Oczywiście każdy producent chipsetu
zrobił interfejs po swojemu (urządzenia oparte o standard UVC się dopiero
pojawiają i do tych najtańszych nie należą), a który chipset jest w której
kamerce to dopiero po podłączeniu można stwierdzić…

Na Allegro i tak nie chciałem tego kupować (w końcu to kot w worku),
uznałem, że wybiorę się do sklepu. Normalnie wziąłbym ze sobą listę
obsługiwanego sprzętu, żeby porównać z tym co jest na półkach. Ale dostępne
listy są olbrzymie… a i tak niekompletne… Poszedłem więc bez listy, parę
popularniejszych nazw zapamiętałem, a w ogóle, to uznałem, że może trafię. I
umówię się ze sprzedawcą, że jak nie uruchomię tego, to zwrócę…

No więc przyszedłem do sklepu. Przerażanie w oczach – chyba z
dziesięć różnych kamerek na półce, żadna nie przypomina niczego o czym
czytałem… No nic, mówię, że chcę kamerkę i nieśmiało dodaję ale taką,
żeby działała pod Linuksem
. A sprzedawczyni, ku mojemu zaskoczeniu, bierze
jedną kamerkę z półki (i to chyba taką, jakiej żonka oczekuje – na
laptopa, z klipsem) i mówi, że ta będzie na pewno działać. Okazało się, że był
tam już jeden klient z takimi wymaganiami, przyszedł z laptopem i na miejscu
sprawdził. Zapytałem jeszcze o parametry, bo kosztowała mniej niż byłem
przygotowany na to wydać. Pani zaproponowała, że może podłączyć do jakiegoś
laptopa i pokazać. Już brała jednego laptopa, ale stwierdziła: Ale ten ma
zainstalowaną tę kurewską… oj, przepraszam… na nim jest ta Vista
.
Kobieta była rzeczywiście przerażona, że jej się takie słowo wymsknęło. Widać
szczerze. :-D

W końcu dała mi jakiegoś laptopa z Windows XP, żebym sobie podłączył i sprawdził.
Taaa… równie dobrze mogłaby mnie posadzić przed sterami helikoptera, żebym
się przeleciał ;-). Ale jakoś sobie w tym egzotycznym systemie, i
to jeszcze z jakimiś dodatkowymi przeszkadzajkami, poradziłem. Kamerka
zadziałała, obraz był zadowalający (przynajmniej jak na tą cenę). Biorę.

Za sterownikami rozglądałem się wcześniej, więc jakiś miałem już w pracy
skompilowany, dla najnowszego kernela PLD AC. Okazało się, że pasuje do tej
kamerki. Załadował się bez problemu i xawtv pokazało obraz. Ale Ekiga
marudziła, że nie może otworzyć urządzenia. Bałem się, że kamerka z Ekigą
niezgodna (może dlatego, że JPEG)… ale okazało sie, że po prostu ten
sterownik to V4L1, a w Ekidze miałem załadowane tylko V4L2. Doinstalowałem
libpw-vide-v4l i ruszyło!

Teraz trochę danych praktycznych:

  • Kamerka to:
    A4Tech Evo Cam Note
  • Sterownik do niej to: gscpav1
    (wersja: 20070110)
  • Aby ręcznie zbudować ten sterownik na PLD Ac trzeba:
    • Zainstalować pakiet kernel-module-build w wersji zgodnej z
      używanym kernelem (zrobić upgrade kernela i zainstalować najnowszy
      kernel-module-build)
    • Rozpakować źródła sterownika gdzieś w katalogu domowym.
    • Poprawić Makefile:

      Zamienić:

      default:
              $(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) CC=$(CC)
      modules

      na (w przypadku używania kernela up, zamienić wszystkie smp na up):

      default:
              mkdir -p o/include/linux
              ln -sf $(KERNELDIR)/config-smp o/.config
              ln -sf $(KERNELDIR)/Module.symvers-smp o/Module.symvers
              ln -sf $(KERNELDIR)/include/linux/autoconf-smp.h
      o/include/linux/autoconf.h
              $(MAKE) SYSSRC=$(KERNELDIR) SYSOUT=$(PWD)/o O=$(PWD)/o -C $(KERNELDIR)
      CC=$(CC) prepare scripts
              $(MAKE) SYSSRC=$(KERNELDIR) SYSOUT=$(PWD)/o O=$(PWD)/o -C $(KERNELDIR)
      SUBDIRS=$(PWD) CC=$(CC) modules
    • Przelogować się na roota, skopiować zbudowany gspca.ko do
      /lib/modules/`uname -r`/misc, zmienić mu właściciela na
      root:root, odpalić depmod -a.

Dopiero teraz zobaczyłem, że w repozytorium PLD jest gspca.spec i
się nawet buduje, więc można zapomnieć o tym, co napisałem wyżej i po prostu
zbudować sobie pakiet. Wersja w specu jakby trochę inna, jeszcze nie sprawdzałem czy
działa, najwyżej trzeba by speca nieco poprawić.

Update: Nagrałem mały testowy filmik, żeby pokazać co kamerka może. No, nie do końca pokazuje on co chciałem – podczas nagrywania obraz stracił nieco na jakości, bo nie znalazłem jeszcze sposobu na nagrywanie z tego w optymalnej jakości. Na bezpośrednim podglądzie w spcaview/xawtv/mplayer obraz jest odrobinę lepszy.

Głupie Safari…

Na Pingwinariach dowiedziałem się, że mój blog nie działa pod Safari…
Zastanawiałem się, co z pieprzyłem, ale nic nie wymyśliłem. Dzisiaj poznałem
szczegóły, pogooglałem i wiem: Safari nie radzi sobie z XHTML serwowanym jako
XML. Mój Jogger miał ustawione serwowanie jako XML (na sztywno… dziwne,
byłem przekonany, że była włączona autodetekcja). Przełączyłem na text/html
i podobno jest już dobrze.

Zły piesek, zły!

Żonka potrzebowała dzisiaj do czegoś jednego ze zdjęć, jakie trzyma na
laptopie. Okazało się, że zdjęcia nie ma… ani tego, ani setki innych…
w katalogu w którym kiedyś były zdjęcia teraz były tylko numerowane katalogi
i puste pliki, wszystkie z walentykową datą… Niedobrze.

Oczywiście zostałem wezwany do wyjaśnienia sprawy i naprawienia szkód. Wyglądało
to dość zagadkowo. Najpierw odmontowałem /home i zapuściłem fsck. Nic
podejrzanego nie znalazł. Dalej jedyną wskazówką była dla mnie data i godzina
utworzenia tych dziwnych plików… Zajrzałem do /var/log/syslog… nic
szczególnego w tym czasie tam nie było widać.

Zacząłem sobie przypominać, co tam ostatnio na laptopie mieszałem.
Instalowałem Beagle‚a. Chciałem żonce
zrobić dobrze i dać jej narzędzie, które pozwoli połapać się w tych jej
wszystkich plikach, z których większość (w szczególności zdjęcia) lądowały w
magicznym katalogu 1 w jej $HOME. Teraz w tym katalogu były tylko dziwne
cyferki…

Podkatalogi i pliki w ~/.beagle miały czasy modyfikacji 14 lutego lub
późniejsze, czyli ciepło. Ale trudno mi było sobie wyobrazić jak narzędzie do
indeksowania i przeszukiwania plików mogło kasować pliki… Postanowiłem obadać,
czy przypadkiem ktoś tam czegoś głupiego nie robił w tym czasie na konsoli.
vim ~/.history, tam /beagle i ukazały mi się moje
rozpaczliwe próby doprowadzenia Beagle’a do działania: nie chciał mi indeksować
plików, więc próbowałem go do tego zmusić różnymi poleceniami
beagle-* (a chodziło, zdaje się, o brak biblioteki sqlite3, czy
czegoś takiego). Od razu wydało mi się podejrzane jedno z poleceń:
beagle-exercise-file-system – zawartość katalogu 1
wyglądała na wynik jakiegoś ćwiczenia…

Google potwierdziło, co podejrzewałem:
beagle-exercise-file-system tworzy katalog 1 z numerkami
w środku, który można bezpiecznie usunąć. No tak, po fakcie już można…
Sprawdziłem jeszcze, czy ja byłem aż taki głupi, czy to narzędzie nie ostrzega
o destrukcyjnym działaniu. Rzeczywiście nie ostrzega. Jeśli przed jego uruchomieniem
katalog 1 istniał, to go po prostu usuwa. Poza tym tylko bzyka chwilę dyskiem
i wypluwa niewiny komunikat Created X files across Y directories
Twórca tego genialnego narzędzia powinien chyba zginąć w ciężkich męczarniach…

Na szczęście mamy backup, z 30 stycznia, który nawet zadziałał, a więc
bezpowrotnie utracone zostały tylko pliki z dwóch tygodni, zdaje się, że w tym
czasie dużo nie było tam wrzucane. A twórcom Beagle‚a zgłosiłem już
bug reporta.
Mam nadzieję, że potraktują to poważnie, a nie zjadą mnie, że odpalam coś,
czego nie powinienem…

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).

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…

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ą. :-(

Firefox windowsieje?

This address is restricted

This address uses a network port which is normally used for purposes other than
Web browsing. Firefox has canceled the request for your protection.

Teraz będzie przeglądarka mi mówić co jest dla mnie dobre? Gdyby to jeszcze
chodziło o jakieś realne zagrożenie, czy adekwatne do zagrożenia
zabezpieczenie. Jeśli coś mi się ma stać od skierowania przeglądarki na port
„79”, to czemu niby port np. „76” miałby być bezpieczny?

SNMP pod Linuksem…

Mamy w firmie kilkadziesiąt modemów, kilkanaście zarządzalnych switchy,
ileś urządzeń radiowych. To wszystko razem tworzy dość skomplikowaną sieć.
A ja, wraz z kolegami muszę nad tym zapanować. Oczywiście radzimy sobie, ale
bywa to dość upierdliwe. Zwykle konfigurujemy urządzenia i badamy ich stan
przez WWW lub telneta. Oczywiście każde urządzenie ma inny interfejs,
a z każdym z tych interfejsów są jakieś problemy (np. w jednym modemie hasło
zmieniam elinksem, a przepustowość firefoksem, bo pierwsze nie działa
w firefoksie, drugie w elinksie). Sprzętu przybywa, więc zarządzanie nim staje
się coraz większym problemem.

Fajnie by było móc zarządzać wszystkim z jednego miejsca. Można część zadań
zautomatyzować jakimiś skryptami z osobnymi backendami dla każdego typu
urządzenia (tak mam teraz zrobiony backup konfiguracji części urządzeń)
i całością zarządzać w jednym miejscu (własny interfejs WWW), ale tu byłaby
kupa roboty. Taka śmierdząca kupa… więc sobie to daruję, przynajmniej na
większą skalę.

Jest jednak coś co łączy większość naszych urządzeń: SNMP. Prawie wszystkie te urządzenia obsługują
SNMP. Dotychczas używałem tego tylko do monitorowania wykorzystania łącz,
ewentualnie traktowałem jako ficzer, który należy wyłączać ze względów
bezpieczeństwa (niektóre urządzenie po ustawieniu hasła dostępu do WWW
i telneta dalej pozwalały na dostęp r/w przez SNMP z community name
private). Wczoraj, myśląc nad zautomatyzowaniem kolejnego zadania
(przygotowania konfiguracji MRTG dla wszystkich switchy, zsynchronizowanej
z danymi o topologii sieci z bazy danych), zacząłem się zastanawiać, czy nie
można by spróbować tego SNMP jakoś szerzej wykorzystać…

Od razu zaznaczam, że z SNMP jestem dość zielony, co może mieć duży wpływ
na to co napiszę poniżej – jak pisze bzdury, to prosze dać znać.

Wiem, że jest coś takiego jak słynne Open View, którego na oczy nie
widziałem, ale podejrzewam, że byłoby tym czego poszukuję. I to, że na pewno nas
na to nie stać. Postanowiłem poszukać coś tańszego, najlepiej otwartego i za
darmo. Zacząłem oczywiście od tego co widzi poldek…

Poldek, poza narzędziami do monitorowania urządzeń, w sensie rysowania
statystyk (to mi już u mnie MRTG + RRDTool załatwiają), znalazł niewiele. GXSNMP
jest nierozwijany od lat, a gdy go ostatnio oglądawał, to się za bardzo nie
nadawał do użytku. Tym razem sobie go darowałem. Kolejny był Scotty, którym już
też kiedyś się bawiłem. Pamiętam go jako brzydkie, ale działające coś w Tk/Tcl.
Chciałem znowu tego spróbować, ale nawet się nie uruchomiło. Scotty okazał się
niekompatybilny z aktualnym Tcl (używa jakiegoś prywatnego symbolu, którego
w nowej wersji biblioteki brak). Na razie nie chciało mi się z tym dalej
walczyć.

GXSNMP i Scotty to narzędzia nie tylko do zarządzania siecią przez SNMP, ale
też, a może przede wszystkim, do rysowania mapy sieci. Do SNMP poldek pokazał mi
jeszcze Mbrowse – Mbrowse is an SNMP MIB browser based on GTK and
net-snmp
. Pomyślałem, że to może się przydać – pozwoli się dobrać do
konkretnych zmiennych urządzenia. Po zainstalowaniu się nawet uruchomił, pokazał
drzewko MIB… ale nie udało mi się tym odczytać chociażby jednej wartości
z localhost (snmpwalk i snmpget z konsoli działały).
Do kitu.

W PLD nie znalazłem czego szukałem (rzadko to się zarza), to zajrzałem na
Freshmeat. Pierwsze na co tam
trafiłem, to MIB
Views
, firmy Muonics. Oprogramowanie komercyjne, z możliwością darmowego
wypróbowania przez piętnaście minut. Postanowiłem spróbować. Na pierwszy rzut
oka wygląda podobnie do Mbrowse, tyle że dużo ładniej… i działa. Wygląda na
to, że to co ma robić, to robi i robi to dobrze. Interfejs jest ładny
i wygodny (na tyle, na ile mnie się to udało teraz stwierdzić). Jednak raczej
tego nie kupimy – MIB Views nie daje żadnych mechanizmów zarządzania
całą siecią. W danym momencie pracuje się z jednym urządzeniem (agentem
SNMP), a żeby przełączyć się na inne trzeba od nowa podawać jego parametry.
Jeszcze muszę zobaczyć jak to będzie działać z konkretnymi urządzeniami (na
razie bawiłem się w domu, tylko z localhost), ale raczej to sobie darujemy.

Na Freshmeatcie znalazłem też trochę otwartego lub darmowego
oprogramowania. W szczególności zainteresowały mnie dwa Javowe programy: Open
Eyes i NetWhistler. Obydwa służą do
tworzenia mapy sieci i zarządania siecią. Pierwszy ma brzydki i mało
intuicyjny interfejs, nie chciało mi się w to wgłębiać. Drugi wydaje się
całkiem sensowny, ale strasznie długo z nim walczyłem, żeby dodać tam chociaż
jedną maszynę. Okazało sie, że NetWhistler działa tylko uruchomione z roota,
inaczej wali jakimiś mało mówiącymi wyjątkami. To zdaje się być normą
w oprogramowaniu Javowym – oprogramowanie zakłada, że ma dostęp do
wszystkich swoich plików, a instalator NetWhlister upierał się jeszcze, żeby
instalowac z roota. W każdym razie, z roota chodzi i nawet daje się używać,
ale na kolana nie powala. I zakłada, że wszystko jest zorganizowane w ładne
podsieci IP (u nas to bardziej skomplikowane – wiele VLANów, podsieci
w kilku VLANach jednocześnie, adresy oderwane od jakiejkolwiek podsieci)
i bezpośrednio dostępne (u nas wiele sieci jest odizolowanych, nie chciałbym
włączać pomiędzy nimi routingu, żeby wszystko dało się zapingowac z workstacji
adminów). Może warto się tym jeszcze pobawić… a może i nie.

Z oprogramowania na Freshmeat znalezionego pod hasłem SNMP zainteresowało
mnie jeszcze jedno: Internode
Nodemap
. Internode Nodemap to zestaw narzędzi to tworzenia map sieci, ale
nie koncentrujące się na urządzeniach, ale na łączech. Sama mapa nie jest
wyklikiwana, ale wczytywana z plików konfiguracyjnych. Pod każdą mapkę może być
podłożony obrazek jako tło – w ten sposób można np. wrysować swoje łącze
na plan miasta. To mogło by się dobrze u nas sprawdzić, wymagałoby jednak sporo
pracy – wypadałoby zrobić coś co zamieni dane o topologii sieci z naszej
bazy na plik konfiguracyjny dla Internode Nodemap i dołożyć informacje
o geograficznym/fizycznym położeniu urządzeń (czyli zrobić interfejs w którym to
będzie można wyklikać). Możliwy do uzyskania efekt kusi, więc może się tym
zajmiemy.

Wciąż nie jestem w pełni zadowolony z wyniku poszukiwań. To co znalazłem
może i może się do czegoś przydać, ale ciągle to nie jest to.
Nie znalazłem narzędzia, które mógłbym po prostu zainstalować i stosować,
wiedząc, że ułatwi mi pracę i nie musząc dostosowywać tego do naszej sieci, czy
naszej sieci do tego narzędzia. Np. myślałem o czymś, co mogło by bezpiecznie
(wykorzystując SNMPv3) korzystać z SNMP proxy na maszynach z dostępem do
zamknietych sieci. Jednak mało co umie SNMP w wersji 3, a obsługi proxy (czy
raczej kontekstów, bo jak dobrze zrozumiałem, to do tego się to sprowadza) nie
widziałem nigdzie. Liczyłem też na to, że uda się jakoś wykorzystać dane
o topologii sieci z naszej bazy – co do czego i jak jest podłączone.
A może wciąż gdzieś tam jest coś, czego nie znalazłem, a co rozwiązało by
wszelkie moje problemy…