TV karta, bez zvuku, nedaju sa naladit niektore frekvencie

Dobry den,

potrebujem pomoct so sfunkcnenim TV karty pod Linuxom FC 10 / 64 bit (2.6.27.21-170.2.56.fc10.x86_64)
TV kartu mam zapojenu, pod MS Win / 32 bit, ide v poriadku, daju sa naladit TV stanice (analogove), ide aj zvuk (to iste PC ako Linux).
Pod Linuxom sa mi ale podarilo naladit iba 2 stanice a aj pri nich nehra ziaden zvuk. Okrem TV zvuk pocut.
Skusal som prehravat pod TVTime. V MPlayer-i je moznost zadat priamo frekvenciu (nie len ladit pomocou cisla kanalu) - skusal som mu zadat tie zvysne frekvencie - ale ostala pri nich iba cierna obrazovka (tie 2 idu). Xawtv vobec nenabehol.

mam HW:
zakl. doska ASUS M2A-MX - integrovana zvukovka Realtek ALC662 http://www.asus.com/product.aspx?content=specifications&P_ID=BmaOnPewi1JgltOZ
TV karta Pinnacle PCTV (310i)


lsmod
Module                  Size  Used by
sco                    19204  2 
bridge                 56352  0 
stp                    10756  1 bridge
bnep                   21888  2 
l2cap                  28544  3 bnep
bluetooth              59940  5 sco,bnep,l2cap
sunrpc                191080  3 
ip6t_REJECT            12160  2 
nf_conntrack_ipv6      22984  2 
ip6table_filter        11136  1 
ip6_tables             26128  1 ip6table_filter
ipv6                  287784  24 ip6t_REJECT,nf_conntrack_ipv6
cpufreq_ondemand       15504  1 
powernow_k8            24836  1 
freq_table             12928  2 cpufreq_ondemand,powernow_k8
fuse                   60992  6 
dm_multipath           23704  0 
uinput                 16128  0 
tda1004x               23556  1 
ata_generic            14084  0 
saa7134_dvb            28556  0 
videobuf_dvb           13316  1 saa7134_dvb
dvb_core               84380  2 saa7134_dvb,videobuf_dvb
ppdev                  15752  0 
tda827x                18180  2 
tda8290                18820  1 
tuner                  31820  0 
pata_acpi              13184  0 
saa7134               157404  1 saa7134_dvb
ir_common              45060  1 saa7134
compat_ioctl32         16512  1 saa7134
videodev               40704  3 tuner,saa7134,compat_ioctl32
v4l1_compat            21380  1 videodev
snd_hda_intel         480032  4 
v4l2_common            18560  2 tuner,saa7134
videobuf_dma_sg        19972  2 saa7134_dvb,saa7134
videobuf_core          24836  3 videobuf_dvb,saa7134,videobuf_dma_sg
tveeprom               21508  1 saa7134
snd_seq_dummy          11396  0 
snd_seq_oss            39232  0 
snd_seq_midi_event     14848  1 snd_seq_oss
snd_seq                61968  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device         15380  3 snd_seq_dummy,snd_seq_oss,snd_seq
floppy                 66216  0 
k8temp                 13056  0 
hwmon                  11064  1 k8temp
snd_pcm_oss            52224  0 
snd_mixer_oss          23168  1 snd_pcm_oss
pcspkr                 11008  0 
snd_pcm                85640  2 snd_hda_intel,snd_pcm_oss
i2c_piix4              18448  0 
i2c_core               29216  9 tda1004x,saa7134_dvb,tda827x,tda8290,tuner,saa7134,v4l2_common,tveeprom,i2c_piix4
usb_storage           108576  0 
snd_timer              30352  2 snd_seq,snd_pcm
snd_page_alloc         16656  2 snd_hda_intel,snd_pcm
snd_hwdep              16392  1 snd_hda_intel
pata_atiixp            13824  0 
snd                    68984  18 snd_hda_intel,snd_seq_dummy,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_hwdep
parport_pc             34200  0 
atl1                   40328  0 
soundcore              14992  1 snd
parport                42912  2 ppdev,parport_pc
fglrx                2365832  33 
mii                    13056  1 atl1

skratene …


