Archive for the ‘Howto’ Category

h1

Pilot CoolCommand pod Ubuntu

styczeń 24, 2007

W poprzednim HOWTO opisałem jak zainstalować tuner telewizyjny Leadtek Winfast TV2000 RM pod Ubuntu. Nadszedł czas żeby opisać na łamach mojego bloga proces instalacji pilota CoolCommand który jest dołączony do zestawu. Aby zainstalować pilota musimy dodać nieoficjalne repozytorium pakietów LIRC. Zestaw pakietów LIRC zajmuje się obsługą głównie pilotów i odbiorników na podczerwień, pakiety które są w oficjalnym repozytorium Ubuntu (Edgy Eft) na dzień dzisiejszy nie pozwolą nam zainstalować tego pilota dlatego musimy jak wcześniej wspomniałem ściągnąć je z nieoficjalnego repo. Z góry zakładam że użytkownik zainstalował wcześniej kernel headers oraz zestaw podstawowych narzędzi do kompilacji. Na wstępie do pliku /etc/apt/sources.list dodajemy nowe adresy repozytoriów:

deb http://home.eng.iastate.edu/~superm1 edgy lirc
deb-src http://home.eng.iastate.edu/~superm1 edgy lirc

klucz gpg: wget http://home.eng.iastate.edu/~superm1/80DF6D58.gpg -O- | sudo apt-key add -

następnie odświeżamy listę repozytoriów poleceniem:

sudo apt-get update

Zabieramy się za instalację:

sudo apt-get install lirc lirc-modules-source module-assistant

Module-assistant jest prostym programem pomagającym niezwykle przy kompilacji modułów jądra :). Przechodzimy teraz do konfiguracji modułów LIRC, wydajemy polecenie:

sudo dpkg-reconfigure lirc-modules-source

otworzy nam się okienko w konsoli z informacja na temat dostępnych modułów, klikamy OK, w następnym oknie pojawi sie lista modułów z której możemy kilka wybrać, nas interesują moduły gpio oraz i2c. Po ich wybraniu klikamy OK, w następnym oknie konfigurator zapyta nas czy chcemy automatycznie skompilować moduły, klikamy NO. W następnym ostatnim już oknie zostanie zadane nam pytanie czy chcemy zamienić plik konfiguracyjny LIRC, wybieramy Install the package maintainer’s version i dusimy OK. Następnym krokiem będzie modyfikacja pliku konfiguracyjnego /etc/lirc/hardware.conf. Znajdujemy tam dwie linijki podobne do tych poniżej i upewniamy się że wyglądają identycznie, jeśli nie są identycznie modyfikujemy.

LOAD_MODULES=true

MODULES=”lirc_gpio”

Zapisujemy zmiany po czym przechodzimy do kompilacji modułów:

sudo m-a update,prepare
sudo m-a a-i lirc

po udanej kompilacji wykonujemy polecenie:

sudo depmod -a

aby wszelkie zależności modułów które skompilowaliśmy zostały spełnione.
W tej chwili pozostaje nam znaleźć jakiś dobry plik konfiguracyjny do naszego pilota, polecam jeden z tych: http://lirc.sourceforge.net/remotes/leadtek/, wybrany plik z konfiguracja należy zapisać jako /etc/lirc/lircd.conf. Aby upewnić się że moduł odpowiadający za pilota będzie ładowany automatycznie po każdym starcie systemu możemy dodać do /etc/modules (na samym końcu) linijkę: lirc_gpio. Ładujemy świeżo skompilowany moduł poleceniem:

sudo modprobe lirc_gpio

Możemy sprawdzić teraz czy pilot jest widoczny przez fotokomórkę podłączoną do naszego tunera poleceniem:

irw

Teraz możemy wciskać przyciski na naszym pilocie powinno to spowodować jakiś odzew w programie, np. coś takiego:

00000000c03f08f7 00 CH_DOWN RM-0010
00000000c03f08f7 01 CH_DOWN RM-0010
00000000c03f08f7 02 CH_DOWN RM-0010
00000000c03f08f7 03 CH_DOWN RM-0010

Jeśli coś nie działa jak powinno upewnijmy się że Lirc załadował wszystkie potrzebne moduły odpalając skrypt startowy poleceniem:

sudo /etc/init.d/lirc start

Zakładając że wszystko działa przydałoby się stworzyć plik konfiguracyjny który przypisze odpowiednie zdarzenia/komendy do przycisków, tym samym w katalogu domowym trzeba utworzyć plik .lircrc który będzie mieć odpowiednią składnie, krótki opis z przykładem dla programu TVtime można znaleźć na stronie programu. Jeśli ktoś chce mogę udostępnić swój plik konfiguracyjny .lircrc skonfigurowany pod TVtime i Quod Libeta, proszę wtedy o kontakt drogą mailową. Mam nadzieję że o niczym nie zapomniałem jeśli ktoś zauważy jakieś ewentualne niedopatrzenia z mojej strony proszę o kontakt, jeśli ktoś napotka jakiekolwiek problemy proszę zostawić informacje w komentarzu postaram się pomóc.

h1

Leadtek Winfast TV2000 RM pod Ubuntu

styczeń 9, 2007

Tuner telewizyjny od zawsze kojarzył się użytkownikom komputera z pewnym luksusem, dlatego że w przeszłości urządzenia tego typu były stosunkowo drogie. W dzisiejszych czasach praktycznie każdy użytkownik komputera osobistego może sobie pozwolić na kartę tego typu. Ostatnio stałem się posiadaczem całkiem solidnej karty telewizyjnej mowa tu o Leadtek Winfast TV2000 RM, jest to tuner TV bez radia, oparty na dobrze znanym użytkownikom Linuksa układzie BT878A. W jądrze Linuksa od wieków są sterowniki do tych układów co pozwala nam podejrzewać ze nie napotkamy większych problemów podczas instalacji urządzenia. I tak jest w istocie cała instalacja polega na wybraniu dwóch odpowiednich parametrów modułu sterownika. Aby zainstalować poprawnie tuner edytujemy plik /etc/modules dodajemy tam wpis bttv aby plik wyglądał mniej więcej tak:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with “#” are ignored.

lp
psmouse
usbatm
cxacru
pppoatm
bttv

Tym samym upewnimy się że moduł sterownika bttv załaduje się przy każdym uruchomieniu systemu. Teraz przechodzimy do parametrów modułu, tworzymy plik o nazwie bttv w katalogu /etc/modprobe.d/ a w nim wpisujemy następująca linijkę:

options bttv tuner=38 card=34 radio=0 lumafilter=1 combfilter=1 chroma_agc=1

Zapisujemy powyższy plik, możemy teraz zrestartować system albo ręcznie załadować moduł, najpierw upewniamy się że moduły nie są załadowane:

sudo rmmod bttv
sudo rmmod bt878
sudo rmmod tuner

następnie ładujemy główny moduł:

sudo modprobe bttv tuner=38 card=34 radio=0 lumafilter=1 combfilter=1 chroma_agc=1

Powyższa konfiguracja jest przeznaczona dla tunerów tego typu sprzedawanych w Polsce dla kodowania PAL/PAL-DK. Jeśli mieszkasz w innym kraju niż polska zapewne będziesz musiał zmienić parametr tuner=XX na jeden z poniższych.

Number Type Countries
2 NTSC Stany Zjednoczone
3 SECAM+PAL_BG Francja
5 PAL Ustawienie domyślne
24 PAL/SECAM multi Afryka
38 PAL Austria, Belgia, Polska (również modele Deluxe)
43 NTSC Stany Zjednoczone (nowsze karty)
56 PAL/SECAM multi Rumunia

Dźwięk z karty telewizyjnej otrzymamy jeżeli połączymy ją z kartą dźwiękową kabelkiem podobnym do tego który jest dodawany do napędów CD, jeśli jest to karta wbudowana w płytę podłączamy ją do slotu CD chyba że mamy do dyspozycji wyjscie Line-In bądź AUX.  W kartach tradycyjnych podłączamy kabelek do slotu AUX. Jeśli nie ma dźwięku nawet po podłączeniu do siebie kart zapewne wyjście AUX domyślnie jest wyciszone przez mixer w systemie, należy go uaktywnić i podnieść jego poziom głośności. Polecam zrobić to w aumix. Pozostało nam w tej chwili zainstalować i skonfigurować program to oglądania TV, polecam TVtime. To już wszystko ze wstępnej konfiguracji karty w następnym howto poruszę instalację i konfigurację LIRC wraz z dołączonym do karty pilotem “CoolCommand”.

