jueves, 24 de diciembre de 2009

Capturadora Sabrent 4 canales CCTV - modelo: SC-PVS4 + Linux

Paso a explicar como hacer funcionar la placa Sabrent SC-PVS4 que monta el chip phillips 7130 en Linux (en este caso probado en Ubuntu 9.10 64bits)

lo primero que vamos a verificar es la salida lcpci

$lspci
03:0c.0 Multimedia controller: Philips Semiconductors SAA7130 Video Broadcast Decoder (rev 01)
03:0d.0 Multimedia controller: Philips Semiconductors SAA7130 Video Broadcast Decoder (rev 01)
03:0e.0 Multimedia controller: Philips Semiconductors SAA7130 Video Broadcast Decoder (rev 01)
03:0f.0 Multimedia controller: Philips Semiconductors SAA7130 Video Broadcast Decoder (rev 01)

verificamos la salida de $dmesg | grep saa

y nos va a salir 4 veces esto (porque son 4 chips)

$dmesg | grep saa

[ 479.490626] saa7130[2]: Huh, no eeprom present (err=-5)?
[ 479.491283] saa7130[2]: registered device video2 [v4l2]
[ 479.491308] saa7130[2]: registered device vbi2
[ 479.491391] saa7130[3]: found at 0000:03:0f.0, rev: 1, irq: 20, latency: 64, mmio: 0xddfff000
[ 479.491399] saa7134:
[ 479.491400] saa7134: Congratulations! Your TV card vendor saved a few
[ 479.491401] saa7134: cents for a eeprom, thus your pci board has no
[ 479.491402] saa7134: subsystem ID and I can't identify it automatically
[ 479.491403] saa7134:

[ 479.491404] saa7134: I feel better now. Ok, here are the good news:
[ 479.491405] saa7134: You can use the card=
insmod option to specify
[ 479.491406] saa7134: which board do you have. The list:
[ 479.491409] saa7134: card=0 -> UNKNOWN/GENERIC
[ 479.491412] saa7134: card=1 -> Proteus Pro [philips reference design] 1131:2001 1131:2001
[ 479.491416] saa7134: card=2 -> LifeView FlyVIDEO3000 5168:0138 4e42:0138
[ 479.491420] saa7134: card=3 -> LifeView/Typhoon FlyVIDEO2000 5168:0138 4e42:0138
[ 479.491424] saa7134: card=4 -> EMPRESS 1131:6752
[ 479.491427] saa7134: card=5 -> SKNet Monster TV 1131:4e85
[ 479.491430] saa7134: card=6 -> Tevion MD 9717
[ 479.491433] saa7134: card=7 -> KNC One TV-Station RDS / Typhoon TV Tune 1131:fe01 1894:fe01
[ 479.491437] saa7134: card=8 -> Terratec Cinergy 400 TV 153b:1142
[ 479.491440] saa7134: card=9 -> Medion 5044
[ 479.491443] saa7134: card=10 -> Kworld/KuroutoShikou SAA7130-TVPCI
[ 479.491445] saa7134: card=11 -> Terratec Cinergy 600 TV 153b:1143
[ 479.491449] saa7134: card=12 -> Medion 7134 16be:0003 16be:5000
[ 479.491452] saa7134: card=13 -> Typhoon TV+Radio 90031
[ 479.491455] saa7134: card=14 -> ELSA EX-VISION 300TV 1048:226b
[ 479.491458] saa7134: card=15 -> ELSA EX-VISION 500TV 1048:226a
[ 479.491462] saa7134: card=16 -> ASUS TV-FM 7134 1043:4842 1043:4830 1043:4840
[ 479.491466] saa7134: card=17 -> AOPEN VA1000 POWER 1131:7133
[ 479.491469] saa7134: card=18 -> BMK MPEX No Tuner
[ 479.491472] saa7134: card=19 -> Compro VideoMate TV 185b:c100
[ 479.491475] saa7134: card=20 -> Matrox CronosPlus 102b:48d0
[ 479.491479] saa7134: card=21 -> 10MOONS PCI TV CAPTURE CARD 1131:2001
[ 479.491482] saa7134: card=22 -> AverMedia M156 / Medion 2819 1461:a70b
[ 479.491485] saa7134: card=23 -> BMK MPEX Tuner
[ 479.491488] saa7134: card=24 -> KNC One TV-Station DVR 1894:a006
[ 479.491491] saa7134: card=25 -> ASUS TV-FM 7133 1043:4843
[ 479.491494] saa7134: card=26 -> Pinnacle PCTV Stereo (saa7134) 11bd:002b
[ 479.491498] saa7134: card=27 -> Manli MuchTV M-TV002
[ 479.491500] saa7134: card=28 -> Manli MuchTV M-TV001
[ 479.491503] saa7134: card=29 -> Nagase Sangyo TransGear 3000TV 1461:050c
[ 479.491506] saa7134: card=30 -> Elitegroup ECS TVP3XP FM1216 Tuner Card( 1019:4cb4
[ 479.491510] saa7134: card=31 -> Elitegroup ECS TVP3XP FM1236 Tuner Card 1019:4cb5
[ 479.491513] saa7134: card=32 -> AVACS SmartTV
[ 479.491516] saa7134: card=33 -> AVerMedia DVD EZMaker 1461:10ff
[ 479.491519] saa7134: card=34 -> Noval Prime TV 7133
[ 479.491522] saa7134: card=35 -> AverMedia AverTV Studio 305 1461:2115
[ 479.491525] saa7134: card=36 -> UPMOST PURPLE TV 12ab:0800
[ 479.491528] saa7134: card=37 -> Items MuchTV Plus / IT-005
[ 479.491531] saa7134: card=38 -> Terratec Cinergy 200 TV 153b:1152
[ 479.491534] saa7134: card=39 -> LifeView FlyTV Platinum Mini 5168:0212 4e42:0212 5169:1502
[ 479.491539] saa7134: card=40 -> Compro VideoMate TV PVR/FM 185b:c100
[ 479.491542] saa7134: card=41 -> Compro VideoMate TV Gold+ 185b:c100
[ 479.491545] saa7134: card=42 -> Sabrent SBT-TVFM (saa7130)
[ 479.491548] saa7134: card=43 -> :Zolid Xpert TV7134
[ 479.491551] saa7134: card=44 -> Empire PCI TV-Radio LE
[ 479.491553] saa7134: card=45 -> Avermedia AVerTV Studio 307 1461:9715
[ 479.491557] saa7134: card=46 -> AVerMedia Cardbus TV/Radio (E500) 1461:d6ee
[ 479.491560] saa7134: card=47 -> Terratec Cinergy 400 mobile 153b:1162
[ 479.491563] saa7134: card=48 -> Terratec Cinergy 600 TV MK3 153b:1158
[ 479.491566] saa7134: card=49 -> Compro VideoMate Gold+ Pal 185b:c200
[ 479.491570] saa7134: card=50 -> Pinnacle PCTV 300i DVB-T + PAL 11bd:002d
[ 479.491573] saa7134: card=51 -> ProVideo PV952 1540:9524
[ 479.491576] saa7134: card=52 -> AverMedia AverTV/305 1461:2108
[ 479.491579] saa7134: card=53 -> ASUS TV-FM 7135 1043:4845
[ 479.491583] saa7134: card=54 -> LifeView FlyTV Platinum FM / Gold 5168:0214 5168:5214 1489:0214 5168:0304
[ 479.491588] saa7134: card=55 -> LifeView FlyDVB-T DUO / MSI TV@nywhere D 5168:0306 4e42:0306
[ 479.491591] saa7134: card=56 -> Avermedia AVerTV 307 1461:a70a
[ 479.491595] saa7134: card=57 -> Avermedia AVerTV GO 007 FM 1461:f31f
[ 479.491598] saa7134: card=58 -> ADS Tech Instant TV (saa7135) 1421:0350 1421:0351 1421:0370 1421:1370
[ 479.491603] saa7134: card=59 -> Kworld/Tevion V-Stream Xpert TV PVR7134
[ 479.491605] saa7134: card=60 -> LifeView/Typhoon/Genius FlyDVB-T Duo Car 5168:0502 4e42:0502 1489:0502
[ 479.491610] saa7134: card=61 -> Philips TOUGH DVB-T reference design 1131:2004
[ 479.491613] saa7134: card=62 -> Compro VideoMate TV Gold+II
[ 479.491616] saa7134: card=63 -> Kworld Xpert TV PVR7134
[ 479.491618] saa7134: card=64 -> FlyTV mini Asus Digimatrix 1043:0210
[ 479.491622] saa7134: card=65 -> V-Stream Studio TV Terminator
[ 479.491624] saa7134: card=66 -> Yuan TUN-900 (saa7135)
[ 479.491627] saa7134: card=67 -> Beholder BeholdTV 409 FM 0000:4091
[ 479.491630] saa7134: card=68 -> GoTView 7135 PCI 5456:7135
[ 479.491634] saa7134: card=69 -> Philips EUROPA V3 reference design 1131:2004
[ 479.491637] saa7134: card=70 -> Compro Videomate DVB-T300 185b:c900
[ 479.491640] saa7134: card=71 -> Compro Videomate DVB-T200 185b:c901
[ 479.491643] saa7134: card=72 -> RTD Embedded Technologies VFG7350 1435:7350
[ 479.491647] saa7134: card=73 -> RTD Embedded Technologies VFG7330 1435:7330
[ 479.491650] saa7134: card=74 -> LifeView FlyTV Platinum Mini2 14c0:1212
[ 479.491653] saa7134: card=75 -> AVerMedia AVerTVHD MCE A180 1461:1044
[ 479.491656] saa7134: card=76 -> SKNet MonsterTV Mobile 1131:4ee9
[ 479.491660] saa7134: card=77 -> Pinnacle PCTV 40i/50i/110i (saa7133) 11bd:002e
[ 479.491663] saa7134: card=78 -> ASUSTeK P7131 Dual 1043:4862
[ 479.491666] saa7134: card=79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO
[ 479.491669] saa7134: card=80 -> ASUS Digimatrix TV 1043:0210
[ 479.491672] saa7134: card=81 -> Philips Tiger reference design 1131:2018
[ 479.491675] saa7134: card=82 -> MSI TV@Anywhere plus 1462:6231 1462:8624
[ 479.491679] saa7134: card=83 -> Terratec Cinergy 250 PCI TV 153b:1160
[ 479.491683] saa7134: card=84 -> LifeView FlyDVB Trio 5168:0319
[ 479.491686] saa7134: card=85 -> AverTV DVB-T 777 1461:2c05 1461:2c05
[ 479.491690] saa7134: card=86 -> LifeView FlyDVB-T / Genius VideoWonder D 5168:0301 1489:0301
[ 479.491694] saa7134: card=87 -> ADS Instant TV Duo Cardbus PTV331 0331:1421
[ 479.491697] saa7134: card=88 -> Tevion/KWorld DVB-T 220RF 17de:7201
[ 479.491700] saa7134: card=89 -> ELSA EX-VISION 700TV 1048:226c
[ 479.491703] saa7134: card=90 -> Kworld ATSC110/115 17de:7350 17de:7352
[ 479.491707] saa7134: card=91 -> AVerMedia A169 B 1461:7360
[ 479.491710] saa7134: card=92 -> AVerMedia A169 B1 1461:6360
[ 479.491714] saa7134: card=93 -> Medion 7134 Bridge #2 16be:0005
[ 479.491717] saa7134: card=94 -> LifeView FlyDVB-T Hybrid Cardbus/MSI TV 5168:3306 5168:3502 5168:3307 4e42:3502
[ 479.491722] saa7134: card=95 -> LifeView FlyVIDEO3000 (NTSC) 5169:0138
[ 479.491725] saa7134: card=96 -> Medion Md8800 Quadro 16be:0007 16be:0008 16be:000d
[ 479.491729] saa7134: card=97 -> LifeView FlyDVB-S /Acorp TV134DS 5168:0300 4e42:0300
[ 479.491733] saa7134: card=98 -> Proteus Pro 2309 0919:2003
[ 479.491736] saa7134: card=99 -> AVerMedia TV Hybrid A16AR 1461:2c00
[ 479.491739] saa7134: card=100 -> Asus Europa2 OEM 1043:4860
[ 479.491743] saa7134: card=101 -> Pinnacle PCTV 310i 11bd:002f
[ 479.491746] saa7134: card=102 -> Avermedia AVerTV Studio 507 1461:9715
[ 479.491749] saa7134: card=103 -> Compro Videomate DVB-T200A
[ 479.491752] saa7134: card=104 -> Hauppauge WinTV-HVR1110 DVB-T/Hybrid 0070:6700 0070:6701 0070:6702 0070:6703 0070:6704 0070:6705
[ 479.491758] saa7134: card=105 -> Terratec Cinergy HT PCMCIA 153b:1172
[ 479.491761] saa7134: card=106 -> Encore ENLTV 1131:2342 1131:2341 3016:2344
[ 479.491765] saa7134: card=107 -> Encore ENLTV-FM 1131:230f
[ 479.491769] saa7134: card=108 -> Terratec Cinergy HT PCI 153b:1175
[ 479.491772] saa7134: card=109 -> Philips Tiger - S Reference design
[ 479.491775] saa7134: card=110 -> Avermedia M102 1461:f31e
[ 479.491778] saa7134: card=111 -> ASUS P7131 4871 1043:4871
[ 479.491781] saa7134: card=112 -> ASUSTeK P7131 Hybrid 1043:4876
[ 479.491785] saa7134: card=113 -> Elitegroup ECS TVP3XP FM1246 Tuner Card 1019:4cb6
[ 479.491788] saa7134: card=114 -> KWorld DVB-T 210 17de:7250
[ 479.491791] saa7134: card=115 -> Sabrent PCMCIA TV-PCB05 0919:2003
[ 479.491795] saa7134: card=116 -> 10MOONS TM300 TV Card 1131:2304
[ 479.491798] saa7134: card=117 -> Avermedia Super 007 1461:f01d
[ 479.491801] saa7134: card=118 -> Beholder BeholdTV 401 0000:4016
[ 479.491804] saa7134: card=119 -> Beholder BeholdTV 403 0000:4036
[ 479.491808] saa7134: card=120 -> Beholder BeholdTV 403 FM 0000:4037
[ 479.491811] saa7134: card=121 -> Beholder BeholdTV 405 0000:4050
[ 479.491814] saa7134: card=122 -> Beholder BeholdTV 405 FM 0000:4051
[ 479.491818] saa7134: card=123 -> Beholder BeholdTV 407 0000:4070
[ 479.491821] saa7134: card=124 -> Beholder BeholdTV 407 FM 0000:4071
[ 479.491824] saa7134: card=125 -> Beholder BeholdTV 409 0000:4090
[ 479.491827] saa7134: card=126 -> Beholder BeholdTV 505 FM 5ace:5050
[ 479.491831] saa7134: card=127 -> Beholder BeholdTV 507 FM / BeholdTV 509 5ace:5070 5ace:5090
[ 479.491835] saa7134: card=128 -> Beholder BeholdTV Columbus TVFM 0000:5201
[ 479.491838] saa7134: card=129 -> Beholder BeholdTV 607 FM 5ace:6070
[ 479.491841] saa7134: card=130 -> Beholder BeholdTV M6 5ace:6190
[ 479.491844] saa7134: card=131 -> Twinhan Hybrid DTV-DVB 3056 PCI 1822:0022
[ 479.491848] saa7134: card=132 -> Genius TVGO AM11MCE
[ 479.491850] saa7134: card=133 -> NXP Snake DVB-S reference design
[ 479.491853] saa7134: card=134 -> Medion/Creatix CTX953 Hybrid 16be:0010
[ 479.491856] saa7134: card=135 -> MSI TV@nywhere A/D v1.1 1462:8625
[ 479.491860] saa7134: card=136 -> AVerMedia Cardbus TV/Radio (E506R) 1461:f436
[ 479.491863] saa7134: card=137 -> AVerMedia Hybrid TV/Radio (A16D) 1461:f936
[ 479.491866] saa7134: card=138 -> Avermedia M115 1461:a836
[ 479.491870] saa7134: card=139 -> Compro VideoMate T750 185b:c900
[ 479.491873] saa7134: card=140 -> Avermedia DVB-S Pro A700 1461:a7a1
[ 479.491876] saa7134: card=141 -> Avermedia DVB-S Hybrid+FM A700 1461:a7a2
[ 479.491879] saa7134: card=142 -> Beholder BeholdTV H6 5ace:6290
[ 479.491883] saa7134: card=143 -> Beholder BeholdTV M63 5ace:6191
[ 479.491886] saa7134: card=144 -> Beholder BeholdTV M6 Extra 5ace:6193
[ 479.491889] saa7134: card=145 -> AVerMedia MiniPCI DVB-T Hybrid M103 1461:f636 1461:f736
[ 479.491893] saa7134: card=146 -> ASUSTeK P7131 Analog
[ 479.491896] saa7134: card=147 -> Asus Tiger 3in1 1043:4878
[ 479.491899] saa7134: card=148 -> Encore ENLTV-FM v5.3 1a7f:2008
[ 479.491902] saa7134: card=149 -> Avermedia PCI pure analog (M135A) 1461:f11d
[ 479.491906] saa7134: card=150 -> Zogis Real Angel 220
[ 479.491908] saa7134: card=151 -> ADS Tech Instant HDTV 1421:0380
[ 479.491912] saa7134: card=152 -> Asus Tiger Rev:1.00 1043:4857
[ 479.491915] saa7134: card=153 -> Kworld Plus TV Analog Lite PCI 17de:7128
[ 479.491918] saa7134: card=154 -> Avermedia AVerTV GO 007 FM Plus 1461:f31d
[ 479.491921] saa7134: card=155 -> Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid 0070:6706 0070:6708
[ 479.491925] saa7134: card=156 -> Hauppauge WinTV-HVR1120 DVB-T/Hybrid 0070:6707 0070:6709 0070:670a
[ 479.491930] saa7134: card=157 -> Avermedia AVerTV Studio 507UA 1461:a11b
[ 479.491933] saa7134: card=158 -> AVerMedia Cardbus TV/Radio (E501R) 1461:b7e9
[ 479.491936] saa7134: card=159 -> Beholder BeholdTV 505 RDS 0000:505b
[ 479.491939] saa7134: card=160 -> Beholder BeholdTV 507 RDS 0000:5071
[ 479.491943] saa7134: card=161 -> Beholder BeholdTV 507 RDS 0000:507b
[ 479.491946] saa7134: card=162 -> Beholder BeholdTV 607 FM 5ace:6071
[ 479.491949] saa7134: card=163 -> Beholder BeholdTV 609 FM 5ace:6090
[ 479.491953] saa7134: card=164 -> Beholder BeholdTV 609 FM 5ace:6091
[ 479.491956] saa7134: card=165 -> Beholder BeholdTV 607 RDS 5ace:6072
[ 479.491959] saa7134: card=166 -> Beholder BeholdTV 607 RDS 5ace:6073
[ 479.491962] saa7134: card=167 -> Beholder BeholdTV 609 RDS 5ace:6092
[ 479.491966] saa7134: card=168 -> Beholder BeholdTV 609 RDS 5ace:6093
[ 479.491970] saa7130[3]: subsystem: 1131:0000, board: UNKNOWN/GENERIC [card=0,autodetected]
[ 479.491992] saa7130[3]: board init: gpio is 10000
[ 479.491999] IRQ 20/saa7130[3]: IRQF_DISABLED is not guaranteed on shared IRQs
[ 479.600623] saa7130[3]: Huh, no eeprom present (err=-5)?
[ 479.601282] saa7130[3]: registered device video3 [v4l2]
[ 479.601302] saa7130[3]: registered device vbi3
[ 479.605980] saa7134 ALSA driver for DMA sound loaded
[ 479.605984] saa7130[0]/alsa: UNKNOWN/GENERIC doesn't support digital audio
[ 479.605986] saa7130[1]/alsa: UNKNOWN/GENERIC doesn't support digital audio
[ 479.605988] saa7130[2]/alsa: UNKNOWN/GENERIC doesn't support digital audio
[ 479.605990] saa7130[3]/alsa: UNKNOWN/GENERIC doesn't support digital audio


En sintesis, como veran al princio del texto el kernel se desliga de su responsabilidad, lo cual esta bien, diciendonos que el fabricante (Sabrent) ha decidido ahorrar en algunos componentes y no hizo la identificacion del chip EEPROM para facilitarnos la vida.

Si hacemos un $dmesg | grep Sabrent


[ 479.165347] saa7134: card=42 -> Sabrent SBT-TVFM (saa7130)
[ 479.165592] saa7134: card=115 -> Sabrent PCMCIA TV-PCB05 0919:2003
[ 479.271540] saa7134: card=42 -> Sabrent SBT-TVFM (saa7130)
[ 479.271786] saa7134: card=115 -> Sabrent PCMCIA TV-PCB05 0919:2003
[ 479.381543] saa7134: card=42 -> Sabrent SBT-TVFM (saa7130)
[ 479.381789] saa7134: card=115 -> Sabrent PCMCIA TV-PCB05 0919:2003
[ 479.491545] saa7134: card=42 -> Sabrent SBT-TVFM (saa7130)
[ 479.491791] saa7134: card=115 -> Sabrent PCMCIA TV-PCB05 0919:2003

Vemos que salen 2 tarjetas identificadas, la 42 y la 115.

Yo ya la probe es la 115 y en la salida dmesg la marque en rojo para que la vean.

Entonces ahora lo que vamos a hacer es lo siguiente:

quitamos el modulo cargado saa7134

$sudo rmmod saa7134_alsa
$sudo rmmod saa7134

y vamos a crear el siguiente archivo

$ sudo nano /etc/modprobe.d/options

con el siguiente contenido

options saa7134 card=115,115,115,115 gbuffers=16


presionamos ctrl+x y guardamos cambios


ahora volvemos a cargar los modulos saa7134

$ sudo modprobe saa7134


es posible que nos muestre la siguiente advertencia

WARNING: All config files need .conf: /etc/modprobe.d/options, it will be ignored in a future release.

a la cual no le daremos importancia


Listo ahora la placa Sabrent es reconocida por el kernel Linux

veamoslo

$dmesg | grep saa

[ 1332.164486] saa7130[0]/alsa: Sabrent PCMCIA TV-PCB05 doesn't support digital audio
[ 1332.164488] saa7130[1]/alsa: Sabrent PCMCIA TV-PCB05 doesn't support digital audio
[ 1332.164491] saa7130[2]/alsa: Sabrent PCMCIA TV-PCB05 doesn't support digital audio
[ 1332.164493] saa7130[3]/alsa: Sabrent PCMCIA TV-PCB05 doesn't support digital audio


Listo ahora si lo queremos probar podemos hacerlo con tvtime


tvtime --norm=NTSC --device=/dev/video(0,1,2,3)

dependiendo de donde conecten sera 0 1 2 o 3

Espero les sea util, ya que esto no esta en ningun lado en internet