Powróciłem ostatnio do ubuntu (9.10), mając nadzieję spędzać mniej czasu przy konfiguracji systemu i instalacji oprogramowania. Przyjazd do domu na święta, dużo innych rzeczy do zrobienia i kłopot z dostępem do netu spowodował, że znów zacząłem psuć.

Tym razem dobrałem się do karty bezprzewodowej tp-link wn610g. Karta jest na pcmcia z wyprowadzonym łączem do zewnętrznej anteny. Oparta jest na chipsecie Athero, a w ubuntu obsługiwana jest przez sterownik ath5k. Po włożeniu karty jakość połączenia była co tu dużo mówić żenująca. Strony albo wczytywały się minutę albo w ogóle. To, że na windowsie wszystko działało tak jak trzeba (eh) zachęciło mnie tylko do tego żeby coś z tym zrobić. Kiedy jeszcze na dysku gościło u mnie gentoo kartę obsługiwał sterownik madwifi i połączenie było o wiele lepsze więc postanowiłem wykorzystać go w ubuntu.

Instalacja sterowników madwifi

Zacząłem od pobrania najnowszych sterowników ze strony projektu

wget http://snapshots.madwifi-project.org/madwifi-trunk-current.tar.gz

ich rozpakowania

tar xvzf madwifi-trunk-current.tar.gz

i przejścia do powstałego katalogu

cd madwifi-trunk-r4099-20091230

Przed dalszymi krokami warto się upewnić czy mamy wymagane pakiety: build-essential oraz checkinstall dzięki, któremu wygenerujemy paczkę deb łatwą do późniejszej, ewentualnej deinstalacji.

sudo apt-get install build-essential checkinstall

Budujemy i instalujemy

make
sudo checkinstll

Sterownik madwifi jest w ubuntu domyślnie zablokowany, aby móc z niego skorzystać musimy edytować plik /etc/modprobe.d/blacklist-ath_pci.conf wstawiając hasz przed poleceniem zabraniającym ładowania modułu ath_pci przy starcie systemu

##/etc/modprobe.d/blacklist-ath_pci.conf 

#blacklist ath_pci

jednocześnie blokując moduł ath5k przez dopisanie stosownej linii w /etc/modprobe.d/blacklist.conf

##/etc/modprobe.d/blacklist.conf

blacklist ath5k

Po restarcie karta działała już na sterowniku madwifi.

Niestety pojawił się problem, a mianowicie karta nie mogła znaleźć sieci mojego dostawcy. Polecenie iwlist ath0 chan pokazało, że dostępne kanały to 1 do 11 zaś ap chodzi na 13 kanale :/. Wymuszenie skanowania na 13 kanale (sudo iwconfig ath0 channel 13) skończyło się fiaskiem .

Próbowałem też za madwifi-project.org załadować moduł z określonym kodem państwa bo z tego co się orientuję z 13 kanału można swobodnie korzystać w Europie a w USA już chyba nie.

sudo rmmode ath_pci //usuwamy moduł
sudo modprobe ath_pci countrycode=616 //ładujemy z kodem Polski

Okazało się jednak, że kod państwa nie pasuje do ustawionego dla karty regionu (to samo np. z kodem Niemiec) więc została mi tylko próba zmiany tegoż regionu na inny co swoją drogą wydało mi się trochę dziwne, ale co tam.

Zmiana regdomain karty

Na wstępie należy zaznaczyć, że zmiana regionu karty nie jest czymś zalecanym. Panowie z madwifi piszą: kids, don’t do this at home! i pewno mają rację bo raz, że ingerujemy w wewnętrzne oprogramowanie karty i tu coś może pójść nie tak, dwa zmieniamy zakres warunków w jakich będzie pracować karta i wcale nie jest powiedziane, że będzie się w nich czuła dobrze.

Zacząłem od uśpienia interfejsu pod jakim jest widoczna karta

sudo ifconfig ath0 down

Później znalazłem adres pamięci, pod którym rezyduje urządzenie

grep ath_pci /proc/bus/pci/devices | cut -f4

Otrzymaną liczbę będącą adresem wykorzystałem w kolejnym poleceniu

sudo ath_info [adres]

Jeżeli otrzymałeś informacje o urządzeniu, które w moim przypadku wyglądały tak możemy przystępować do zmiany regionu, w przeciwnym razie lepiej to zostawić ;). Spotkałem się z radami by ustawić region na zero co pozwala na załadowanie modułu z jakimkolwiek kodem kraju i faktycznie tak jest. Po wykonaniu wcześnie przytoczonej komendy z Polskim kodem miałem dostęp do 13 kanału. Jednak po tej zmianie karta nie mogła znaleźć sieci na windowsie :D. Postanowiłem więc po potwierdzeniu, że jestem świadomy że mogę popsuć kartę, ustawić region na Francję gdzie mam 13 kanał a i windows poprawnie wykrywa sieć.

