Portál AbcLinuxu, 26. dubna 2024 14:08

Creatix CTX946

Podpora: částečná
Ovladač: v jádře

Technické parametry

PCI card Analog Multistandard TV, DVB-T, FM radio Hardware MPEG2 encoder Input for Audio-In, Audio-Out (moje ho nema, ale jde to rozjet i pres vnitrni sbernice a navic pujde asi jednoduse dopajet konektor + nejaky smd odpor), S-Video-In and composite Video-In

chipset:
rizeni   SAA7134HL
tuner    FMD1216ME/IH-3
DVB-T    TDA10046
MPEG2    SAA6752HS

Identifikace pod Linuxem

lspci:
00:09.0 Multimedia controller: Philips Semiconductors SAA7134/SAA7135HL Video Broadcast Decoder (rev 01)
hwinfo --pci:
13: PCI 09.0: 11200 TV Card
  [Created at pci.288]
  Unique ID: WL76.hna_5nPumm8
  SysFS ID: /devices/pci0000:00/0000:00:09.0
  SysFS BusID: 0000:00:09.0
  Hardware Class: tv card
  Model: "Creatix Polymedia SAA7134 Video Broadcast Decoder"
  Vendor: pci 0x1131 "Philips Semiconductors"
  Device: pci 0x7134 "SAA7134 Video Broadcast Decoder"
  SubVendor: pci 0x16be "Creatix Polymedia GmbH"
  SubDevice: pci 0x5000
  Revision: 0x01
  Driver: "saa7134"
  Driver Modules: "saa7134"
  Memory Range: 0xd7001000-0xd70013ff (rw,non-prefetchable)
  IRQ: 18 (no events)
  Module Alias: "pci:v00001131d00007134sv000016BEsd00005000bc04sc80i00"
  Driver Info #0:
    Driver Status: saa7134 is active
    Driver Activation Cmd: "modprobe saa7134"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Postup zprovoznění pod Linuxem

1) jadro

Je potreba povolit patricne svaby... Vetsina distribuci bude asi mit vsechny moduly zkompilovane (kontrola v /lib/modules/verze_jadra/drivers). Pokud ne, tak ja mam v 2.6.24 povoleno v device drivers->i2c a dale (zde se nalezaji vsichni vyse zminovani kremikovy zastupci tridy insecta) ../->mutimedia devices->video for linux (zkratka v4l) a DVB for linux. V techto sekcich mam temer vse krom USB variant jako moduly (nejdrive jsem kompiloval pozdeji poridil kartu). Dulezite je zejmena u v4l->video capture adapters->Philips SAA7134 povolit DMA audio (pokud chcete zvuk prez vnitrni sbernice) a DVB/ATSC (pokud chcete i DVB-T; konkretni IO jsou v sekci DVB/ATSC adapters). Dale v ../->Sound->Advanced Linux Sound Architecture(ALSA) mam povolene OSS mixer, sequencer a PCM. To je opet dulezite jen pro zvuk na sbernici... Pro puntickare vytah z lsmod:
vb_pll                 8996  1
saa7134_dvb            10636  0
videobuf_dvb            4484  1 saa7134_dvb
dvb_core               53884  1 videobuf_dvb
tda1004x               11396  2 saa7134_dvb
saa7134               100944  2 saa7134_alsa,saa7134_dvb
firmware_class          6528  3 saa7134_dvb,tda1004x,snd_emu10k1
videobuf_dma_sg         7684  4 saa7134_alsa,saa7134_dvb,videobuf_dvb,saa7134
videobuf_core          10116  3 videobuf_dvb,saa7134,videobuf_dma_sg
saa7134_alsa           10400  1
compat_ioctl32           896  1 saa7134
firmware_class          6528  3 saa7134_dvb,tda1004x,snd_emu10k1
ir_kbd_i2c              6544  1 saa7134
snd_pcm                43908  5 snd_pcm_oss,saa7134_alsa,snd_emu10k1,snd_via82xx,snd_ac97_codec
ir_common              24068  2 saa7134,ir_kbd_i2c
videodev               23168  1 saa7134
v4l1_compat            12036  2 saa7134,videodev
snd                    31364  21 snd_emux_synth,snd_seq_virmidi,snd_seq,snd_pcm_oss,snd_mixer_oss,saa7134_alsa,snd_emu10k1,snd_via82xx,snd_ac97_codec,snd_pcm,snd_mpu401_uart,snd_timer,snd_rawmidi,snd_seq_device,snd_hwdep
tuner                  26784  0
tea5767                 4228  1 tuner
tda8290                 9476  1 tuner
tuner_simple            6536  1 tuner
mt20xx                  9736  1 tuner
tea5761                 3460  1 tuner
v4l2_common            11136  3 tuner,saa7134,videodev
2) insmod

