[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: tv-tuner на базе saa7134



On Sat, 20 Nov 2004 21:04:45 +0300
Ruslan N. Gogunsci wrote:

> Hello debian-russian,
> 
> Есть тв-тюнер Behold TV 403 FM на базе saa7134 и есть Debian Sarge
> с ядром 2.6.8-1-k7(из дистрибутива). Пытаюсь их подружить, пока что
> удалось только заставить tvtime находить все каналы и проигрыват
> звук, но видео не показыват( только синий экран, при этом со звуком
> все ок). На сайте производителя тюнера говориться, что они сами не
> пишут драйвера, а используют родные от филипса. Не подскажите на
> основание чего надо выбирать параметры card и tuner? Или придется
> методом научного тыка перебирать все возмолжные комбинации?
> tvtime пробоал как из sarge так и собранный из unstable посредством
> dpkg-packagebuild.
> Текущие насторойки: card=1, tuner=5
У меня Genius какой-то-там на аналогичном чипе. Работает как
LifeView FlyVIDEO3000 (card=2, tuner=5) При этом и card и tuner
ловится автоматом.
...

В свое время, когда пытался завести Pinnacle PCTV Pro (который построен
на bttv и по идее должен был поддерживаться v4l), которая оказалась
новой ревизии и вч-блок был новый (который не поддерживается v4l). Я
написал наколенный скрипт, который перебирал варианты карта+тюнер+pll в
заданном диапазоне. Потом переписал для saa7134. Скрипт во вложении.
IMHO, лучше запускать чистые X-ы с одним xterm'ом и уж в нем запускать
скан. Использует sudo.

#!/bin/bash
# ÓËÒÉÐÔ ÄÌÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÊ ÐÒÏ×ÅÒËÉ ×ÓÅÈ ÔÀÎÅÒÏ× ÎÁ saa7134

#× ÓÌÕÞÁÅ, ÅÓÌÉ ÚÁÈÏÞÅÔØÓÑ ÐÅÒÅÂÉÒÁÔØ bttv ÎÕÖÎÏ ÐÅÒÅÐÉÓÁÔØ ÆÕÎËÃÉÉ rmkmod É inskmod.

#ÎÅÂÏÌØÛÏÊ ËÏÍÍÅÎÔÁÒÉÊ:
#1) ðÅÒÅÂÏÒ ÐÏ ÔÉÐÁÍ tv-ËÁÒÔ ×ÅÄÅÔÓÑ ÐÏ ÓÐÉÓËÕ, ÕËÚÁÎÎÏÍÕ × ÐÅÒÅÍÅÎÎÏÊ CARDLIST
#2) ðÅÒÅÂÏÒ ÐÏ ÔÉÐÁÍ ÷þ-ÂÌÏËÁ ×ÅÄÅÔÓÑ ÏÔ 0 ÄÏ MAXTUNER
#3) ðÅÒÅÂÏÒ ÐÏ ÔÉÐÁÍ PLL ×ÅÄÅÔÓÑ ÐÏ ÐÅÒÅÍÅÎÎÏÊ PLLLIST
#3) äÌÑ ÎÁÄÅÖÎÏÓÔÉ, LOGN ÐÏÓÌÅÄÎÉÈ ÓÔÒÏË ÉÚ ÌÏÇÁ ÚÁÐÏÍÉÎÁÅÔÓÑ.
#4) äÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÐÏÄÏÛÅÌ\ÎÅ ÐÏÄÏÛÅÌ ÉÓÐÏÌØÚÕÅÔÓÑ tvscan 


CARD=0
CARDLIST="0 1 2"
PLLLIST="0 1 2"
TUNER=0
MAXTUNER=42
LOGN=26
TVSCAN=`which tvscan`


rmkmod ()
{
    sudo rmmod saa7134
    sudo rmmod tuner
    sudo rmmod video_buf
    sudo rmmod v4l2_common
    sudo rmmod v4l1_compat
    sudo rmmod videodev
    sudo rmmod ir_common
}

inskmod ()
{
    sudo modprobe saa7134 card=$1 tuner=$2 pll=$3
}

if [ -x $SCANTV ] 
    then
        echo "Start"
    else
        echo "Can't find scantv"
        exit 1
fi
    
for CARD in $CARDLIST  # ÃÉËÌ ÐÏ ÔÉÐÁÍ ËÁÒÔ
do
echo -n "!"
    TUNER=0
    while [ $TUNER -lt $MAXTUNER ] # ÃÉËÌ ÐÏ ÔÀÎÅÒÁÍ
    do
	echo -n ":"
	for PLL in $PLLLIST
	do
	    rmkmod
	    inskmod $CARD $TUNER $PLL 
	    tail -n "$LOGN" /var/log/messages >"$CARD-$TUNER-$PLL.log"
	    $SCANTV -n SECAM -f europe-east - 1>/dev/null 2>"$CARD-$TUNER-$PLL.scan"
	    N=`cat "$CARD-$TUNER-$PLL.scan" | grep -i "channel" | awk '{print $2}'`
	    if [ $N -bg 0 ] 
		then 
		    echo 
		    echo "Catched: card=$CARD, tuner=$TUNER, pll=$PLL matches: $N"
	    fi
	    echo -n "."
	done
    	TUNER=$(($TUNER + 1 ))
    done
echo
done 
echo "Exit"
rmkmod


Reply to: