Dziękuję Williamowi Burrowowi za tę sekcję.
Jeśli boimy się zdjąć obudowę komputera, przeczytajmy najpierw całe HOWTO i zanotujmy gdzieś informacje o swojej karcie, czyli typ tunera, numery układów scalonych, częstotliwości kryształu (kryształów) itp. Potem znajdźmy kogoś, kto się na tym zna i zainstaluje nam kartę.
W przeciwnym wypadku, zdejmijmy obudowę i zainstalujmy kartę w wolnym gnieździe. Wybierzmy takie gniazdo, które obsługuje zarządzanie magistralą PCI i transfer PCI, jeśli nasza płyta główna umożliwia taki wybór (zobaczmy w instrukcji obsługi płyty). Będzie nam to potrzebne dla trybu odbierania obrazu.
Aby uzyskać dźwięk, możemy połączyć kartę TV i kartę muzyczną na dwa sposoby. Jeden z nich to sposób wewnętrzny. Podłączmy kabel audio CD-ROM-u do wejścia dźwiękowego karty wideo, a wyjście karty wideo podłączmy do wejścia audio na karcie muzycznej, w CD-ROM-ie lub tunerze. Możemy też podłączyć zewnętrzną wtyczkę typu "jack" 1/8 cala (3 mm) z karty wideo do wejścia liniowego audio na karcie muzycznej. Inny sposób to podłączenie wzmacniacza z głośnikami bezpośrednio do wyjścia audio karty TV, jeśli nie mamy karty dźwiękowej lub nie chcemy z niej korzystać (niektóre z nowszych kart z układem bt878 nie mają żadnego wyjścia dźwiękowego, ponieważ transmitują dźwięk w postaci cyfrowej przez szynę PCI. W momencie pisania tego dokumentu ta funkcja nie jest jeszcze obsługiwana).
Źródło wideo przydaje się też, jeśli chcemy sprawdzić, czy karta w ogóle działa. Wiele kart ma osobne wejścia dla sygnału kompozytowego, S-Video oraz, o ile mają tuner radiowy, dla RF (radio frequency).
Aby jądro obsługiwało kartę TV, trzeba je odpowiednio skonfigurować. W
większości nowych dystrybucji Linuksa odpowiednie moduły są już skompilowane.
Jeśli więc w katalogu /lib/modules/2.x.x/misc są moduły
videodev.o, bttv.o i tuner.o, to możemy iść dalej.
Jeśli nie znaleźliśmy odpowiednich modułów, będziemy musieli zrekompilować jądro z włączonymi opcjami:
CONFIG_VIDEO_DEV
oraz
CONFIG_VIDEO_BT848.
Powinniśmy skompilować je jako moduły. Przeczytajmy Linux Kernel HOWTO ( http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html), aby dowiedzieć się więcej szczegółów na temat rekompilacji jądra.
Jeśli chcemy używać nowszego sterownika z serii 0.6.x, musimy ściągnąć spakowane archiwum z jednej ze wspomnianych stron. Następnie rozpakowujemy je poleceniem
tar -xvzf bttv-0.6.x.tar.gz
i przechodzimy do nowo utworzonego katalogu. Wpisujemy su aby stać się
rootem. Następnie piszemy
make
w głównym katalogu ze źródłami, aby utworzyć sterownik (możemy spokojnie
zignorować informację w pliku INSTALL, która dotyczy modyfikacji
plików makefile i tym podobnych, ponieważ odpowiednie opcje będziemy
przekazywać sterownikowi w postaci parametrów modułu). Następnie
piszemy
make install,
aby zainstalować sterownik. Na koniec wykonujemy
/sbin/depmod -a,
aby uaktualnić informacje o zależnościach międzymodułowych.
http://roadrunner.swansea.uk.linux.org/v4lapi.shtml).
W podkatalogu driver katalogu ze źródłami bttv znajduje się
skrypt MAKEDEV, który utworzy nam cztery urządzenia wideo. Możemy
łatwo zrobić to sami, jeśli mamy tylko jedną kartę TV.
Jako root, wpisujemy:
mknod /dev/video0 c 81 0
chmod 666 /dev/video0
ln -s /dev/video0 /dev/video
mknod /dev/radio0 c 81 64
chmod 666 /dev/radio0
ln -s /dev/radio0 /dev/radio
Jeśli mamy jakieś aplikacje wymagające urządzeń videotext i VBI, również możemy je utworzyć (nie ma ich za wiele). Wpiszmy:
mknod /dev/vtx0 c 81 192
chmod 666 /dev/vtx0
ln -s /dev/vtx0 /dev/vtx
mknod /dev/vbi0 c 81 224
chmod 666 /dev/vbi0
ln -s /dev/vbi0 /dev/vbi
Sterownik bttv składa się z różnych modułów. Każdy może przyjmować wiele opcji, co jest opisane w dodatku do tego dokumentu. Mając tyle modułów i opcji, być może będziemy chcieli ładować je ręcznie, dopóki wszystko nie będzie działało, jak należy. Ponieważ może to spowodować (choć jest to mało prawdopodobne) zwis systemu, nie zaszkodzi wpisać:
sync; sleep 1; sync
aby zapisać bufory systemu plików, zanim pójdziemy dalej. Następnie, jako
root, poleceniem insmod ładujemy moduły. Pierwsze dwa są łatwe,
ponieważ z reguły nie wymagają opcji:
insmod videodev
insmod i2c
Teraz możemy załadować sam moduł bttv:
modprobe bttv
Domyślnie moduł bttv próbuje sam wykryć typ karty. Sprawdźmy
/var/log/messages aby zobaczyć, czy mu się udało. Jeśli nie wykrył
karty właściwie, na końcu polecenia dodajemy opcję card=n,
co wymusza typ karty. n wybieramy z poniższej listy. (Typy
od 0 do 19 są obsługiwane przez sterownik dostarczany z jądrem, bttv-0.6.4h
obsługuje typy od 20 do 27). Możemy też dodać opcję radio=1, jeśli
karta ma tuner FM.
Uwaga! W jądrach serii 2.4.x ze sterownikiem bttv 0.7.x ta lista jest
zmieniona i poszerzona. Przeczytaj
/usr/src/linux/Documentation/video4linux/bttv/CARDLIST, aby
dowiedzieć się więcej (przyp. tłum.).
card=n typ karty
0: Auto-Detect
1: Miro
2: Hauppauge (stare karty na bt848)
3: STB
4: Intel
5: Diamond
6: AVerMedia
7: MATRIX Vision MV-Delta
8: FlyVideo
9: TurboTV
10: Hauppauge (nowe karty na bt878)
11: MIRO PCTV pro
12: Terratec/Vobis TV-Boostar
13: Newer Hauppauge WinCam (bt878)
14: MAXI TV Video PCI2
15: Terratec TerraTV+
16: Aimslab VHX
17: PXC200
18: AVermedia98
19: FlyVideo98 (nowsze karty FlyVideo)
20: Zoltrix TV-Max
21: iProTV
22: ADS Technologies Channel Surfer TV
23: Pixelview PlayTV (bt878)
24: Leadtek WinView 601
25: AVEC Intercapture
26: LifeView FlyKit w/o Tuner
27: Intel Create and Share PCI
Następnie ładujemy moduł tunera:
modprobe tuner type=n
Żeby określić typ tunera, prawdopodobnie będziemy musieli zdjąć obudowę
komputera i obejrzeć kartę. Niektóre karty (Miro i Hauppauge) umożliwiają
automatyczne wykrycie tunera, ale może będziemy musieli podać go sami. Tuner
powinien być oznaczony nazwą firmy. Możemy spojrzeć na kryształy (małe
skrzyneczki z aluminium) na karcie, aby zobaczyć, czy jest to tuner PAL czy
NTSC. Dla systemu PAL kryształ jest oznaczony 28.xxxMHz (gdzie xxx to
trzy cyfry). Oznaczeniem NTSC jest 35.xxxMHz. Po określeniu typu
tunera wybieramy wartość n z następującej listy (typy 8 i 9
znajdują się tylko w bttv-0.6.4h):
type=n typ układu tunera. n jest następujące:
0: tuner Temic PAL
1: tuner Philips PAL_I
2: tuner Philips NTSC
3: tuner Philips SECAM
4: brak tunera
5: tunerPhilips PAL
6: tuner Temic NTSC
7: tuner Temic PAL
8: tuner Alps TSBH1 NTSC
9: tuner Alps TSBE1 PAL
Na końcu ładujemy potrzebne moduły obsługi dźwięku. I znowuż, będziemy musieli uważnie przyjrzeć sie karcie i zobaczyć, jaki mamy układ dźwiękowy. Uwaga: sterowniki dla układów TEA6300, TDA8425, TDA9855 i DPL3518 znajdują sie tylko w wersji bttv 0.6.4h. Ne ma ich w bieżącej (2.2.14) wersji jądra.
modprobe msp3400 albo tea3600 albo tda8425 albo
tda9855 albo dpl3518 (szczegóły i opcje zamieszczone są w
dodatku)
Uruchamiamy teraz nasz ulubiony program video4linux i sprawdzamy, czy działa. Jeśli nie możemy zmienić kanału, upewnijmy się, że załadowaliśmy właściwy moduł tunera. Jeśli nie słychać dźwięku, dwa razy sprawdźmy moduł dźwięku i, jeśli przepuszczamy sygnał audio przez kartę muzyczną, upewnijmy się, że dźwięk nie jest wyciszony.
Wiedząc, jakich modułów i jakich opcji potrzebujemy, możemy zautomatyzować
proces ich ładowania. W tym celu dokonujemy odpowiednich wpisów w pliku
/etc/conf.modules (albo /etc/modules.conf - przyp.tłum.).
Jeśli wówczas uruchomimy jakąś aplikację potrzebującą danego sterownika,
zostanie on załadowany automatycznie.
Ja wpisałem coś takiego:
# TV alias char-major-81 bttv pre-install bttv modprobe -k tuner; modprobe -k msp3400 options bttv radio=1 card=3 options tuner type=2
Pamiętajmy o zmianie tych wpisów, aby moduły i opcje odpowiadały konkretnemu
modelowi karty. (Wykonajmy polecenie /sbin/depmod -a aby upewnić się,
że informacje o zależnościach międzymodułowych są aktualne.)