Strona 1 z 1

[+] Tuner na układzie BT878

: 23 kwietnia 2008, 15:59
autor: -charles-
Otóż jak uruchomić tuner na układzie BT878. To jest wynik wpisania polecenia:

Kod: Zaznacz cały

dmesg | grep bt

Kod: Zaznacz cały

bttv: driver version 0.9.16 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
bttv0: Bt878 (rev 17) at 0000:00:0d.0, irq: 201, latency: 32, mmio: 0xef000000
bttv0: using:  *** UNKNOWN/GENERIC ***  [card=0,autodetected]
bttv0: gpio: en=00000000, out=00000000 in=0094ff00 [init]
bttv0: using tuner=-1
bttv0: i2c: checking for MSP34xx @ 0x80... not found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
bttv0: i2c: checking for TDA9887 @ 0x86... not found
bttv0: registered device video0
bttv0: registered device vbi0
bt878: AUDIO driver version 0.0.0 loaded
bt878: Bt878 AUDIO function found (0).
bt878_probe: card id=[0x0],[ <NULL> ] has DVB functions.
bt878(0): Bt878 (rev 17) at 00:0d.1, irq: 201, latency: 32, memory: 0xee800000
Polecenie:

Kod: Zaznacz cały

modprobe bttv card=19 tuner=5
nic nie daje. W Windowsie też miałem problemy z tą kartą, udało mi się ją uruchomić jedynie w moretv gdzie musiałem ręcznie wpisać gpio. Jak zmusić tę kartę do działania w Linuksie?

: 23 kwietnia 2008, 18:26
autor: suncez
Niepokojące jest to "unknown generic", zwykle karta jest zidentyfikowana. mam kartę na takim samym chipie

Kod: Zaznacz cały

bttv: driver version 0.9.16 loaded
bttv: using 4 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ
 11
bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 11, latency: 32, mmio: 0xe2000000
bttv0: using: Jetway TV/Capture JW-TV878-FBK, Kworld KW-TV878RF [card=78,insmod
option]
bttv0: gpio: en=00000000, out=00000000 in=003fffff [init]
bttv0: using tuner=23
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
bttv0: i2c: checking for TDA9887 @ 0x86... not found
tuner 1-0060: All bytes are equal. It is not a TEA5767
tuner 1-0060: chip found @ 0xc0 (bt878 #0 [sw])
tuner 1-0060: type set to 23 (Philips PAL_DK (FI1256 and compatibles))
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: registered device radio0
bttv0: PLL: 28636363 => 35468950 .<6>Floppy drive(s): fd0 is 1.44M
.<6>FDC 0 is a post-1991 82077
 ok
bt878: AUDIO driver version 0.0.0 loaded
bt878: Bt878 AUDIO function found (0).
ACPI: PCI Interrupt 0000:00:09.1[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ
 11
bt878_probe: card id=[0x0],[ <NULL> ] has DVB functions.
bt878(0): Bt878 (rev 17) at 00:09.1, irq: 11, latency: 32, memory: 0xe2001000
Moje pliki konfiguracyjne
/etc/modprobe.d/bttv (utworzyłem go)

Kod: Zaznacz cały

alias video0 bttv
#options bt878 gbuffers=4
options bttv radio=1 card=78 tuner=23 gbuffers=4
/etc/X11/xorg.conf (fragment)

Kod: Zaznacz cały

Section "Module"
	Load	"i2c"
	Load	"bitmap"
	Load	"ddc"
#	Load	"dri"
	Load	"extmod"
	Load	"freetype"
	Load	"glx"
	Load	"int10"
	Load	"vbe"
# poniższa linia jest ważna #########
	Load	"v4l"
EndSection
Załadowane moduły

Kod: Zaznacz cały

[root@aisa/var/log]# lsmod | grep bt
bt878                  10392  0
bttv                  159732  3 lirc_gpio,bt878
video_buf              23012  1 bttv
firmware_class          9600  1 bttv
ir_common              27780  1 bttv
compat_ioctl32          1472  1 bttv
i2c_algo_bit            8424  1 bttv
btcx_risc               4776  1 bttv
tveeprom               13840  1 bttv
i2c_core               19680  6 nvidia,tuner,bttv,i2c_viapro,i2c_algo_bit,tveeprom
videodev               21120  2 bttv
v4l2_common            20448  3 tuner,bttv,videodev
[root@aisa/var/log]# 
Proponuję spróbować moich ustawień, ewentualnie zmieniać potem numer karty i/czy tunera (ja mam kworld i philips), więcej szczegółów o tym który numer odpowiada której karcie i tunerowi w howto dotyczącym chyba bttv - jest ono w dokumentacji systemu a na pewno w sieci. Zwróć tylko uwagę aby dotyczyło kernela 2.6, bo dla 2.4 karty i tunery mają inne numerki.

I jeszcze

Kod: Zaznacz cały

[root@aisa/var/log]# modinfo bttv
filename:       /lib/modules/2.6.18-6-686/kernel/drivers/media/video/bt8xx/bttv.ko
description:    bttv - v4l/v4l2 driver module for bt848/878 based cards
author:         Ralph Metzler & Marcus Metzler & Gerd Knorr
license:        GPL
vermagic:       2.6.18-6-686 SMP mod_unload 686 REGPARM gcc-4.1
depends:        video-buf,i2c-core,ir-common,videodev,tveeprom,v4l2-common,i2c-algo-bit,btcx-risc,firmware_class,compat_ioctl32
alias:          pci:v0000109Ed00000350sv*sd*bc*sc*i*
alias:          pci:v0000109Ed00000351sv*sd*bc*sc*i*
alias:          pci:v0000109Ed0000036Esv*sd*bc*sc*i*
alias:          pci:v0000109Ed0000036Fsv*sd*bc*sc*i*

Kod: Zaznacz cały

[root@aisa/var/log]# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT8753 [P4X266 AGP] (rev 01)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP]
00:09.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
00:09.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)

Kod: Zaznacz cały

[root@aisa/var/log]# [root@aisa/]# lspci -n
00:00.0 0600: 1106:3128 (rev 01)
00:01.0 0604: 1106:b091
00:09.0 0400: 109e:036e (rev 11)
00:09.1 0480: 109e:0878 (rev 11)
Aha, ważne według mnie może być to że karcie przypisane jest, o ile rozumiem, przerwanie 201... Spróbowałbym wyłączyć na próbę APIC (nie mylić z ACPI) czyli zaawansowany kontroler przerwań odpowiedzialny za więcej niz 16 IRQ. Często jest to przyczyną kłopotów z prawidłowym rozpoznaniem i uruchomieniem sprzętu.. Wyłączyć APIC można wygodnie w opcjach startowych GRUB lub LILLO jeśli je akurat używasz, jak to zrobić znajdziesz na pewno w sieci czy na tym forum. Wyłączenie ACPI może okazać się także konieczne, ale po kolei.

Powodzenia :-P

: 23 kwietnia 2008, 20:53
autor: -charles-
Zrobiłem ten skrypt, taki sam, i... jest efekt, tzn. wykrywa kanały, jest obraz, ale brak dźwięku. Właśnie z dźwiękiem miałem największe problemy w Windowsie i mogłem go uzyskać tylko w wymienionym wcześniej moretv. Spróbuje jeszcze z innymi wartościami ,,card'' i ,,tuner'', ale zacznę od tuner, bo o ile dobrze pamiętam to jak w moretv ustawiłem odpowiedni to dźwięk się pojawiał.

Edycja:
No i się udało. Jest obraz i dźwięk przy ustawieniach 56 i 3.
Wielkie podziękowania.

: 23 kwietnia 2008, 22:07
autor: suncez
Cieszę się, że jest postęp. Co do dźwięku może i masz rację, że trzeba popróbować zmienić tuner, według dokumentacji popróbuj może masz innego Philipsa, albo jakiś Temic, ale ... pod Linuksem najczęstszą przyczyną braku dźwięku z kart TV jest złe ustawienie suwaków/przełączników miksera. Zobacz w Kmix czy masz załączony kanał Line (zapalona zielona dioda) i czy nie jest wyciszony. Sprawdzenie w Kmix powinno wystarczyć, może jeszcze przejrzyj opcje w Centrum sterowania KDE dotyczące dźwięku, ja mam tam wybrany min. system ALSA. Polecane jest także użycie, w celu sprawdzenia ustawień, konsolowego miksera alsy, o ile pamiętam to polecenie alsamixer... aktualnie jestem na Windows nie podejrzę.

Hm, pewnie i pod Linuksem można podać wartość GPIO, ale jak dotąd nie spotkałem się z taką koniecznością. Aha, no i program do odtwarzania może być wyciszony lub może mieć wybrany zły kanał miksera. Ja pod xawtv mam Line, chyba, cholera z tym Windowsem nie mam żadnej wtyczki do podglądu ext3.

Dopisane
No właśnie doczytałem poprawkę posta i gratuluję, bardzo fajnie i oby tak dalej.

: 24 kwietnia 2008, 04:14
autor: fnmirk
suncez pisze:Niepokojące jest to "unknown generic", zwykle karta jest zidentyfikowana. mam kartę na takim samym chipie
Przy połączeniu z internetem poniższe polecenie wydane z uprawnieniami root, powinno rozwiązać problem:

Kod: Zaznacz cały

update-pciids
Po aktualizacji bazy o sprzęcie powinno się sprawdzić jeszcze raz rozpoznanie urządzeń.

: 24 kwietnia 2008, 14:04
autor: -charles-
Na razie nic nie będę zmieniał skoro działa jak trzeba.