sudo ath_info -w [adres] regdomain 0x32

Po podniesieniu interfejsu

sudo ifconfig ath0 up

bez problemu połączyłem się z ap dostawcy

Sterownik nie wykrył jednak poprawnie standardu w jakim nadawał ap, ustawiając dla karty g zamiast b. Wymusiłem zmianę przez

sudo iwpriv ath0 mode 11b

co było ostatnim krokiem do przyzwoitego połączenia.

Myślę, że przy ath5k może być ten sam problem z doborem standardu, ale nie da się na nim wymusić póki co korzystania z konkretnego kodowania ..i dobrze bo tyle się narobiłem że wkurzyłbym się gdyby jedną komendą to zrobić.

Nie jest to rozwiązanie idealne chociażby z tego względu że to właśnie nad ath5k skupili się twórcy madwifi, i to on będzie rozwijany. Pod ath5k miałem paru procentowy wzrost sygnału w stosunku do madwifi ale może to tylko inny sposób odczytu. Poza tym przy każdej aktualizacji jądra systemu czeka mnie reinstalacja sterowników madwifi.

O tym serwisie/usłudze jest coraz głośniej i nic dziwnego bo zacna to inicjatywa. Spotify zapewnia dostęp do ogromnej bazy muzyki na zasadzie streamingu. Można by to porównać do radia, w którym to sami decydujemy czego słuchamy tworząc playlisty z dostępnych utworów.

Jak to wygląda w praktyce? Na początek trzeba zarejestrować się w serwisie, co w przypadku użytkowników z Polski możliwe jest poprzez opłacenie miesięcznego abonamentu w wysokości 9,99 euro. Darmowy dostęp do serwisu mogą wybrać osoby z Francji, Wielkiej Brytanii, Hiszpanii, Szwecji, Finlandii i Norwegii. Oczywiście możliwe jest przy pomocy jakiegoś proxy czy tunelu "podszycie" się pod obywatela jednego z tych państw. Google podsuwa parę sposobów podobnie jak i pozwala na znalezienie zaproszeń wymaganych do założenia darmowego konta.

Po zarejestrowaniu pobieramy program pozwalający na korzystanie z zasobów serwisu. Wygląda on tak:

spotify client

Dostępny jest na systemy Windows, Mac OS oraz Linux z wykorzystaniem wine. Program nie jest zasobożerny a jego obsługa jest prosta do bólu.

Po trzech tygodniach użytkowania jestem naprawdę zadowolony. Przy moim łączu 2Mb/s (zalecane przez twórców jest co najmniej 256 kbit/s) odtwarzanie utworów jest natychmiastowe. Jakość jest przyzwoita: OGG q5 ~160 kb/s, co niektórzy porównują do mp3 192 kb/s mnie w każdym bądź razie satysfakcjonuje.

Wykorzystano tu po części technologię p2p co przekłada się na to, że program nawiązuje parę połączeń udostępniając innym użytkownikom to co sami pobraliśmy, nie ma to jednak większego wpływu na szybkość naszego łącza.

Jeśli chodzi o rodzaj muzyki jaka znajduję się na spotify to trudno mi mieć całościowe pojęcie bo i moje gusta muzyczne nie są znowu specjalnie szerokie. Na pewno priorytetem jest tu muzyka masowa (spotify ma podpisane umowy m.in. z EMI, Warner Music, Sony BMG) tak więc nowości rodem z mtv na pewno tu znajdziemy. Tak poza tym baza utworów jest naprawdę spora i chyba każdy będzie w miarę usatysfakcjonowany. Mnie przeszkadza na razie tylko brak Pink Floydów (niektórzy artyści nie wyrazili zgody na udostępnienie ich utworów).

Należy wspomnieć, że w darmowej wersji konta oprócz reklam pojawiających się w oknie programu (ale niezbyt nachalnych) co półgodziny (choć z reguły chyba rzadziej) odsłuchujemy 15 sekundową reklamę. Przez te 3 tygodnie natknąłem się na tą samą reklamę dotyczącą jakiegoś nowego albumu i przyznam się, że czasem można nawet nie zwrócić na nią uwagi.

Myślę, że spotify może stać się podstawowym źródłem muzyki dla dużej rzeszy użytkowników, stanowiąc alternatywę chociażby do pobierania albumów z sieci p2p.

