리눅스에서 스카이디지탈 USB TV수신기 사용하기
글쓴이: segfault / 작성시간: 일, 2007/09/02 - 9:10오후
스카이디지털의 SKY-TV USB는 USB 인터페이스를 이용한 휴대용 TV 수신기입니다. TV 뿐만 아니라 컴포지트와 S-Video 입력을 받을 수도 있습니다.
이 장치는 eMpia의 EM2861 칩셋을 사용하는데, 리눅스 커널 트리에 em28xx 드라이버가 있긴 하지만 아쉽게도 EM2840까지밖에 지원하지 못합니다. 다행히 mcentral.de의 Mercurial 저장소에 EM2880까지 지원하는 최신 드라이버가 있습니다.
hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel/
하지만 이걸 그대로 사용할 수는 없습니다. 드라이버가 장치를 찾아내긴 하지만 엉뚱한 모델로 인식해버리기 때문입니다. 그래서 SKY-TV USB 장치를 제대로 인식할 수 있도록 패치를 만들어 보았습니다.
패치는 드라이버 메인테이너에게 보냈는데 아마 별 문제가 없다면 적용될 것입니다.
cd v4l-dvb-kernel wget http://quicksilver.planetmono.org/works/em28xx-sky-tv-usb-patch.diff patch -p1 > em28xx-sky-tv-usb-patch.diff make make install
참고로 이 드라이버를 컴파일하기 위해서는 커널 옵션에 I2C 지원을 추가해야 합니다.
댓글
아.. 유용한정보.!
저도 같은 모델이 있거든요. 본체를 바꾸면서 OS도 바꿨는데, 비스타에서는
기존에 쓰던 TV카드가 작동이 안되었고 제조사측에서도 비스타용 드라이버 지원계획이
없다고 해서 요넘을 구입해서 쓰고있다가.. 우분투에서도 한번 써볼까 했는데...
참고로 이 드라이버를 컴파일하기 위해서는 커널 옵션에 I2C 지원을 추가해야 합니다.
-> I2C 지원은 따로 커널 컴파일을 해야합니까? 아님 부팅시에 옵션을 주어야하는지..? ^^a
우분투라면 커널에 기본 옵션일 가능성이 높으니깐...
그 부분은 신경 안쓰셔도 될 겁니다.
lsmod | grep i2c 로 확인하시면 됩니다.
제 기억이 맞다면, 캡쳐보드를 돌리려면 i2c-dev가 있어야 할 겁니다.
저는 gentoo인데, 전부 커널에 밖아 넣어 버려서... 확인 불가하네요.
그러나 어차피 위 본문 내용대로라면 커널을 재컴파일 하셔야 하니깐..
그때 옵션을 확인해 보시면 되겠군요. --;;
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
^^
일단 주말이 되기 전까지는 시간이 없을듯하니
주말에 시도해보고 막히면 다시 여쭤보겠습니다.~
음..
컴파일은 성공적으로 된듯하나.. 장치를 인식하지 못하는듯 하네요..;
tvtime을 설치해서 실행해봐도 파란화면만 나오고..-_-a
(그리고.. patch 하실때 꺽쇠방향이 반대가 아닌지..? ^.^a )
lsmod | i2c 하면
i2c_ec
i2c_core 이렇게 두개가 잡힙니다.
/dev/ 아래에 video로 시작하는 파일은 아무것도 없고요... -_-a
혹시 64비트 커널이라 그런 것일까요?
make install 시 메시지는 아래와 같습니다.
--------------------------------------------
thom@thomnote:~/v4l-dvb-kernel$ sudo make install
make -C /home/thom/v4l-dvb-kernel/v4l install
make[1]: Entering directory `/home/thom/v4l-dvb-kernel/v4l'
Stripping debug info from files
Installing kernel modules under /lib/modules/2.6.20-16-generic/kernel/drivers/media/:
dvb/dvb-usb/: dvb-usb-opera.ko dvb-usb-cxusb.ko dvb-usb-vp7045.ko
dvb-usb-af9005-remote.ko dvb-usb-ttusb2.ko dvb-usb-dib0700.ko
dvb-usb-a800.ko dvb-usb-gp8psk.ko dvb-usb-dibusb-common.ko
dvb-usb-au6610.ko dvb-usb-digitv.ko dvb-usb.ko
dvb-usb-dibusb-mc.ko dvb-usb-af9005.ko dvb-usb-nova-t-usb2.ko
dvb-usb-dtt200u.ko dvb-usb-vp702x.ko dvb-usb-umt-010.ko
dvb-usb-dibusb-mb.ko dvb-usb-gl861.ko dvb-usb-m920x.ko
dvb/ttpci/: dvb-ttpci.ko budget-patch.ko ttpci-eeprom.ko
budget-av.ko budget.ko budget-core.ko
budget-ci.ko
video/et61x251/: et61x251.ko
video/cpia2/: cpia2.ko
dvb/cinergyT2/: cinergyT2.ko
dvb/b2c2/: b2c2-flexcop-pci.ko b2c2-flexcop.ko b2c2-flexcop-usb.ko
video/ivtv/: ivtv.ko
dvb/frontends/: nxt6000.ko dib7000m.ko mt2060.ko
s5h1420.ko nxt200x.ko mt352.ko
tda827x.ko sp887x.ko dibx000_common.ko
isl6421.ko mt312.ko or51132.ko
dib3000mb.ko tda1004x.ko dib3000mc.ko
sp8870.ko l64781.ko dib7000p.ko
ves1x93.ko tda8083.ko ves1820.ko
stv0297.ko tda10086.ko cx22700.ko
zl10353.ko qt1010.ko cx24110.ko
stv0299.ko dvb-pll.ko lgdt330x.ko
cx24123.ko cx22702.ko lnbp21.ko
tda10023.ko tua6100.ko bcm3510.ko
tda10021.ko or51211.ko tda826x.ko
video/bt8xx/: bttv.ko
video/cx88/: cx8802.ko cx8800.ko cx88-blackbird.ko
cx88-alsa.ko cx88xx.ko cx88-vp3054-i2c.ko
cx88-dvb.ko
dvb/pluto2/: pluto2.ko
video/usbvideo/: ibmcam.ko usbvideo.ko vicam.ko
ultracam.ko konicawc.ko quickcam_messenger.ko
video/sn9c102/: sn9c102.ko
dvb/dvb-core/: dvb-core.ko
video/: vpx3220.ko bt856.ko upd64083.ko
stradis.ko tda9840.ko saa7191.ko
cx2341x.ko wm8775.ko w9968cf.ko
saa7185.ko tuner.ko zr364xx.ko
ks0127.ko stv680.ko tvaudio.ko
tea6420.ko bt866.ko cafe_ccic.ko
saa5246a.ko msp3400.ko video-buf.ko
zr36016.ko wm8739.ko dpc7146.ko
saa5249.ko cpia_pp.ko tda7432.ko
w9966.ko upd64031a.ko ir-kbd-i2c.ko
ov511.ko tuner-3036.ko tea6415c.ko
dabusb.ko bt819.ko cpia_usb.ko
videodev.ko zr36060.ko tda9875.ko
adv7175.ko mxb.ko video-buf-dvb.ko
vivi.ko cs53l32a.ko btcx-risc.ko
se401.ko saa7110.ko saa7115.ko
saa6588.ko saa7111.ko tvmixer.ko
v4l2-common.ko saa7114.ko hexium_orion.ko
hexium_gemini.ko tvp5150.ko adv7170.ko
videocodec.ko ov7670.ko saa7127.ko
zr36067.ko v4l1-compat.ko compat_ioctl32.ko
zr36050.ko c-qcam.ko tveeprom.ko
cpia.ko tlv320aic23b.ko bw-qcam.ko
video/usbvision/: usbvision.ko
common/: saa7146_vv.ko ir-common.ko saa7146.ko
tuners/: xc3028-tuner.ko
video/em28xx/: em2880-dvb.ko em28xx-audio.ko em28xx.ko
radio/: dsbr100.ko radio-maestro.ko radio-maxiradio.ko
radio-gemtek-pci.ko
video/pvrusb2/: pvrusb2.ko
dvb/bt8xx/: dst_ca.ko dvb-bt8xx.ko bt878.ko
dst.ko
video/cx25840/: cx25840.ko
dvb/ttusb-dec/: ttusbdecfe.ko ttusb_dec.ko
dvb/ttusb-budget/: dvb-ttusb-budget.ko
video/pwc/: pwc.ko
video/saa7134/: saa6752hs.ko saa7134-empress.ko saa7134-alsa.ko
saa7134-dvb.ko saa7134.ko
video/ovcamchip/: ovcamchip.ko
video/zc0301/: zc0301.ko
/sbin/depmod -a 2.6.20-16-generic
make[1]: Leaving directory `/home/thom/v4l-dvb-kernel/v4l'
thom@thomnote:~/v4l-dvb-kernel$
-------------------------------------------------------------------------------------
tvp5150(ADC 모듈)과
tvp5150(ADC 모듈)과 em28xx 모듈을 로드하시고
dmesg 해서 나오는 메시지를 올려주실수 있으신가요?
----
http://www.planetmono.org
----
http://www.planetmono.org
음..
대강 다음과 같은 메시지가 나오네요..
메시지를 보아하니 드라이버는 제대로 로드하는것 같은데. -_-a
----------------
[ 87.672438] Linux video capture interface: v2.00
[ 87.719950] em28xx v4l2 driver version 0.0.1 loaded
[ 87.720160] usbcore: registered new interface driver em28xx
[ 93.860580] usb 2-8: new high speed USB device using ehci_hcd and address 2
[ 93.905001] usb 2-8: configuration #1 chosen from 1 choice
[ 94.069370] usbcore: registered new interface driver snd-usb-audio
[ 105.499882] usb 2-8: USB disconnect, address 2
이상하네요. 이런
이상하네요. 이런 메시지가 나와야 정상입니다.
혹시 리눅스 소스트리에 있는 em28xx 드라이버를 설치하신게 아닌가요?
----
http://www.planetmono.org
----
http://www.planetmono.org
소스트리에 있는 드라이버를 설치한 적은 없고요..
제일 처음에 알려주신 방법대로 설치하였습니다.
아아.. 왜이러지..ㅠㅠ
아무튼 감사합니다.~
product id가 틀릴수 도 있습니다.
참고로 제꺼는 vendor:product가 eb1a:04bb 더군요.
오래된 글이지만, 검색을 통해 오신분을 위해 참고글 남깁니다.
머큐리얼 저장소가 접속이안되네요;
다른 저장소주소나 tarball주소 아시는분계시는지요??
///
hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel/
destination directory: v4l-dvb-kernel
abort: error: Operation timed out
머큐리얼 저장소..
http://linuxtv.org/hg/v4l-dvb
이곳인듯 한데요. 소스구조가 많이 바뀌었는지 segfault 님의 patch를 소스에 적용할 수가 없네요;;
제 나름 소스를 수정해서 빌드를 해보고 모듈을 올리려고 해 보니 다음과 같은 메시지가 나옵니다.
아무래도 파라메터값을 제대로 주지 못해서인 듯 싶은데.. 후우.. ㅠㅠ
------------
bluedawn@bluedawn:~/tmp2/v4l-dvb-kernel$ sudo modprobe em28xx
[sudo] password for bluedawn:
FATAL: Error inserting em28xx (/lib/modules/2.6.27-7-generic/kernel/drivers/media/video/em28xx/em28xx.ko): Unknown symbol in module, or unknown parameter (see dmesg)
bluedawn@bluedawn:~/tmp2/v4l-dvb-kernel$
--------------
댓글 달기