h1

AIGLX + Beryl na Edgy Eft

listopad 11, 2006

beryllogo.png

Nvidia ostatnio wydała stabilne sterowniki do swoich kart graficznych pod Linuksa w wersji 9629 w których dodano obsługę funkcji GLX_EXT_texture_from_pixmap która umożliwia kilka interesujących operacji na obiektach 2d. Funkcja ta jest miedzy innymi wymagana przez moduł AIGLX który od niedawna został zintegrowany z serwerem graficznym XORG 7.1. W Ubuntu jest on standardowo więc postanowiłem skorzystać z okazji i zainstalować jakieś kosmiczne efekty na moim pulpicie. Postanowiłem opisać tu pokrótce proces instalacji w razie ktoś by miał jakiś z tym problem. Zakładam że osoba zabierająca się za konfigurację AIGLX oraz instalacje Beryla ma działającą akceleracje na swoim Linuksie i używa jedną z kart które obsługuje AIGLX. Użytkownicy kart nVidia mogą pobrać najnowsze sterowniki z nieoficjalnego repozytorium apt które dodajemy do /etc/apt/sources.list:

deb http://albertomilone.com/drivers/edgy/nonlegacy/32bit binary/

deb http://www.albertomilone.com/drivers/edgy/latest/32bit binary/

sterowniki dla systemów 64 bitowych:

deb http://albertomilone.com/drivers/edgy/nonlegacy/64bit binary/

deb http://www.albertomilone.com/drivers/edgy/latest/64bit binary/

klucze GPG dla repozytoriów:

wget http://albertomilone.com/drivers/tseliot.asc

gpg –import tseliot.asc

gpg –export –armor albertomilone@alice.it | sudo apt-key add -

Po dodaniu repozytoriów standardowo wykonujemy polecenie:

sudo apt-get update

następnie uaktualniamy sterownik poleceniem:

sudo apt-get install nvidia-glx

Teraz przejdźmy do instalacji menedżera okien Beryl dla środowiska AIGLX. Dodajemy repozytoria projektu Beryl:

deb http://beryl-mirror.lupine.me.uk/ edgy main-edgy

deb http://ubuntu.beryl-project.org/ edgy main

lub dla środowisk 64 bitowych:

deb http://ubuntu.lupine.me.uk/ edgy main-amd64

Klucze GPG:

wget http://beryl-mirror.lupine.me.uk/quinn.key.asc -O - | sudo apt-key add -

wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -

następnie wykonujemy polecenie:

sudo apt-get update

Instalujemy Beryla:

sudo apt-get install beryl-core beryl-plugins beryl-plugins-data emerald beryl-settings beryl-manager beryl beryl-dev emerald-themes

Teraz musimy dodać kilka wpisów do pliku konfiguracyjnego /etc/X11/xorg.conf:

w sekcji “SCREEN”:

Option “AddARGBGLXVisuals” “True”

Option “DisableGLXRootClipping” “True”

Po zapisaniu pliku restartujemy serwer X poprzez kombinację klawiszy ctrl+alt+backspace, jeśli z jakiegoś powodu serwer X nie wstanie sugeruje reboot systemu. Po starcie serwera X pozostaje jedynie odpalić nam menedżer Beryl poleceniem:

beryl-manager

Proponuję polecenie to dodać do System -> Preferencje -> Sesje użytkownikom Gnome aby uruchamiał się przy starcie środowiska graficznego. Domyślny motyw w Berylu nie należy do najciekawszych proponuję więc pobrać inne np. stąd.

UPDATE: Poprawiłem adresy repozytorium Beryla więcej szczegółów na temat nowych repozytoriów tu.

UPDATE 2: Poprawiłem adresy repozytorium sterowników do kart graficznych więcej szczegółów na temat nowych repozytoriów tu.

h1

Minimalizacja interfejsu przeglądarki Firefox

październik 16, 2006

Używając ostatnio przeglądarki Firefox doszedłem do wniosku iż interfejs programu już mi przestał odpowiadać a sama zmiana skór też nie wystarcza. Wpadłem na pomysł aby w jakiś sposób drastycznie ograniczyć interfejs do jedynie najpotrzebniejszych funkcji. Na początku było prosto prawy przycisk myszy na interfejs -> dostosuj, ale w żaden sposób nie mogłem usunąć paska menu. Po krótkim czasie kombinowania doszedłem do sposobu który mi to umożliwił. Interfejs Chrome który wykorzystuje Firefox jest konfigurowany na podstawie specyfikacji CSS i posiada pliki odpowiedzialne za to więc jeśli chcemy pozbyć się paska menu znajdujemy katalog:

cd ~/.mozilla/firefox/nazwa_profilu.default/chrome/

w tym katalogu powinny być dwa przykładowe pliki:

$ ls

userChrome-example.css userContent-example.css

Interesuje nas plik userChrome-example.css który kopiujemy z inną nazwą:

cp userChrome-example.css userChrome.css

Otwieramy ten plik naszym ulubionym edytorem tekstowym i dodajemy na jego końcu następujący kod:

#go-menu, #helpMenu, #bookmarks-menu, #go-menu, #view-menu, #file-menu, #edit-menu, #tools-menu {
display: none !important;
}

Każda z nazw poprzedzonych znakiem hash to jak nie trudno się domyślić wpis w pasku menu, nie musimy usuwać wszystkich jeśli nie chcemy wystarczy zostawić te menu które są nam potrzebne, ja usunąłem wszystkie. Zapisujemy plik i restartujemy przeglądarkę. Następnym krokiem było przeniesienie dzieki menu “dostosuj” paska adresu, wyszukiwania oraz narzędzi nawigacyjnych na pusty już pasek menu. Po takiej modyfikacji oszczędzamy nie tylko miejsce ale również co ciekawe przyśpieszamy naszą przeglądarkę, przynajmniej moja poprawiła zauważalnie wydajność.

Tak wygląda owoc powyższych zmian.

h1

Neverwinter Nights pod Linuksem

październik 6, 2006

Neverwinter Nights to komputerowa gra fabularna która mimo iż powstała kilka lat temu skupia wokół siebie liczne zastępy graczy nie tylko z powodu rozbudowanego trybu dla pojedyńczego gracza ale też złożonej części sieciowej. Gra co ciekawe dorobiła się oficjalnej wersji pod system Linux. Neverwinter Nights jest dostępna obecnie w Polsce po przystępnej cenie ok 20zł w serii Extra Klasyka, więc chyba każdy zapalony fan RPG powinien móc sobie na nią pozwolić. Jest to jedna z obowiązkowych pozycji dla każdego Linuksowego gracza. Proces instalacji wersji angielskiej jest raczej bezproblemowy i ogranicza się do ściągnięcia prostego graficznego instalatora. W Polsce niestety króluje wersja spolczona którą instaluję się nieco inaczej co może wprawić co najmniej w zakłopotanie. Postaram się tu w kilku krokach przedstawić jak bez niepotrzebnego stresu zainstalować grę pod Linuksem. Do instalacji praktycznie potrzebujemy jedynie klucz cd i dostęp do internetu, resztę wystarczy sciagnąć ze stron producenta. Na początek sciągamy pliki z danymi gry:

wget http://files.bioware.com/neverwinternights/updates/linux/nwresources129.tar.gz

W zależności od posiadanego łącza idziemy na obiad bądź na długi spacer ;), archiwum ma ponad 1 GB.

Następnie ściągamy pliki wykonywalne klienta gry w wersji 1.29:

wget http://nwdownloads.bioware.com/neverwinternights/linux/129/nwclient129.tar.gz

Tworzymy katalog gry:

mkdir ~/games/nwn

rozpakowujemy pliki z danych neverwinter nights do katalogu gry:

tar zxf nwresources129.tar.gz -C ~/games/nwn

oraz pliki wykonywalne:

tar zxf nwclient129.tar.gz -C ~/games/nwn