Z MOC (music on console) korzystam od ponad roku. Inne odtwarzacze (np. Amarok, Exaile) kusiły mnogością funkcji, wtyczkami i tym podobnymi, jednak w ostatecznym rozrachunku przegrywały u mnie z szybkością i intuicyjnością konsolowego grajka.

Chciałbym opisać zastosowanie skryptu znalezionego na forum MOC pozwalającego na wyświetlanie tekstu danego utworu. Co ważniejsze odbywa się to w zgodzie z "duchem" odtwarzacza czyli szybko, prosto i w konsoli ;)

Będziemy operować na skryptach i modułach perla więc zacznijmy od zainstalowania przydatnego narzędzia jakim jest g-cpan :

# emerge -av g-cpan

Od razu z niego skorzystajmy i wyszukajmy moduły powiązane z frazą lyrics:

# g-cpan -s lyrics

Na pewno będziemy potrzebować modułu Lyrics::Fetcher zainstalujemy go w ten sposób:

# g-cpan -i -a Lyrics::Fetcher

Warto spojrzeć na komunikaty wyświetlane podczas instalacji. Czasem może się okazać że brak nam jeszcze jakiegoś modułu, ale g-cpan -s i g-cpan -i zazwyczaj przychodzą z pomocą.

Czas zainstalować moduły odpowiedzialne za łączenie się z określonymi serwisami udostępniającym teksty piosenek. Jest tu pewna dowolność wyboru, ale niestety niektóre moduły w moim przypadku informowały o błędzie podczas instalacji. Zainstalowałem dwa z nich Lyrics::Fetcher::AstraWeb oraz Lyrics::Fetcher::Lyrics007 :

# g-cpan -i -a Lyrics::Fetcher::AstraWeb
# g-cpan -i -a Lyrics::Fetcher::Lyrics007

Dobra, mamy wszytko co niezbędne zmierzamy do meritum sprawy :P. Przejdźmy do katalogu .moc i ściągnijmy tytułowy skrypt oraz nadajmy mu prawo do wykonywania:

# cd /home/[NAZWA_UŻYTKOWNIKA]/.moc
# wget ftp://daper.net/pub/soft/moc/contrib/moc-lyrics.pl
# chmod +x moc-lyrics.pl

Należ teraz otworzyć pobrany skrypt i w sekcji Definitions odkomentować nazwy serwisów z których będziemy pobierać teksty (czyli te do których wcześniej zainstalowaliśmy moduły). W moim przypadku odkomentowałem AstraWeb i Lyrics007. Poszukiwanie tekstu piosenki odbywa się zgodnie z kolejnością wystąpienia nazwy serwisu w skrypcie.

Jedyne co zostało do zrobienia to poinformować MOC, że chcemy korzystać ze skryptu. W tym celu otwieram plik config (katalog .moc) i dodajemy wpis:

ExecCommand1 = "/home/[NAZWA_UŻYTKOWNIKA]/.moc/moc-lyrics.pl --artist %r --title %t"

Uruchamiamy MOC, zaznaczamy piosenkę, wciskamy F1 chwila cierpliwości i już możemy śpiewać razem z wokalistą ;)

iriver e10

O to moje nowe cacko ;) Cud - miód odtwarzacz rozpisywać się o nim długo, ale inni zrobili to lepiej, chociażby KHRoN, a i sporo informacji wyczytać można w wątku prowadzonym na forum.mp3store.pl.

Niestety jest jedna irytująca rzecz. By utwory wrzucone na odtwarzacz były widoczne w przeglądarce tagów (tj. przeglądanie po albumach, artystach itp.) należy uaktualnić wewnętrzną bazę odtwarzacza za pomocą programu iRiverplus 3. Tyle, że ten program cechuje się:

  • skopanym, totalnie niepraktycznym interfejsem
  • brakiem wersji na linuksa

Dlatego też szukałem alternatywy. Trafiłem na stronę projektu PMPlib - biblioteki zarządzającej przenośnymi urządzeniami między innymi firm iRiver, Samsug, MSI, oraz skryptu e10update - wykorzystującego pmplib , dostarczającego GUI.

PMPlib niestety nie uraczy się w portage. Skorzystałem z przygotowanego ebuilda którego można znaleźć w bugzilli, kierując się przy tym instrukcją Instalacji ebuildów spoza Portage. Najnowsza wersja to 0.14, więc zmieniłem nazwę ebuilda tak by jej odpowiadała ( działa, ale czy tak się to robi ? ), pobrałem kod źródłowy pmplib-0.14.tar.gz do distfiles i zainstalowałem standardowo przez emerge.

Przed rozpoczęciem korzystania z e10update należy się upewnić że mamy zainstalowany pakiet zenity (jest w portage), to on właśnie zapewnia prosty interfejs. Pozostaje ściągnąć najnowszą wersję skryptu e10update ze strony twórcy i postępować z zawartymi tam instrukcjami :

Przerzucamy skrypt by mieć do niego łatwy dostęp

# mv e10update /usr/bin

nadajemy mu prawa do wykonywania

# chmod +x /usr/bin/e10update

Pozostaje podłączyć odtwarzacz i odpalić skrypt

$ e10update

Urządzenie powinno być montowane w /media/E10 ewentualnie można wyedytować skrypt jeżeli preferujemy inną lokalizację. No to tyle, skrypt może mieć czasem problem z odmontowaniem odtwarzacza, więc wtedy trzeba samemu to zrobić. To teraz jeszcze tylko coś do skrobowania na last.fm ;) bo raczej na rockboxa nie ma co liczyć.

Żyjąc w studenckim mieszkaniu, bywa tak, że każdy ma coś ciekawego na kompie co by i u mnie na dysku mogło się rozgościć, więc się co nie co udostępnia. Jako że jedyny użytkuje linuksa a reszta współlokatorów siedzi na windowsach korzystam z Samby. Thunar będący domyślnym menadżerem plików w Xfce nie posiada przeglądarki zasobów Samby więc wyglądało to zazwyczaj tak, że krzycząc przez całe mieszkanie "to w jakim to folderze udostępniłeś?!", montowałem przez polecenie w konsoli podając adres i nazwę udziału. Postanowiłem oszczędzić trochę struny głosowe i znaleźć narzędzie do przeglądania udostępnionych zasobów, do tego graficzne bo czemuż by nie ;)

W głównym drzewie Portage doszukałem się tylko LinNeighborhood, ale wydał mi się i brzydki i martwy (ostatnia aktualizacja bodajże z 2002 roku). Tak więc google wskazał mi drogę do pyNeighborhood - który ma na nowo przepisany kod wymienionego poprzednika. Wykorzystuje GTK+ 2 tak więc wygląda nie zgorzej:

zrzut ekranu prezentowanego programu

PyNeighborhood nie znajduje się w głównym drzewie Portage, więc żeby zainstalować go przez emerge należy skorzystać z mechanizmu overlays. (Ogólnie i szczególnie o tym mechanizmie w Dokumentacji Gentoo.) Program można znaleźć w overlayu Sunrise którego dodajemy w ten sposób:

# emerge -av layman
# layman -f -a sunrise
# echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf

Kiedy mamy już dostęp do ebuildów z Sunrise instalujemy pyNeighborhood standardowo przez emerge

#  emerge pyneighborhood

Po zainstalowaniu odszukujemy go w Menu Xfce --> Sieć --> pyNeighborhood. W oknie programu klikamy Edit --> Preferencje. W zakładce General w polu mount folder podajemy ścieżkę do katalogu w którym mamy prawo zapisu (oczywiście jeśli planujemy działać z konta zwykłego użytkownika) czyli np. /home/nazwa_użytkownika/lan. Przechodzimy do zakładki File Managers, usuwamy będący tam wpis i dodajemy nowy zawierający nazwę naszego menadżera plików, czyli w moim przypadku thunar. Jako że pyNeighborhood jest graficzną nakładką na narzędzia Samby, musimy mieć dostęp do niektórych z nich jeżeli chcemy używać go z konta użytkownika. Dobierzemy się do nich dzięki:

# chmod +s /usr/bin/smbmnt 
# chmod +s /usr/bin/smbumount 

Samo użytkowanie programu jest intuicyjne i proste. Po lewej stronie dwukliknięcie myszką na globusie powoduje wyszukanie grup roboczych w naszej sieci, dalsze klikanie na grupie wyszukuje komputery do niej należące. Gdy klikniemy dwukrotnie na, którymś z wyszukanych komputerów pojawi się okno dialogowe, w którym wybieram try to retrieve missing data a jeżeli nie przyniesie to efektu to ręcznie wprowadzamy ip dodawanego kompa. Po przerzuceniu się na lewą stronę, dwuklik powoduje wyszukanie udostępnionych folderów na danym komputerze a kolejny dwuklik je montuje we wskazanym przez nas wcześniej folderze. Prawe kliknięcie na udziale rozwija menu pozwalające otworzyć folder w menadżerze plików jak i od montowanie zasobu.

Niestety jak można przeczytać na stronie programu, jego rozwój się zatrzymał i raczej już nie ruszy. Nie mniej w obecnym kształcie spełnia on swoje podstawowe zadania bardzo dobrze i myślę, że warto się nim zainteresować.