lspci -v 
01:00.1 Audio device: ATI Technologies Inc RV730XT Audio device [Radeon HD 4670]
	Subsystem: ASUSTeK Computer Inc. Device aa38
	Flags: bus master, fast devsel, latency 0, IRQ 19
	Memory at fe9ec000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: HDA Intel
	Kernel modules: snd-hda-intel

04:0a.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)
	Subsystem: Pinnacle Systems Inc. Device 002f
	Flags: bus master, medium devsel, latency 64, IRQ 23
	Memory at febff800 (32-bit, non-prefetchable) [size=2K]
	Capabilities: <access denied>
	Kernel driver in use: saa7134
	Kernel modules: saa7134


xawtv -hwscan
This is xawtv-3.95, running on Linux/x86_64 (2.6.27.21-170.2.56.fc10.x86_64)
looking for available devices
port 131-134
    type : Xvideo, image scaler
    name : ATI Radeon AVIVO Video

/dev/video0: OK                         [ -device /dev/video0 ]
    type : v4l2
    name : Pinnacle PCTV 310i
    flags: overlay capture tuner

skratene …


dmesg
Linux video capture interface: v2.00
saa7130/34: v4l2 driver version 0.2.14 loaded
saa7134 0000:04:0a.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
saa7133[0]: found at 0000:04:0a.0, rev: 209, irq: 23,Linux video capture interface: v2.00
saa7130/34: v4l2 driver version 0.2.14 loaded
saa7134 0000:04:0a.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
saa7133[0]: found at 0000:04:0a.0, rev: 209, irq: 23, latency: 64, mmio: 0xfebff800
saa7133[0]: subsystem: 11bd:002f, board: Pinnacle PCTV 310i [card=101,autodetected]
saa7133[0]: board init: gpio is 600c000
saa7133[0]: i2c eeprom 00: bd 11 2f 00 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
saa7133[0]: i2c eeprom 10: ff e0 60 06 ff 20 ff ff 00 30 8d 36 91 b4 ff ff
saa7133[0]: i2c eeprom 20: 01 2c 01 23 23 01 04 30 98 ff 00 e7 ff 21 00 c2
saa7133[0]: i2c eeprom 30: 96 10 03 32 15 20 ff 15 0e 6c a3 eb 04 f7 13 5f
saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tuner' 1-004b: chip found @ 0x96 (saa7133[0])
tda829x 1-004b: setting tuner address to 61
tda829x 1-004b: type set to tda8290+75a
ppdev: user-space parallel port driver
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7133[0]: registered device radio0
DVB: registering new adapter (saa7133[0])
DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
tda1004x: setting up plls for 48MHz sampling clock
device-mapper: multipath: version 1.0.5 loaded latency: 64, mmio: 0xfebff800
saa7133[0]: subsystem: 11bd:002f, board: Pinnacle PCTV 310i [card=101,autodetected]
saa7133[0]: board init: gpio is 600c000
saa7133[0]: i2c eeprom 00: bd 11 2f 00 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
saa7133[0]: i2c eeprom 10: ff e0 60 06 ff 20 ff ff 00 30 8d 36 91 b4 ff ff
saa7133[0]: i2c eeprom 20: 01 2c 01 23 23 01 04 30 98 ff 00 e7 ff 21 00 c2
saa7133[0]: i2c eeprom 30: 96 10 03 32 15 20 ff 15 0e 6c a3 eb 04 f7 13 5f
saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tuner' 1-004b: chip found @ 0x96 (saa7133[0])
tda829x 1-004b: setting tuner address to 61
tda829x 1-004b: type set to tda8290+75a
ppdev: user-space parallel port driver
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7133[0]: registered device radio0
DVB: registering new adapter (saa7133[0])
DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
tda1004x: setting up plls for 48MHz sampling clock
device-mapper: multipath: version 1.0.5 loaded


aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC662 Analog [ALC662 Analog]
  Subdevices: 1/1                                               
  Subdevice #0: subdevice #0                                    
card 0: SB [HDA ATI SB], device 1: ALC662 Digital [ALC662 Digital]
  Subdevices: 1/1                                                 
  Subdevice #0: subdevice #0                                      
card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]        
  Subdevices: 1/1                                                 
  Subdevice #0: subdevice #0

este som skusil


modprobe saa7134-alsa

na konci vypisu dmesg pridalo:


saa7134 ALSA driver for DMA sound loaded
saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 23 registered as card -1

Aj tak sa ale zvuk pri TV neobjavil … :frowning:
Nevidim vo vypisoch ziadnu chybu, neviem co este skontrolovat.

Mas vyextrahovany a nainstalovany spravny firmware pro tuto kartu?
http://www.abclinuxu.cz/hardware/pridavne-karty/televizni-karty/dvb-t/pci/pinnacle-pctv-310i

Koukal si do nastaveni TVtime a nastavil si spravne normu?

V TVtime nastavene kanale na Europske, norma PAL, skontrolovane ze nie je aktivne Mute, zvuk pridany na plno.

Firmware:
ten navod som uz cital, ale mne ten postup s firmwerom vela nehovori - get_dvb_firmware prikaz nezabera
tu http://www.linuxtv.org/wiki/index.php/Pinnacle_PCTV_(310i) dany postup tiez spominaju, ale pisu
Firmware if you get:


  DVB: registering frontend 0 (Philips TDA10045H DVB-T)...
  tda1004x: waiting for firmware upload (dvb-fe-tda10045.fw)...
  tda1004x: no firmware upload (timeout or file not found?)
  tda1004x: firmware upload failed

you must run the get_dvb_firmware script in v4l-dvb/linux/Documentation/dvb (from mercurial)


  get_dvb_firmware tda10045
  get_dvb_firmware tda10046

and copy the resulting files to /lib/firmware (need to use the chmod)

neviem kde ten script hladat …

okrem toho v dmesg u mna je aktualne:


tuner' 1-004b: chip found @ 0x96 (saa7133[0])
tda829x 1-004b: setting tuner address to 61
tda829x 1-004b: type set to tda8290+75a
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7133[0]: registered device radio0
[b]saa7133[0]: dsp access error[/b]
DVB: registering new adapter (saa7133[0])
DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
tda1004x: setting up plls for 48MHz sampling clock
[b]tda1004x: found firmware revision 29 -- ok[/b]
device-mapper: multipath: version 1.0.5 loaded
usb-storage: device scan complete

trochu ma zaraza to dsp access error
pri firmware je OK

este som skusil alsa-info, nechcem to tu zahltit vypismi, ale co sa mi zda podozrive:


!!Sound Servers on this system
!!----------------------------
Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - No
aRts:
      Installed - Yes (/usr/bin/artsd)
      Running - No

konkretne pre Mplayer tu http://www.mplayerhq.hu/DOCS/HTML/cs/tv-input.html pisu:
Existuje několik cest, jak zachytávat zvuk. Můžete nahrát zvuk buď pomocí zvukové karty pomocí externího propojení mezi video kartou a linkovým vstupem, nebo použitím vestavěného ADC v čipu bt878. Ve druhém případě musíte načíst ovladač btaudio. Přečtěte si soubor linux/Documentation/sound/btaudio (ve zdrojácích kernelu, nikoli MPlayeru) pro několik instrukcí jak použít tento ovladač.
Pokud MEncoder nedokáže otevřít audio zařízení, ujistěte se, že je opravdu k dispozici. Můžete mít potíže se zvukovými servery jako aRts (KDE) nebo ESD (GNOME). Pokud máte plně duplexní zvukovou kartu (téměř každá slušná karta to již podporuje) a používáte KDE, zkuste zaškrtnout volbu “full duplex” v menu nastavení zvukového serveru.

Takze, ako dosat Pulseaudio, alebo Arts do stavu Running - Yes ?

ked spustim Mplayer, v konzole vypise:


v4l2: current audio mode is : STEREO
Audio: no sound

Nasledovne je v poriadku ?


$ ls -l /dev/dsp
crw-rw----+ 1 root root 14, 3 2009-04-28 21:52 /dev/dsp

tak stal sa zazrak, zvuk uz v TV ide , ale len v Mplayer
pomohla tato stranka: http://lists.zerezo.com/video4linux/msg17820.html
do /etc/modprobe.d/modprobe.conf.dist som na koniec doplnil:


install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && /sbin/modprobe saa7134-alsa

dmesg vyzera teraz takto:


tuner' 1-004b: chip found @ 0x96 (saa7133[0])                                                                                        
tda829x 1-004b: setting tuner address to 61                                                                                          
tda829x 1-004b: type set to tda8290+75a                                                                                              
saa7133[0]: registered device video0 [v4l2]                                                                                          
saa7133[0]: registered device vbi0                                                                                                   
saa7133[0]: registered device radio0                                                                                                 
saa7134 ALSA driver for DMA sound loaded                                                                                             
saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 23 registered as card -1                                                               
DVB: registering new adapter (saa7133[0])                                                                                            
DVB: registering frontend 0 (Philips TDA10046H DVB-T)...                                                                             
tda1004x: setting up plls for 48MHz sampling clock                                                                                   
tda1004x: found firmware revision 29 -- ok

restartol som system (neviem ako uviest do platnosti obsah suboru za chodu systemu)
ak dobre rozumiem, ide o to aby sa modul saa7134-alsa zaviedol bezprostredne po saa7134

Mplayer pise:


Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 32000 Hz, 2 ch, s16le, 1024.0 kbit/100.00% (ratio: 128000->128000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [pulse] 32000Hz 2ch s16le (2 bytes per sample)
Starting playback...

Mplayer spustam nasledovne:


$ mplayer -tv device=/dev/video0:driver=v4l2:immediatemode=0:alsa=1:adevice=hw.2,0:audiorate=32000:amode=1:buffersize=32:chanlist=europe-east tv://

dolezite je to: immediatemode

V TVtime nastavene kanale na Europske, norma PAL,
skontrolovane ze nie je aktivne Mute, zvuk pridany
na plno.

Nejjednodušší varianta je propojit interní výstup TV karty na interní vstup zvukovky. Pak budeš mít zvuk bez problémů na CD vstupu (a bez následujících kroků).

Druhá varianta je hnát zvuk přes PCI. Potřebuješ natáhnout modul alsy, a pak budou fungovat návody na mplayer a další.

saa7134 ALSA driver for DMA sound loaded
saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 23 registered as card -1
Tohle znamená, že se nepodařilo automaticky načíst a nakonfigurovat modul.
Jedna z možností je, že několik zařízení chce používat stejné IRQ. Může pomoci kartu přehodit do jiného slotu (obvykle ji pak lze zase vrátit) nebo pomocí BIOSu nastavit pro tento slot ruční přiřazení IRQ.
Druhá možnost je natvrdo ovladači nastavit index rozhraní. Normálně by to s jednou kartou nemělo být potřeba.
Vytvoř soubor /etc/modprobe.d/saa7134 (jako root, práva 644) a do něj vlož:

options saa7134 alsa=1
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-alsa
options saa7134-alsa index=1

(to alsa=1 je tam jen jako poznámka, aby případný další radil věděl, co to dělá, jinak ta řádka není potřeba)
Pokud se ani takhle modul nenačte správně “registered as card <pozitivní číslo>”, pak jedině vyřešit problém s IRQ.

Firmware:
Je potřeba jen, pokud chceš používat DVB tuner, pro analogovou TV není potřeba, DVB tuner si bez něj neškrtne. Snazší bys to měl u distribucí určených prozatím svobodnějšímu světu, tam je obvykle připravený balíček.

tda1004x: found firmware revision 29 – ok
Tohle ti ohlásí, pokud jsi předtím spouštěl Win, kde se firmware načte z ovladače. Pokud ale po zapnutí počítače spustíš rovnou Fedoru, nebude bez něj DVB fungovat.

Script get_dvb_firmware je v balíčku dokumentace jádra (adresář Documentation/dvb). Jednodušší asi bude stáhnout přímo konkrétní soubory od nějakého obětavého uživatele. Skript je zastaralý a obvykle odkazuje na soubory, které už neexistují. Také je extrahuje z ovladačů pro jiná zařízení a tahle karta s nimi nemusí správně fungovat. Nejjednodušší by bylo firmware extrahovat přímo z ovladačů, které máš ve Win (skript je potřeba upravit a použít lokální soubory).

Myslim celkem vycerpavajici. Skript je v balicku kernel-doc ve zminenem adresari. Aktualnejsi je zrejme na strankach http://linuxtv.org/
Co jsem si vsiml tak normalne je tam fw jen 26 a 27, ty mas evidentne novejsi a to 29 - ten ale bude schovany ve windowsich ovladacich ke karte.