Teoretycznie gra jest już zainstalowana ale przydałoby się zainstalować najnowszego patcha poprawiającego błędy w grze. Patcha można pobrać tu, później wystarczy go rozpakować analogicznie jak poprzednie archiwa do katalogu z grą. UWAGA: Nie instaluj gry pod kontem administratora, program musi mieć możliwość zapisu w swoim katalogu, uruchamianie gry pod kontem roota jest co najmniej ryzykowne. Aby odpalić grę przechodzimy do katalogu z grą i wpisujemy ./nwn w konsoli. Po uruchomieniu gry powinno pojawić się okno gdzie można wpisać swój klucz cd. Nie pozostaje nam juz nic innego jak tylko udać się na podbój średniowiecznej krainy.

h1

ZXDSL 852 i Ubuntu

wrzesień 22, 2006

zte.png

Ostatnio na blogu wspomniałem iż jakiś czas temu zmieniłem operatora internetowego konkretniej mówiąc na Tpsa czyli Neostrada, miałem nadzieję iż dostanę jeden z dwóch popularnych modemów adsl pod usb SAGEM F@st 800 bądź Thomson SpeedTouch 330 które w tej chwili można zainstalować pod praktycznie każdą dystrybucja bez większych problemów. Tpsa jednak mnie zaskoczyła i nie dała mi żadnego z tych modemów tylko ZXDSL 852 firmy ZTE tłumacząc się że teraz dają jedynie te modemy a stare zostały wycofane gdyż były za bardzo problematyczne. No nic myślę, na pudełku od pakietu startowego pisze ze chodzi pod Linuksem więc się uspokoiłem.
Dojście do tego jak zainstalować ZXDSL 852 nie ukrywam zajęło mi trochę czasu, dobrze że miałem jeszcze stare łącze bo bym nie miał netu i w ogóle. Spróbuję tu przedstawić pokrótce jak zainstalować modem aby inni nie tracili niepotrzebnie czasu na szukanie poradników, których w sieci jest naprawdę mało a te które istnieją są na ogół po francusku.

Istnieją dwa sposoby instalacji tego modemu szybki i nieco dłuższy, pierwszy polega na modyfikacji i kompilacji samego sterownika dzięki headerom jądra systemowego drugi na modyfikacji sterownika oraz kompilacji całego jądra, ja opisze ten pierwszy najszybszy sposób.

Wkładamy do napędu cd/dvd płytkę z Ubuntu (u mnie wersja 6.06.1) menedżer okien powinien ją rozpoznać i zapytać czy chcesz uruchomić menedżer pakietów nie zgadzamy się, otwieramy terminal i wpisujemy:

sudo apt-get install build-essential linux-headers-$(uname -r)

Po tym zabiegu mamy zainstalowany zestaw kompilatorów oraz headery jądra Linuksa.
Następnie tworzymy katalog roboczy w katalogu użytkownika poleceniem:

cd ~
mkdir zxdsl
cd zxdsl

Jeśli mamy jeszcze dostęp do internetu na tym Linuksie na którym instalujemy modem instalujemy pakiet cvs i ściągamy kod źródłowy sterownika z repozytorium cvs.

cvs -d:ext:anoncvs@cvs.infradead.org:/home/cvs co -D 2006-01-17 usbatm
cd usbatm

Następnie swoim ulubionym edytorem tekstu otwieramy plik cxacru.c w katalogu ~/zxdsl/usbatm i szukamy nastepującej części:

{ /* V = Conexant P = ADSL modem */
USB_DEVICE(0×0572, 0xcb06), .driver_info = (unsigned long) &cxacru_cb00
},
{ /* V = Olitec P = ADSL modem version 2 */
USB_DEVICE(0×08e3, 0×0100), .driver_info = (unsigned long) &cxacru_cafe
},

Dodajemy do tej części trzy linijki aby kod wyglądał tak:

{ /* V = Conexant P = ADSL modem */
USB_DEVICE(0×0572, 0xcb06), .driver_info = (unsigned long) &cxacru_cb00
},
{ /* V = Conexant P = ADSL modem (ZTE ZXDSL 852) */
USB_DEVICE(0×0572, 0xcb07), .driver_info = (unsigned long) &cxacru_cb00
},
{ /* V = Olitec P = ADSL modem version 2 */
USB_DEVICE(0×08e3, 0×0100), .driver_info = (unsigned long) &cxacru_cafe
},

