(이 섹션에 대해 William Burrow에게 감사드린다.)
여러분이 컴퓨터 케이스를 여는것에 자신이 없다면, 먼저 이 HOWTO 문서 전체를 확실히 읽고 카드의 튜너 타입, 집적회로 번호, 검파기 주파수와 같은 카드에 대한 노트를 만들어라. 그리고 나서, 여러분을 위해 카드를 설치해 줄 유능한 사람을 구하라.
그렇지 않으면, 케이스를 열고 비어있는 슬롯에 카드를 설치하라. 여러분의 메인보드가 PCI버스 전송과 PCI버스 마스터링에 대해(메인보드 메뉴얼을 보라) 까다롭다면, 그러한 기능이 지원되는 슬롯을 하나 신중히 선택하라. 오버레이 모드를 위해 이것이 필요할 것이다.
소리를 듣기위해, 여러분의 비디오 캡쳐 카드와 사운드 카드를 연결하는 서로다른 두가지 방법이 있다. 한가지 방법은 내부적인 연결이다. CD-ROM의 오디오 케이블을 비디오 캡쳐 카드의 사운드 입력 단자에 연결하고 비디오 캡쳐 카드의 출력을 사운드 카드의 CD-ROM이나 튜너의 오디오 입력 단자에 연결하라. 다른 방법은 외부 1/8'' 오디오 잭을 비디오 캡쳐 카드에서 오디오 카드의 1/8'' 라인 오디오로 연결하는 것이다. 오디오 카드가 없거나 사운드 카드를 통한 연결을 원하지 않는다면, 캡쳐 카드의 오디오 출력 단자에 증폭 스피커만을 연결할 수 있다.(신형 bt878 카드의 일부는 디지털 오디오 데이터를 PCI버스를 통해 전송하기 때문에 어떤 사운드 커넥터도 갖고있지 않다. 이 글을 쓰는 시점에서 이러한 카드에 대한 지원은 없다.)
비디오 소스는 특히 카드가 작동중인지 아닌지를 확인하는데 유용하다. 많은 카드들이 복합 비디오 입력, S-비디오 입력 그리고 튜너 장착하고 있다면 RF 입력들을 다룬다. 이러한 입력들을 위한 커넥터가 각각 따로 존재한다.
여러분의 카드를 지원하기 위해서 커널은 정확하게 설정되어야 한다. 최근의 리눅스 배포본 대부분은 필요한 모듈들이 미리 컴파일되어 있다. 그래서, 여러분이 /lib/modules/2.x.x/misc에서 videodev.o, bttv.o 와 tuner.o를 찾을 수 있다면 계속 진행할 준비가 된 것이다.
그렇지 않다면,
CONFIG_VIDEO_DEV
와
CONFIG_VIDEO_BT848
옵션을 가능하면 모듈로 선택해서 커널을 재컴파일 해야한다. 커널 재컴파일에 관한 자세한 사항은 리눅스 커널 HOWTO (http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html)를 보라.
업데이트된 0.6.x 패키지를 사용하려면, 면저 위에 언급한 싸이트에서 드라이버를 받아와야 한다. 받아온 드라이버를
tar -xvzf bttv-0.6.x.tar.gz
로 압축을 풀고 압축을 풀어서 생긴 디렉토리로 이동하라. su 명령어고 root 권한을 획득하고, 드라이버를 만들기 위해 주 디렉토리에서
make
라는 커맨드를 입력한다. INSTALL 파일은 드라이버에게 필요한 정보를 make 파일에서 수정하는 방법을 설명하고 있다. 하지만, 우리는 그러한 정보를 모듈 파라메터를 사용해서 드라이버로 넘길 것이기 때문에 여러분은 안전하게 INSTALL 파일의 내용을 무시할 수 있다.) 그리고 나서,
make install
로 드라이버를 설치한다. 마지막으로,
/sbin/depmod -a
로 모듈의 의존성 정보를 업데이트 한다.
다음으로, /dev 디렉토리에 특수 캐릭터 파일을 만들어야 한다. 이러한 디바이스들이 이미 존재하는지 확인하기 위해 ls /dev/video*; ls /dev/radio* 커맨드를 입력한다. 존재하지 않는다면 그것들을 만들어야 한다. 이 파일들은 모두 주 장치 번호가 81이고, 부 장치 번호는 이러한 파일들의 다중 인스턴스 뿐만 아니라 특정 장치 (비디오, 라디오 등등)에 따라 다르다. 프로그래밍에 관한 자세한 사항은 Video4Linux API (http://roadrunner.swansea.uk.linux.org/v4lapi.shtml) 를 보라.
bttv 드라이버 패키지의 driver 디렉토리에는 네개의 비디오 디바이스 파일을 만들어 줄 MAKEDEV 스크립트가 있다. 또한, 한개의 비디오 캡쳐 카드만을 가지고 있다면 여러분 스스로도 꽤 쉽게 만들 수 있다. root로 다음의 커맨드를 입력하라:
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
또한, 여러분이 비디오 텍스트와 VBI 디바이스를 필요로 하는 어플리케이션 (현재, 극히 일부가 있다)을 가지고 있다면, 다음과 같이 디바이스 파일을 만들 수 있다:
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
bttv 드라이버는 많은 다른 모듈과 이 문서의 부록에서 설명한 많은 다른 옵션을 제공한다. 많은 모듈과 옵션이 있기 때문에, 모든것이 작동할 때까지 수동으로 이 작업을 해야한다. 컴퓨터가 다운되거나 하는 일은 거의 없겠지만, 모듈을 로딩하기 전에 아래와 같이 dirty(미처 디스크에 저장되지 않고 버퍼에 남아있는 데이터) 디스크 버퍼를 강제로 저장하면 시스템이 손상되는 일은 없을 것이다.
sync; sleep 1; sync
그리고 나서, root로 insmod 커맨드를 사용해 모듈 로딩을 시도하라. 처음 두개의 모듈은 대부분 어떤 옵션도 필요치 않으므로 로딩이 쉽다:
insmod videodev
insmod i2c
이제 bttv 모듈을 로드할 준비가 된것이다:
modprobe bttv
디폴트로, bttv 모듈은 카드 타입을 자동으로 알아내려 한다. 어떤 것으로 인식했는지 확인하기 위해 /var/log/messages를 보라. 모듈이 여러분의 카드를 바르게 인식하지 못했다면, 카드 타입을 강제로 지정하기 위해 위의 커맨드 끝에 card=n 옵션을 추가할 수 있다. 여기서 n 은 아래의 목록에서 선택할 수 있다. (커널에 포함된 드라이버는 타입 0에서 19까지 지원하고, bttv-0.6.4h는 20에서 27번까지도 지원한다) 또한, 여러분의 카드에 FM 튜너 기능이 있다면 radio=1 옵션을 추가할 수 있다.
card=n card type 0: Auto-Detect 1: Miro 2: Hauppauge (구형 bt848 보드) 3: STB 4: Intel 5: Diamond 6: AVerMedia 7: MATRIX Vision MV-Delta 8: FlyVideo 9: TurboTV 10: Hauppauge (신형 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 (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 |
다음으로, 아래와 같이 튜너 모듈을 로드한다.
modprobe tuner type=n
여러분은 아마도 튜너를 확인하기 위해 케이스를 열어야 할 지도 모른다. 일부 카드들은 (Miro와 Hauppauge) 튜너 타입을 자동으로 알아낼 수 있다. 그러나, 여러분은 튜너 타입을 지정해야 할 것이다. 튜너에는 상표(브랜드)명이 표기되어 있으며, 여러분이 NTSC나 PAL 튜너를 가지고 있다면 보드의 검파기(작은 알루미늄 캔)에서 이것을 확인할 수 있다. PAL 타입 튜너의 검파기는 28.xxxMHz (xxx는 세자리 숫자)이 표기되어 있다. NTSC 타입 튜너의 작은 상자에는 35.xxxMHz이 적혀있을 것이다. 튜너 타입을 알고 있다면, 아래의 목록(타입 8과 9는 bttv-0.6.4h 에만 있다)에서 n 값을 선택하라:
type=n type of the tuner chip. n as follows: 0: Temic PAL tuner 1: Philips PAL_I tuner 2: Philips NTSC tuner 3: Philips SECAM tuner 4: no tuner 5: Philips PAL tuner 6: Temic NTSC tuner 7: Temic PAL tuner 8: Alps TSBH1 NTSC tuner 9: Alps TSBE1 PAL tuner |
마지막으로, 여러분에게 필요한 사운드 모듈을 로드하라. 아마도 또다시 여러분이 가지고 있는 카드가 무엇인지 매우 가까이서 확인해야 할 필요가 있을 것이다. TEA6300, TDA8425, TDA9855와 DPL3518 칩의 드라이버는 0.6.4h 시리즈의 드라이버에만 포함되어 있고 현재 커널(2.2.14) 드라이버에는 포함되어 있지 않음을 명심하라.
modprobe msp3400 나 tea3600 나 tda8425 나 tda9855 나 dpl3518 (자세한 내용과 옵션은 부록을 보라)
좋아하는 video4linux 프로그램을 실행해서 잘 작동하는지 확인하라. 채널을 변경할 수 없다면, 알맞은 튜너 모듈을 로딩하라. 아무 소리도 들을 수 없다면, 다음의 두가지를 점검하라. 사운드 모듈의 확인과 사운드 카드를 통해 소리를 듣는다면, 채널의 볼륨이 작게되어 있지는 않은지를 확인한다.
여러분에게 필요한 모듈과 옵션을 알았으면, /etc/conf.modules 파일에 그러한 정보를 기록해서 모듈 로딩 작업을 자동화 할 수 있다. 그렇게 하면, 그 드라이버를 필요로 하는 어플리케이션이 실행될 때, 자동으로 모듈이 로딩될 것이다. 필자는 다음과 같이 사용한다:
# 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 |