modprobe saa7134 -v card=12 tuner=63 alsa=1 tuner=63 je primo podporovan, s kartou je to horsi:-( Card=12 jsem zvolil podle toho, ze SubVendor polozka je stejna. Vice viz /usr/src/linux/Documentation/video4linux. Zejmena soubory Cardlist.* jsou dulezite. Funguje temer jiste i s jinym parametrem card. Alsa=1 rika, ze se ma zavest modul saa7134_alsa a vyrobit zvukove zarizeni pro prenos zvuku prez vnitrni sbernice (pokud pripojujete kabelem do zvukovky, tak to nebudete potrebovat). Po zavedeni modulu by mely byt v /dev/dvb a /dev/v4l patricna zarizeni. Kontrolu funkcnost lze provest treba pomoci cat /dev/v4l/video0, cat dev/4vl/vbi0 (pokud je to opravdu patricna karta a ne treba kamerka). Mel by se zacit sypat proud (h)ruznych znaku... Je potreba kartu timto zpusobem zavadet i pri startu systemu. V kazde distribuci to asi bude jine, v Gentoo pridejte do /etc/modprobe.d soubor saa7134 s timto obsahem: options saa7134 card=12 tuner=63 alsa=1. Pak update-modules a v /etc/modprobe.conf by mel byt videt vysledek. Zapasici nestastnici at zkusi prepsat primo ten a modli se, aby jim ho jejich distro nepregenerovalo...

3) SW pro sledovani TV

Osvedcene je kdetv pro analog a kaffeine pro digital (uzivatele Gentoo pozor, je treba kompilovat s dvb USE flagem). Kdetv nejprve naladte pomoci kanaly->pruvodce kanaly. Kaffeine spustilo pruvodce samo, jinak je k mani v DVB->kanaly. Neni potreba zadne externi scanovani kanalu, carovani s multiplexy, atd. Pro prenos zvuku pomoci DMA je (pro kdetv) potreba spustit neco jako "sox -c 2 -sw -r 32000 -t ossdsp /dev/dsp1 -t ossdsp /dev/dsp". Tento prikaz kopiruje z mixeru TV karty (dsp1; poradove cislo se muze lisit) audio data do mixeru zvukovky. Sox musi byt kompilovan s podporou OSS. Lze to urcite provest elegantneji prez alsu; rad se necham poucit. Jinak mixery lze ovladat napr. prez alsamixer -c poradove_cislo_karty. Kdetv tedy poustim takto:
sox -c 2 -sw -r 32000 -t ossdsp /dev/dsp1 -t ossdsp /dev/dsp &
soxpid=$!
sleep 0.5
kdetv_
kill $soxpid
Ano, tusite spravne, puvodni /usr/bin/kdetv je prejmenovano na kdetv_ a skript ho nahrazuje. Tvorivosti se opet meze nekladou...

4) Co nefunguje, co jsem netestoval, poznamky

Nezkusil jsem zatim radio. HW komprese MPEG2 mi take nefunguje, bude to chtit laborovat s card=... Rucni zavedeni modulu saa6752hs nezabere:-( Uz se mi 2x take stalo, ze po startu pocitace (predtim byl uplne vypnuty) mi tv nic nezobrazila. Kdyz jsem ho rebootoval (bez vypnuti) tak to normalne fungovalo.

Poznámka

Pro zvidave povahy s dostatkem casu:
#!/bin/sh

i=117
#to je tusim nejvyssi smysluplne cislo karty
while test $i != 0
do
    echo "$i"
    /sbin/rmmod saa7134_dvb
    /sbin/rmmod saa7134_empress
    /sbin/rmmod saa7134
    /sbin/rmmod saa7134_alsa
    #nejprve odstran vsechny moduly 
    /sbin/modprobe saa7134 card=$i tuner=63
    wait 3
    dmesg
    #vypis, co na to jadro
    i=`expr $i - 1`
    dvbscan /usr/share/dvb/dvb-t/cz-Praha
    #zkus nascanovat kanaly, soubor s multiplexy muze byt jiny a jinde... 
    read

Dokument vytvořil: kvetak, 29.4.2008 00:36 | Zobrazeno: 2968×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.