Od razu zmodyfikowany kod można pobrać stąd, jest to wygodne rozwiązanie jeśli musisz skorzystać z innego komputera z dostępem do internetu. Modyfikacja którą zapisaliśmy dodaje kod identyfikacyjny dla urządzenia usb:

Bus 001 Device 002: ID 0572:cb07 Conexant Systems (Rockwell), Inc.

To własnie nasz modem (komenda lsusb aby sprawdzić id modemu).
Następnym krokiem jest kompilacja sterownika aby to uczynić wydajemy polecenie:

make modules

po prawidłowej kompilacji powinniśmy zauważyć w katalogu pliki z rozszerzeniem *.ko które są modułami jądra, teraz już będzie z górki.

Sprawdzamy czy któryś z modułów sterownika który skompilowaliśmy jest załadowany:

sudo lsmod | grep cxacru

jeśli tak wykonujemy polecenie aby go zdeaktywować:

sudo rmmod cxacru

Teraz usuwamy stare moduły jądra poleceniami:

sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/atm/cxacru.ko
sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/atm/speedtch.ko
sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/atm/usbatm.ko
sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/atm/xusbatm.ko

Instalujemy skompilowane przez nas moduły poleceniem:

sudo make modules_install

Teraz jest nam potrzebny firmware który możemy zdobyć ze sterowników windowsowych, do tego celu musimy sciagnąć mały programik do wyciągania firmware, sciagamy dwa pliki: Makefile oraz cxacru-fw.c które można znaleźć tu. Nastepnie kompilujemy:

make cxacru-fw

Sterowniki windowsowe możecie znaleźć na płycie od zestawu startowego Neostrady bądź w sieci. W archiwum ze sterownikami znajdujemy plik CnxEtU.sys i go wypakowujemy do katalogu w którym jest skompilowany program cxacru-fw. Wydajemy polecenie:

./cxacru-fw CnxEtU.sys cxacru-fw.bin

Powinniśmy zobaczyć w terminalu coś w tym stylu:

found firmware in `CnxEtU.sys’ at offset 0×41c0

Jeśli tak to mamy już firmware jeśli z jakiegoś powodu nie uda wam się wyodrębnić firmware możecie pobrać go stąd. Firmware kopiujemy do katalogu /lib/firmware poleceniem.

sudo cp ./cxacru-fw.bin /lib/firmware/

Teraz czas aktywować sterownik poleceniem:

sudo modprobe cxacru

Po użyciu komendy dmesg powinniśmy zobaczyć coś takiego:

usbcore: registered new driver cxacru

pomarańczowa dioda na modemie powinna zamigotać kilka razy po czym zaświecić się na stałe aby zsynchronizować linię adsl. Jeśli tak się nie stanie wykonaj wszystkie polecenia do końca tego tekstu i zrestartuj maszynę. Aby upewnić się że moduły sterownika będą się odpalały przy każdym starcie systemu przeedytuj plik /etc/modules, dodaj tam trzy linijki:

usbatm
cxacru
pppoatm

Modem mamy zainstalowany teraz tylko konfiguracja pppd i mamy internet.
Aby skonfigurować ppp przechodzimy do katalogu /etc/ppp/peers i tworzymy tam plik tpsa komenda touch tpsa po czym otwieramy go swoim ulubionym edytorem i wprowadzamy następujący kod:

user “nasz_login@neostrada.pl”
noipdefault
defaultroute
noauth
persist
updetach
usepeerdns
plugin pppoatm.so
0.35

Przechodzimy teraz do katalogu /etc/ppp i w plik pap-secrets oraz chap-secrets wpisujemy swój login oraz hasło poleceniem:

cd /etc/ppp/ && sudo echo “‘nasz_login’ * ‘haslo’” > ./pap-secrets && sudo cp ./pap-secrets ./chap-secrets

Teraz wystarczy wydać polecenie:

pppd call tpsa

Mamy działający internet :)