Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Установка, настройка TV-тюнеров, видеокамер, веб-камер, плат видеозахвата, flash(MP3)-плееры

Модератор: Модераторы разделов

KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение KernelPanic »

"Проапгрейдился" вчера до ядра 2.6.30 (ванильное), параметры для сборки оставлял такие же, как и в версии 2.6.29.1.
Однако, стал барахлить ТВ-тюнер. Просматриваю ТВ через tvtime. На 29-м ядре показывал все отлично, а вот после перехода на 30-е либо совсем не показывает каналы, либо упрется в один канал и показывает только его на всех настроенных программах.
Compro PWR TV/FM-tuner на чипсете saa7134.
Я так полагаю, что нашаманили разработчики ядра в модуле video4linux, мож кто знает, в чем может быть дело.

Вывод lsmod для 2.6.29.1:

Код: Выделить всё

Module                  Size  Used by
vboxnetflt             69888  0
vboxdrv                94496  1 vboxnetflt
w83627hf               21156  0
hwmon_vid               2388  1 w83627hf
loop                   12160  0
tuner_simple           12240  1
tuner_types            14004  1 tuner_simple
snd_intel8x0           26160  2
snd_ac97_codec         90392  1 snd_intel8x0
tea5767                 5752  1
ac97_bus                1460  1 snd_ac97_codec
snd_pcm_oss            31104  0
tuner                  21060  0
snd_mixer_oss          12116  1 snd_pcm_oss
nvidia               7219556  36
saa7134               133704  0
snd_pcm                57656  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
ir_common              45016  1 saa7134
nvidiafb               38100  0
snd_timer              17276  1 snd_pcm
v4l2_common            16948  2 tuner,saa7134
fb_ddc                  1812  1 nvidiafb
i2c_algo_bit            4952  1 nvidiafb
i2c_i801                8004  0
snd                    47396  10 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
videodev               34624  3 tuner,saa7134,v4l2_common
v4l1_compat            11448  1 videodev
videobuf_dma_sg        11000  1 saa7134
videobuf_core          15832  2 saa7134,videobuf_dma_sg
tveeprom               10744  1 saa7134
vgastate                7668  1 nvidiafb
soundcore               6272  1 snd
snd_page_alloc          7900  2 snd_intel8x0,snd_pcm
rng_core                3768  0
i2c_core               20808  11 tuner_simple,tea5767,tuner,nvidia,saa7134,nvidiafb,v4l2_common,fb_ddc,i2c_algo_b
it,i2c_i801,tveeprom
rtc_cmos                9036  0
rtc_core               14384  1 rtc_cmos
rtc_lib                 2580  1 rtc_core
psmouse                36868  0
button                  5796  0
evdev                   8160  12
ext3                   99932  3
jbd                    39944  1 ext3
mbcache                 6712  1 ext3
ide_cd_mod             25756  0
cdrom                  30016  1 ide_cd_mod
ide_gd_mod             13112  5
ata_generic             4408  0
usbhid                 29504  0
hid                    35360  1 usbhid
ata_piix               21528  0
libata                148556  2 ata_generic,ata_piix
scsi_mod              135124  1 libata
ide_pci_generic         3480  0
firewire_ohci          19768  0
firewire_core          33088  1 firewire_ohci
crc_itu_t               1812  1 firewire_core
uhci_hcd               18596  0
piix                    5724  4
ide_core               90444  4 ide_cd_mod,ide_gd_mod,ide_pci_generic,piix
ehci_hcd               29472  0
intel_agp              23324  1
e1000                 102712  0
agpgart                30536  2 nvidia,intel_agp
thermal                15312  0
processor              32980  1 thermal
fan                     3156  0

Вывод lsmod для 2.6.30:

Код: Выделить всё

Module                  Size  Used by
vboxnetflt             70136  0
vboxdrv                94592  1 vboxnetflt
w83627hf               21076  0
hwmon_vid               2356  1 w83627hf
loop                   13224  0
tea5767                 5848  1
tuner                  19040  1
snd_intel8x0           26584  2
snd_ac97_codec         91548  1 snd_intel8x0
ac97_bus                1392  1 snd_ac97_codec
snd_pcm_oss            30688  0
snd_mixer_oss          13768  1 snd_pcm_oss
saa7134               135968  0
ir_common              47164  1 saa7134
snd_pcm                57984  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
v4l2_common            14172  2 tuner,saa7134
snd_timer              17816  1 snd_pcm
videodev               31876  3 tuner,saa7134,v4l2_common
v4l1_compat            12120  1 videodev
videobuf_dma_sg        11172  1 saa7134
videobuf_core          15996  2 saa7134,videobuf_dma_sg
tveeprom               10652  1 saa7134
nvidia               7220484  36
snd                    49336  10 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore               6392  1 snd
snd_page_alloc          8044  2 snd_intel8x0,snd_pcm
i2c_i801                7600  0
rng_core                3604  0
psmouse                36892  0
rtc_cmos                8996  0
rtc_core               14404  1 rtc_cmos
rtc_lib                 2528  1 rtc_core
button                  5084  0
processor              27504  0
evdev                   8284  12
ext3                  100296  3
jbd                    42956  1 ext3
mbcache                 6900  1 ext3
usbhid                 32380  0
hid                    36236  1 usbhid
ide_gd_mod             13640  5
ide_cd_mod             24340  0
cdrom                  30588  1 ide_cd_mod
ata_generic             4268  0
ata_piix               21932  0
libata                150784  2 ata_generic,ata_piix
scsi_mod              135068  1 libata
piix                    5624  4
intel_agp              22856  1
nvidiafb               38028  0
e1000                 102568  0
firewire_ohci          19880  0
firewire_core          37488  1 firewire_ohci
crc_itu_t               1744  1 firewire_core
ide_pci_generic         3552  0
fb_ddc                  1924  1 nvidiafb
i2c_algo_bit            4876  1 nvidiafb
vgastate                7700  1 nvidiafb
i2c_core               20988  10 tea5767,tuner,saa7134,v4l2_common,tveeprom,nvidia,i2c_i801,nvidiafb,fb_ddc,i2c_a
lgo_bit
uhci_hcd               18896  0
ehci_hcd               29908  0
ide_core               86888  4 ide_gd_mod,ide_cd_mod,piix,ide_pci_generic
agpgart                31352  2 nvidia,intel_agp
thermal                12576  0
fan                     3012  0
Спасибо сказали:
Аватара пользователя
Олег777
Сообщения: 238
Статус: зануда
ОС: Чё?

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Олег777 »

Я сразу не знаю как там с 29 ядра на 30, но с 28 на 29 v4l был пропатчен. Я смотрю телик пользуя mplayer ранее я передовал ему параметр normid=10, что означало секам-дк, в 29 ядре секам-дк стал номер 13, а под 10 идет секам-б и звука нет, естественно. Я раньше думал, что эти параметны дело мплеера, но как оказалось нет. параметров самим модулям карты касательно стандарта я не передаю.
Спички - детям!
Спасибо сказали:
KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение KernelPanic »

В tvtime это все настраивается, да и было у меня ядро 28-е, там тоже всё было тип-топ.
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

У меня также появилась аналогичная проблема на этом ядре.
Тот же чипсет, но карта RoverMedia Tv Link Pro (LifeView FlyVIDEO3000).

В поисках решения...
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение rm_ »

У меня AverMedia 305, saa7134, tvtime - на 2.6.30 всё работает.
Спасибо сказали:
Аватара пользователя
Encore
Сообщения: 656
Статус: loading..............
ОС: Debian

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Encore »

Всем доброго. Присоединяюсь:
Тюнер - LifeView FlyVIDEO3000.
Проблемы с 2.6.30.1 (в 2.6.26.1 стандартном Lenny работает).

Код: Выделить всё

lspci |grep -i saa
01:08.0 Multimedia controller: Philips Semiconductors SAA7134/SAA7135HL Video Broadcast Decoder (rev 01)

dmesg |grep -i saa
2.6.26.1

Код: Выделить всё

[    7.710186] saa7130/34: v4l2 driver version 0.2.14 loaded
[    9.603556] saa7134[0]: found at 0000:01:08.0, rev: 1, irq: 16, latency: 32, mmio: 0xf0000000
[    9.603613] saa7134[0]: subsystem: 5168:0138, board: LifeView FlyVIDEO3000 [card=2,insmod option]
[    9.603678] saa7134[0]: board init: gpio is 3b000
[    9.603717] saa7134[0]: there are different flyvideo cards with different tuners
[    9.603719] saa7134[0]: out there, you might have to use the tuner=<nr> insmod
[    9.603720] saa7134[0]: option to override the default value.
[    9.603938] input: saa7134 IR (LifeView FlyVIDEO30 as /class/input/input5
[    9.780008] saa7134[0]: i2c eeprom 00: 68 51 38 01 10 28 ff ff ff ff ff ff ff ff ff ff
[    9.780444] saa7134[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.780874] saa7134[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.781302] saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.781730] saa7134[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.782173] saa7134[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.782601] saa7134[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.783029] saa7134[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.783456] saa7134[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.783885] saa7134[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.784320] saa7134[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.784748] saa7134[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.785176] saa7134[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.785604] saa7134[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.786032] saa7134[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.786460] saa7134[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   10.008111] tuner' 2-0043: chip found @ 0x86 (saa7134[0])
[   10.096014] tuner' 2-0061: chip found @ 0xc2 (saa7134[0])
[   10.272126] saa7134[0]: registered device video0 [v4l2]
[   10.272191] saa7134[0]: registered device vbi0
[   10.272255] saa7134[0]: registered device radio0
[   10.409825] saa7134 ALSA driver for DMA sound loaded
[   10.409909] saa7134[0]/alsa: saa7134[0] at 0xf0000000 irq 16 registered as card 1


2.6.30.1

Код: Выделить всё

[    6.685993] saa7130/34: v4l2 driver version 0.2.15 loaded
[    6.765484] saa7134 0000:01:08.0: PCI INT A -> Link[APC1] -> GSI 16 (level, low) -> IRQ 16
[    6.765540] saa7134[0]: found at 0000:01:08.0, rev: 1, irq: 16, latency: 32, mmio: 0xf0000000
[    6.765598] saa7134[0]: subsystem: 5168:0138, board: LifeView FlyVIDEO3000 [card=2,insmod option]
[    6.765675] saa7134[0]: board init: gpio is 3b000
[    6.765714] saa7134[0]: there are different flyvideo cards with different tuners
[    6.765716] saa7134[0]: out there, you might have to use the tuner=<nr> insmod
[    6.765717] saa7134[0]: option to override the default value.
[    6.765968] input: saa7134 IR (LifeView FlyVIDEO30 as /devices/pci0000:00/0000:00:09.0/0000:01:08.0/input/input3
[    6.766035] IRQ 16/saa7134[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    6.904010] saa7134[0]: i2c eeprom 00: 68 51 38 01 10 28 ff ff ff ff ff ff ff ff ff ff
[    6.904448] saa7134[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.904879] saa7134[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.905312] saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.905742] saa7134[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.906174] saa7134[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.906604] saa7134[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.907036] saa7134[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.907466] saa7134[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.907895] saa7134[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.908328] saa7134[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.908757] saa7134[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.909190] saa7134[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.909619] saa7134[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.910051] saa7134[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    6.910481] saa7134[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    9.266072] tuner 2-0043: chip found @ 0x86 (saa7134[0])
[    9.341242] saa7134[0]: registered device video0 [v4l2]
[    9.341312] saa7134[0]: registered device vbi0
[    9.341381] saa7134[0]: registered device radio0
[    9.499384] saa7134 ALSA driver for DMA sound loaded
[    9.499444] IRQ 16/saa7134[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    9.499519] saa7134[0]/alsa: saa7134[0] at 0xf0000000 irq 16 registered as card 1


В kdetv вообще нет видеоустройств, tvtime молчит, не показывает ни одного канала, radio тоже не работает. Под рутом показывает только один канал.
Посмотрел diff-ом
drivers/media/video/v4l2-common.c из 2.6.26.1 и 2.6.30.1, мало чего понял, но отличия явно есть :)

Пока есть мысль подсунуть исходники v4l2 из 2.6.26 в 2.6.30 и пересобрать модуль.
Спасибо сказали:
Аватара пользователя
Encore
Сообщения: 656
Статус: loading..............
ОС: Debian

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Encore »

Пересобрать модуль что-то у меня не получилось :(
Пробовал тупо менять исходники drivers/media/video/saa7134 (из 2.6.26.1 и 2.6.29.1), при компиляции ошибки, модуль не собирается.
Что заметил - в 2.6.30.1 tvtime показывает один канал (по всем каналам), при чем тот, который я смотрел последним в 2.6.26.1. Замена текущего канала в конфиге tvtime.xml в 2.6.30 без перезагрузки не катит.
У кого-нибудь есть продвижения?
Спасибо сказали:
Аватара пользователя
komcumir
Сообщения: 273
ОС: Alt 5.0

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение komcumir »

вчера обновился на 30 все работает может вы обновились а новые модули для ядра не грузанулись?
Спасибо сказали:
Аватара пользователя
Encore
Сообщения: 656
Статус: loading..............
ОС: Debian

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Encore »

komcumir , ядро ванильное, самосборное.
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Poor Fred »

KernelPanic писал(а):
16.06.2009 19:03
"Проапгрейдился" вчера до ядра 2.6.30 (ванильное), параметры для сборки оставлял такие же, как и в версии 2.6.29.1.
Однако, стал барахлить ТВ-тюнер. Просматриваю ТВ через tvtime.

Аналогично. Я расстроен.

;)
Убить всех человеков!
Спасибо сказали:
Oceans
Сообщения: 1
ОС: Gentoo

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Oceans »

Столкнулся с аналогичной проблемой. Ядро 2.6.30-gentoo-r4

Проблема в том, что ALSA (использую ядреную версию) подгружает модуль saa7134_alsa, который в свою очеред подгружает saa7134.

Из-за этого у меня перестает работать тюнер, так как модуль я подргужал до версии 2.6.30 комадной из скрипта:

Код: Выделить всё

modprobe tuner secam=d
modprobe saa7134 card=3 tuner=51


Числа для card и tuner были подобраны эмпирическим путем.

Есть подозрение, что тут в тюнере (всмысле в модуле тюнера) собака зарылась... Сигнал на переключение каналов толи не доходит, толи неправильно обрабатывается...

Попробовал поиграть с цифрами tuner=xx, эффекта нет!
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

Похоже на нашу проблему(regression : saa7134 with Pinnacle PCTV 50i (analog) can not tune anymore):
http://www.mail-archive.com/linux-media@vg...g/msg07309.html
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

Написал баг-репорт в подписку linux-media. Теперь остается только ждать.
Перед написанием собрал версию из hg, но с тем же успехом.
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

Надоело ждать. Решил проблему. Во всяком случае у себя.

Во-первых, прописал в "/etc/modprobe.d/modprobe.conf"(обязательный шаг для всех карт):
alias char-major-81 videodev
alias char-major-81-0 saa7134

После этого теоритически должна заработать оригинальная карта LifeView FlyVideo 3000FM.
Если не работает автоопределение, то есстественно в этом же файле прописываем и карту.

Для своей же несчастной карты (RoverMedia Tv Link Pro) я написал патч для поддержки(для версии из hg).
Он прикреплен к посту.
После пропатчивания просто прописал новую карту как options saa7134 card=170 secam=dk в "/etc/modprobe.d/modprobe.conf" и все заработало.

Всем удачной борьбы! ;)

rovermedia.patch.tar.gz
(775 байт) 24 скачивания
Спасибо сказали:
KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение KernelPanic »

Это патч для какой версии ядра, можете уточнить?
И где брали необходимые для пропатчивания параметры? Тоже так хочу :)
Спасибо сказали:
KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение KernelPanic »

И, кстати, не могли бы Вы использовать команду diff -urN, а то отыскать место внесения патча, не имея в точности Ваших исходников ядра, будет очень проблематично?
Заранее спасибо :)
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

Это патч для какой версии ядра, можете уточнить?

Патч предназначен для версии из этого официального Mercurial.
Ядро пересобирать не надо. Пересобираются только модули.
Сборка проводится по этой инструкции.
Она довольно проста. Если что-то будет не понятно, то объясню.

Версия ядра должна быть от 2.6.19 и выше. Я собирал на kernel26 2.6.30.5.
И где брали необходимые для пропатчивания параметры? Тоже так хочу :)

Параметры я брал прямо из исходников. Завтра напишу подробно на примере своего тюнера.
И, кстати, не могли бы Вы использовать команду diff -urN, а то отыскать место внесения патча, не имея в точности Ваших исходников ядра, будет очень проблематично?

Прикрепляю. ;)
rovermedia_1.patch.tar.gz
(1.21 КБ) 23 скачивания
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

На примере моего тюнера.
У меня это card=2 и tuner=63.

Работать будем в папке "v4l-dvb/linux/drivers/media/video/saa7134".
  • Открываем файл "saa7134.h". В нем требуется прописать объявление новой карты.
    В нем видим строки:

    Код: Выделить всё

    ...
    #define SAA7134_BOARD_BEHOLD_609FM_MK3      163
    #define SAA7134_BOARD_BEHOLD_609FM_MK5      164
    #define SAA7134_BOARD_BEHOLD_607RDS_MK3     165
    #define SAA7134_BOARD_BEHOLD_607RDS_MK5     166
    #define SAA7134_BOARD_BEHOLD_609RDS_MK3     167
    #define SAA7134_BOARD_BEHOLD_609RDS_MK5     168
    #define SAA7134_BOARD_VIDEOMATE_S350        169
    ...

    Видим, что последний номер - 169. Значит новая будет 170.
    Дописываем новую карту в конец:

    Код: Выделить всё

    ...
    #define SAA7134_BOARD_BEHOLD_609FM_MK3      163
    #define SAA7134_BOARD_BEHOLD_609FM_MK5      164
    #define SAA7134_BOARD_BEHOLD_607RDS_MK3     165
    #define SAA7134_BOARD_BEHOLD_607RDS_MK5     166
    #define SAA7134_BOARD_BEHOLD_609RDS_MK3     167
    #define SAA7134_BOARD_BEHOLD_609RDS_MK5     168
    #define SAA7134_BOARD_VIDEOMATE_S350        169
    #define SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM 170
    ...

    Сохраняем файл.
  • Открываем файл "saa7134-cards.c". Для начала требуется добавить карту.
    У нас card=2. Поэтому ищем SAA7134_BOARD_FLYVIDEO3000:

    Код: Выделить всё

        [SAA7134_BOARD_FLYVIDEO3000] = {
            /* "Marco d'Itri" <md@Linux.IT> */
            .name        = "LifeView FlyVIDEO3000",
            .audio_clock    = 0x00200000,
            .tuner_type    = TUNER_PHILIPS_PAL,
            .radio_type     = UNSET,
            .tuner_addr    = ADDR_UNSET,
            .radio_addr    = ADDR_UNSET,
    
            .gpiomask       = 0xe000,
            .inputs         = {{
                .name = name_tv,
                .vmux = 1,
                .amux = TV,
                .gpio = 0x8000,
                .tv   = 1,
            },{
                .name = name_tv_mono,
                .vmux = 1,
                .amux = LINE2,
                .gpio = 0x0000,
                .tv   = 1,
            },{
                .name = name_comp1,
                .vmux = 0,
                .amux = LINE2,
                .gpio = 0x4000,
            },{
                .name = name_comp2,
                .vmux = 3,
                .amux = LINE2,
                .gpio = 0x4000,
            },{
                .name = name_svideo,
                .vmux = 8,
                .amux = LINE2,
                .gpio = 0x4000,
            }},
            .radio = {
                .name = name_radio,
                .amux = LINE2,
                .gpio = 0x2000,
            },
            .mute = {
                .name = name_mute,
                .amux = TV,
                .gpio = 0x8000,
            },
        },

    Вот такая структура описывает карту. В нашей новой карте все будет аналогично. Изменится лишь только имя карты ("LifeView FlyVIDEO3000") и тип тюнера ("TUNER_PHILIPS_PAL"), а также "[SAA7134_BOARD_FLYVIDEO3000]".
    Новый тип тюнера можно найти в "v4l-dvb/linux/include/media/tuner.h". Ищем 63 тюнер:

    Код: Выделить всё

    #define TUNER_PHILIPS_FMD1216ME_MK3    63

    Возвращаемся к нашему файлу.
    Находим:

    Код: Выделить всё

            [SAA7134_BOARD_VIDEOMATE_S350] = {
            /* Jan D. Louw <jd.louw@mweb.co.za */
            .name        = "Compro VideoMate S350/S300",
            .audio_clock    = 0x00187de7,
            .tuner_type    = TUNER_ABSENT,
            .radio_type    = UNSET,
            .tuner_addr    = ADDR_UNSET,
            .radio_addr    = ADDR_UNSET,
            .mpeg        = SAA7134_MPEG_DVB,
            .inputs = { {
                .name    = name_comp1,
                .vmux    = 0,
                .amux    = LINE1,
            }, {
                .name    = name_svideo,
                .vmux    = 8, /* Not tested */
                .amux    = LINE1
            } },
        },
    };


    Прописываем тюнер:

    Код: Выделить всё

        [SAA7134_BOARD_VIDEOMATE_S350] = {
            /* Jan D. Louw <jd.louw@mweb.co.za */
            .name        = "Compro VideoMate S350/S300",
            .audio_clock    = 0x00187de7,
            .tuner_type    = TUNER_ABSENT,
            .radio_type    = UNSET,
            .tuner_addr    = ADDR_UNSET,
            .radio_addr    = ADDR_UNSET,
            .mpeg        = SAA7134_MPEG_DVB,
            .inputs = { {
                .name    = name_comp1,
                .vmux    = 0,
                .amux    = LINE1,
            }, {
                .name    = name_svideo,
                .vmux    = 8, /* Not tested */
                .amux    = LINE1
            } },
        },
    
        [SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM] = {
            /* "Marco d'Itri" <md@Linux.IT> */
            .name        = "RoverMedia Tv Link Pro",
            .audio_clock    = 0x00200000,
            .tuner_type    = TUNER_PHILIPS_FMD1216ME_MK3,
            .radio_type     = UNSET,
            .tuner_addr    = ADDR_UNSET,
            .radio_addr    = ADDR_UNSET,
    
            .gpiomask       = 0xe000,
            .inputs         = {{
                .name = name_tv,
                .vmux = 1,
                .amux = TV,
                .gpio = 0x8000,
                .tv   = 1,
            },{
                .name = name_tv_mono,
                .vmux = 1,
                .amux = LINE2,
                .gpio = 0x0000,
                .tv   = 1,
            },{
                .name = name_comp1,
                .vmux = 0,
                .amux = LINE2,
                .gpio = 0x4000,
            },{
                .name = name_comp2,
                .vmux = 3,
                .amux = LINE2,
                .gpio = 0x4000,
            },{
                .name = name_svideo,
                .vmux = 8,
                .amux = LINE2,
                .gpio = 0x4000,
            }},
            .radio = {
                .name = name_radio,
                .amux = LINE2,
                .gpio = 0x2000,
            },
            .mute = {
                .name = name_mute,
                .amux = TV,
                .gpio = 0x8000,
            },
        },
    };
  • Продолжаем работу с "saa7134-cards.c". Теперь добавим производителя.
    Находим производителя card=2:

    Код: Выделить всё

            .vendor       = PCI_VENDOR_ID_PHILIPS,
            .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
            .subvendor    = 0x5168,
            .subdevice    = 0x0138,
            .driver_data  = SAA7134_BOARD_FLYVIDEO3000,


    .subvendor и .subdevice берутся из dmesg.
    .driver_data будет SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM.

    dmesg:

    Код: Выделить всё

    saa7134[0]: subsystem: 19d1:0138

    Первое шестнадцатеричное число здесь - subvendor, а второе - subdevice.
    Находим:

    Код: Выделить всё

        },{
            .vendor       = PCI_VENDOR_ID_PHILIPS,
            .device       = PCI_DEVICE_ID_PHILIPS_SAA7135,
            .subvendor    = PCI_ANY_ID,
            .subdevice    = PCI_ANY_ID,
            .driver_data  = SAA7134_BOARD_UNKNOWN,
        },{
            /* --- end of list --- */
        }


    Добавляем:

    Код: Выделить всё

        },{
            .vendor       = PCI_VENDOR_ID_PHILIPS,
            .device       = PCI_DEVICE_ID_PHILIPS_SAA7135,
            .subvendor    = PCI_ANY_ID,
            .subdevice    = PCI_ANY_ID,
            .driver_data  = SAA7134_BOARD_UNKNOWN,
        },{
            .vendor       = PCI_VENDOR_ID_PHILIPS,
            .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
            .subvendor    = 0x19d1,
            .subdevice    = 0x0138,
            .driver_data  = SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM,
     }.{
            /* --- end of list --- */
        }
  • Добавляем поддержку пульта в том же файле.
    Находим:

    Код: Выделить всё

        case SAA7134_BOARD_FLYVIDEO2000:
        case SAA7134_BOARD_FLYVIDEO3000:
        case SAA7134_BOARD_FLYVIDEO3000_NTSC:
            dev->has_remote = SAA7134_REMOTE_GPIO;
            board_flyvideo(dev);
            break;

    Изменяем:

    Код: Выделить всё

        case SAA7134_BOARD_FLYVIDEO2000:
        case SAA7134_BOARD_FLYVIDEO3000:
        case SAA7134_BOARD_FLYVIDEO3000_NTSC:
        case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
            dev->has_remote = SAA7134_REMOTE_GPIO;
            board_flyvideo(dev);
            break;

    Сохраняем.

    Открываем файл "saa7134-input.c".
    Находим:

    Код: Выделить всё

        switch (dev->board) {
        case SAA7134_BOARD_FLYVIDEO2000:
        case SAA7134_BOARD_FLYVIDEO3000:
        case SAA7134_BOARD_FLYTVPLATINUM_FM:
        case SAA7134_BOARD_FLYTVPLATINUM_MINI2:
            ir_codes     = ir_codes_flyvideo;
            mask_keycode = 0xEC00000;
            mask_keydown = 0x0040000;
            break;

    Изменяем:

    Код: Выделить всё

        switch (dev->board) {
        case SAA7134_BOARD_FLYVIDEO2000:
        case SAA7134_BOARD_FLYVIDEO3000:
        case SAA7134_BOARD_FLYTVPLATINUM_FM:
        case SAA7134_BOARD_FLYTVPLATINUM_MINI2:
        case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
            ir_codes     = ir_codes_flyvideo;
            mask_keycode = 0xEC00000;
            mask_keydown = 0x0040000;
            break;

    Сохраняем.


Вроде как все.
Будут вопросы - пишите.
Спасибо сказали:
KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение KernelPanic »

Спасибо большое за объяснения, попробовать смогу только на выходных. О результатах отпишу :)
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

Все. Нашел способ решения.
Вот патч:
http://www.spinics.net/lists/linux-media/msg09325.html
Патч предначен для LifeView FlyVideo 3000 и всех клонов. После применения параметр tuner обрабатывается.
Патч для версии из Mercural.

Только не забывайте:
Во-первых, прописал в "/etc/modprobe.d/modprobe.conf"(обязательный шаг для всех карт):
alias char-major-81 videodev
alias char-major-81-0 saa7134


Это это скорее лишь workaround для плат, имеющих tda9887.
Спасибо сказали:
Аватара пользователя
mvt
Сообщения: 734

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение mvt »

rm_ писал(а):
18.06.2009 22:46
У меня AverMedia 305, saa7134, tvtime - на 2.6.30 всё работает.

У меня тоже 305 studio. tvtime показывает все в плохом качестве, звук на некоторых каналах(!) отсутствует, радио находит всего 5-6 станций (было 40).
Подскажите пожалуйста, что прописывали в modprobe.conf?
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

mvt, поддержка этой карточки добавлена в апстрим v4l-dvb на днях.
Советую собрать по этой инструкции. Автоопределение после этого тоже будет работать.

[offtop]Моя карта(RoverMedia TV Link Pro) тоже добавлена.[offtop]
Спасибо сказали:
Аватара пользователя
mvt
Сообщения: 734

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение mvt »

Infy писал(а):
31.08.2009 12:31
mvt, поддержка этой карточки добавлена в апстрим v4l-dvb на днях.
Советую собрать по этой инструкции. Автоопределение после этого тоже будет работать.

[offtop]Моя карта(RoverMedia TV Link Pro) тоже добавлена.[offtop]

Спасибо, буду пробовать
Спасибо сказали:
KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение KernelPanic »

Infy, похоже, у нас с Вами разные проблемы. Ваша карточка была изначально не прописана, поэтому Вы просто добавили необходимый код для нее, взяв всю инфу от аналога (ну плюс вывод dmesg немного).
Моя карточка изначально там есть, [SAA7134_BOARD_VIDEOMATE_TV_PVR], и была раньше. Перестала работать именно при переходе на 30-е ядро, на ядрах до 30-го все работало.
Как я понял из этой ссылки, у меня tuner=41 или 17, пробовал с обоими, результат тот же.

Посмотрел исходники на linuxtv.org, сравнил с исходниками из 29-го ядра, для моей карты изменений никаких. На всякий случай попробовал собрать по приведенной Вами ссылке на инструкцию. Все нормально прошло, установил, перезагрузил комп, изменений нет (алиасы в modprobe.conf прописал).
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

Моя карта работала до 30-го ядра просто с помощью параметров card=2 tuner=63. После 30-го она проста перестала реагировать на параметр tuner. Ошибка не в описании карты. В каком-то другом файле внесли ошибочное изменение, которое не позволяет сменить тюнер. Возможно это как-то связано с наличием/отсутствием tda9887. Его наличие можно определить, прописав options saa7134 i2c_scan=1. Если он есть, то в dmesg появится строка saa7134[0]: i2c scan: found device @ 0x86 [tda9887].

Попробуйте исправить "saa7134-cards.c":

Код: Выделить всё

    [SAA7134_BOARD_VIDEOMATE_TV_PVR] = {
        /* Alain St-Denis <alain@topaze.homeip.net> */
        .name           = "Compro VideoMate TV PVR/FM",
        .audio_clock    = 0x00187de7,
        .tuner_type     = TUNER_PHILIPS_NTSC_M,
        .radio_type     = UNSET,
        .tuner_addr    = ADDR_UNSET,
        .radio_addr    = ADDR_UNSET,
        .gpiomask    = 0x808c0080,
        .inputs         = {{
            .name = name_svideo,
            .vmux = 8,
            .amux = LINE1,
            .gpio = 0x00080,
        },{
            .name = name_comp1,
            .vmux = 3,
            .amux = LINE1,
            .gpio = 0x00080,
        },{
            .name = name_tv,
            .vmux = 1,
            .amux = LINE2_LEFT,
            .tv   = 1,
            .gpio = 0x00080,
        }},
        .radio = {
            .name = name_radio,
            .amux = LINE2,
            .gpio = 0x80000,
        },
        .mute = {
            .name = name_mute,
            .amux = LINE2,
            .gpio = 0x40000,
        },
    },


На:

Код: Выделить всё

[SAA7134_BOARD_VIDEOMATE_TV_PVR] = {
        /* Alain St-Denis <alain@topaze.homeip.net> */
        .name           = "Compro VideoMate TV PVR/FM",
        .audio_clock    = 0x00187de7,
        .tuner_type     = TUNER_PHILIPS_NTSC_M,
        .radio_type     = UNSET,
        .tuner_addr    = ADDR_UNSET,
        .radio_addr    = ADDR_UNSET,
        .tda9887_conf   = TDA9887_PRESENT,
        .gpiomask    = 0x808c0080,
        .inputs         = {{
            .name = name_svideo,
            .vmux = 8,
            .amux = LINE1,
            .gpio = 0x00080,
        },{
            .name = name_comp1,
            .vmux = 3,
            .amux = LINE1,
            .gpio = 0x00080,
        },{
            .name = name_tv,
            .vmux = 1,
            .amux = LINE2_LEFT,
            .tv   = 1,
            .gpio = 0x00080,
        }},
        .radio = {
            .name = name_radio,
            .amux = LINE2,
            .gpio = 0x80000,
        },
        .mute = {
            .name = name_mute,
            .amux = LINE2,
            .gpio = 0x40000,
        },
    },


Возможно, что она "оживет" и позволит изменить тюнер.

PS: Самый простой способ определить тюнер - это аккуратно поддеть наклейку на карте и посмотреть под ней название и найти аналогичное в файле "tveeprom.c".
Спасибо сказали:
KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение KernelPanic »

Нет, данной м/с у меня не видать. Кстати, заметил интересный косячок.
Для 29-го ядра dmesg:

Код: Выделить всё

[    8.213076] saa7130/34: v4l2 driver version 0.2.14 loaded
[    8.213138] saa7134 0000:03:00.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[    8.213146] saa7130[0]: found at 0000:03:00.0, rev: 1, irq: 21, latency: 32, mmio: 0xf8200000
[    8.213154] saa7130[0]: subsystem: 185b:c100, board: Compro VideoMate TV PVR/FM [card=40,autodetected]
[    8.213211] saa7130[0]: board init: gpio is cc0000
[    8.213310] input: saa7134 IR (Compro VideoMate TV as /class/input/input6
[    8.213392] IRQ 21/saa7130[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    8.363342] saa7130[0]: i2c eeprom 00: 5b 18 00 c1 ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363355] saa7130[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363365] saa7130[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363376] saa7130[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363387] saa7130[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363397] saa7130[0]: i2c eeprom 50: ff ff ff ff ff ff ff 01 ff 01 ff 00 07 30 03 cb
[    8.363408] saa7130[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363418] saa7130[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363429] saa7130[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363439] saa7130[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363450] saa7130[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363461] saa7130[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363471] saa7130[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363482] saa7130[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363492] saa7130[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.363503] saa7130[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    8.383342] saa7130[0]: i2c scan: found device @ 0xa0  [eeprom]
[    8.390008] saa7130[0]: i2c scan: found device @ 0xc0  [tuner (analog)]
[    8.396674] saa7130[0]: i2c scan: found device @ 0xc6  [???]
[    8.430101] tuner' 5-0060: chip found @ 0xc0 (saa7130[0])
[    8.443344] tuner' 5-0063: chip found @ 0xc6 (saa7130[0])
[    8.463471] saa7130[0]: registered device video0 [v4l2]
[    8.463503] saa7130[0]: registered device vbi0
[    8.463533] saa7130[0]: registered device radio0


Для 30-го ядра:

Код: Выделить всё

[    7.824982] saa7130/34: v4l2 driver version 0.2.15 loaded
[    7.825050] saa7134 0000:03:00.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[    7.825060] saa7130[0]: found at 0000:03:00.0, rev: 1, irq: 21, latency: 32, mmio: 0xf8200000
[    7.825068] saa7130[0]: subsystem: 185b:c100, board: Compro VideoMate TV PVR/FM [card=40,autodetected]
[    7.825103] saa7130[0]: board init: gpio is cc0000
[    7.825207] input: saa7134 IR (Compro VideoMate TV as /devices/pci0000:00/0000:00:1e.0/0000:03:00.0/input/input5
[    7.825267] IRQ 21/saa7130[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    7.976252] saa7130[0]: i2c eeprom 00: 5b 18 00 c1 ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976268] saa7130[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976281] saa7130[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976294] saa7130[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976307] saa7130[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976320] saa7130[0]: i2c eeprom 50: ff ff ff ff ff ff ff 01 ff 01 ff 00 07 30 03 cb
[    7.976334] saa7130[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976347] saa7130[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976360] saa7130[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976373] saa7130[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976386] saa7130[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976399] saa7130[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976412] saa7130[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976425] saa7130[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976438] saa7130[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.976451] saa7130[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.996069] saa7130[0]: i2c scan: found device @ 0xa0  [eeprom]
[    8.004067] saa7130[0]: i2c scan: found device @ 0xc0  [tuner (analog)]
[    8.012084] saa7130[0]: i2c scan: found device @ 0xc6  [???]
[    8.511792] tuner 5-0060: chip found @ 0xc0 (saa7130[0])
[    8.528125] saa7130[0]: registered device video0 [v4l2]
[    8.528159] saa7130[0]: registered device vbi0
[    8.528191] saa7130[0]: registered device radio0

Как видно, в выводе для 29-го ядра имеется еще одна строчка:
[ 8.443344] tuner' 5-0063: chip found @ 0xc6 (saa7130[0])
которой нет в 30-м ядре. Может быть проблема в этом, уже подбираю себе новый тюнер по описаниям :( (Пока остановился на Behold TV 609 FM или Behold TV H6).
Спасибо сказали:
Revo
Сообщения: 17
ОС: ALT Linux Desktop 5.0 beta

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Revo »

Друзья, столкнулся с аналогичной проблемой на ядре 2.6.30, установлен дистрибутив ALT Linux Desktop 5.0 beta, обновлен до Sisyphys. Имеется тв тюнер FlyTV Prime 34FM который раньше работал отлично с такими параметрами, в /etc/modprobe.d создан файл с содержанием

Код: Выделить всё

alias char-major-81 videodev
alias char-major-81-0 saa7134
alias char-major-81-1 off
alias char-major-81-2 off
alias char-major-81-3 off
alias char-major-89-* i2c-dev
alias snd-card-1 saa7134-alsa
options saa7134-alsa index=1
options saa7134 card=2 tuner=38 i2c_scan=1 alsa=1 latency=60
options tuner secam=d

Код: Выделить всё

bash-3.2$ dmesg | grep saa7134
[    5.231277] saa7134 0000:02:08.0: PCI INT A -> Link[LNKA] -> GSI 17 (level, low) -> IRQ 17
[    5.231281] saa7134[0]: setting pci latency timer to 60
[    5.231286] saa7134[0]: found at 0000:02:08.0, rev: 1, irq: 17, latency: 60, mmio: 0xf9fff400
[    5.231293] saa7134[0]: subsystem: 5168:0138, board: LifeView FlyVIDEO3000 [card=2,insmod option]
[    5.231322] saa7134[0]: board init: gpio is 3b000
[    5.231324] saa7134[0]: there are different flyvideo cards with different tuners
[    5.231326] saa7134[0]: out there, you might have to use the tuner=<nr> insmod
[    5.231327] saa7134[0]: option to override the default value.
[    5.231393] input: saa7134 IR (LifeView FlyVIDEO30 as /devices/pci0000:00/0000:00:08.0/0000:02:08.0/input/input5
[    5.231485] IRQ 17/saa7134[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    5.380545] saa7134[0]: i2c eeprom 00: 68 51 38 01 10 28 ff ff ff ff ff ff ff ff ff ff
[    5.380556] saa7134[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380566] saa7134[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380575] saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380584] saa7134[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380592] saa7134[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380601] saa7134[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380610] saa7134[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380618] saa7134[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380627] saa7134[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380636] saa7134[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380645] saa7134[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380654] saa7134[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380663] saa7134[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380672] saa7134[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.380681] saa7134[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.396547] saa7134[0]: i2c scan: found device @ 0x86  [tda9887]
[    5.404548] saa7134[0]: i2c scan: found device @ 0xa0  [eeprom]
[    5.412539] saa7134[0]: i2c scan: found device @ 0xc2  [???]
[    5.648608] tuner 2-0043: chip found @ 0x86 (saa7134[0])
[    5.676644] saa7134[0]: registered device video0 [v4l2]
[    5.676680] saa7134[0]: registered device vbi0
[    5.676716] saa7134[0]: registered device radio0
[    5.783685] saa7134 ALSA driver for DMA sound loaded
[    5.783697] IRQ 17/saa7134[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    5.783719] saa7134[0]/alsa: saa7134[0] at 0xf9fff400 irq 17 registered as card 1

tvtime не находит каналов, пробовал различные card= и tuner= реакции ни какой
Может подскажите какой нибудь способ?
Спасибо сказали:
Infy
Сообщения: 30
ОС: Arch Linux

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Infy »

Revo, соберите версию v4l-dvb из hg по этой инструкции, а затем используйте параметр card=172 для вашей карты. Все должно заработать.
Спасибо сказали:
Evengard
Сообщения: 17
ОС: Linux Debian squeeze

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение Evengard »

У меня была схожая проблема... Решилась очень мистическим способом... При старте он так же терял у меня одну строчку chip found бла бла... Однако после ручной выгрузки:
rmmod -f saa7134_alsa
rmmod -f saa7134_dvb
rmmod -f saa7134
rmmod -f tuner
А затем просто прогрузки обратно:
modprobe -v saa7134
О чудо, оно появлялось... И всё заработало... Поэтому я сделал просто сервис, выполняющий при запуске системы эти вот операции... И наслаждаюсь жизнью...
МБ это и тут поможет?
PS: у меня тоже ядро 2.6.30(-2-amd64), от Debian testing
Спасибо сказали:
YOSH
Сообщения: 1

Re: Решено: Проблемы с TV/FM-тюнером после смены ядра с 2.6.29.1 на 2.6.30

Сообщение YOSH »

У меня тюнер Avermedia dvb-s hibrid +FM , тоже не могу перейти на новое ядро из-за драйверов.Все отлично работает на дровах saa 7134 version 0.2.14, проблемы с новыми version 0.2.15 . Карта определяется правильно, но fronted работает не правильно-сигнал идет с ошибками.Выбирал,что нужно при установке v4l-dvb -не помогает.Че делать с этим ломаным драйвером,не хочется всю жизнь на 2.6.28 сидеть? И можно ли saa 7134 version 0.2.14 установить в новое ядро?

Код: Выделить всё

valera@VALERA:~$ dmesg | grep saa
[    7.325641] saa7130/34: v4l2 driver version 0.2.15 loaded
[    7.326125] saa7134 0000:01:08.0: PCI INT A -> Link[APC1] -> GSI 16 (level, low) -> IRQ 16
[    7.326178] saa7133[0]: found at 0000:01:08.0, rev: 209, irq: 16, latency: 255, mmio: 0xfdeff000
[    7.326234] saa7133[0]: subsystem: 1461:a7a2, board: Avermedia DVB-S Hybrid+FM A700 [card=141,insmod option]
[    7.326314] saa7133[0]: board init: gpio is 2fa00
[    7.476013] saa7133[0]: i2c eeprom 00: 61 14 a2 a7 ff ff ff ff ff ff ff ff ff ff ff ff
[    7.476820] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.477617] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.478413] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.479209] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.480011] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.480817] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.481613] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.482409] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.483205] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.484004] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.484815] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.485615] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.486412] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.487208] saa7133[0]: i2c eeprom e0: 00 01 81 b0 26 05 ff ff ff ff ff ff ff ff ff ff
[    7.488009] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.496017] saa7133[0]: i2c scan: found device @ 0x1c  [???]
[    7.512509] saa7133[0]: i2c scan: found device @ 0xa0  [eeprom]
[    7.520013] saa7133[0]: i2c scan: found device @ 0xc2  [???]
[    7.540574] tuner 2-0061: chip found @ 0xc2 (saa7133[0])
[    7.588876] saa7133[0]: registered device video0 [v4l2]
[    7.588959] saa7133[0]: registered device vbi0
[    7.589041] saa7133[0]: registered device radio0
[    7.601159] saa7134 ALSA driver for DMA sound loaded
[    7.601237] saa7133[0]/alsa: saa7133[0] at 0xfdeff000 irq 16 registered as card -2
[    7.776070] DVB: registering new adapter (saa7133[0])
valera@VALERA:~$


Код: Выделить всё

valera@VALERA:~$ lsmod | grep saa
saa7134_dvb            35596  0
videobuf_dvb           16516  1 saa7134_dvb
saa7134_alsa           22688  1
saa7134               189396  2 saa7134_dvb,saa7134_alsa
snd_pcm                99464  3 saa7134_alsa,snd_hda_intel,snd_pcm_oss
ir_common              58116  1 saa7134
v4l2_common            28544  2 tuner,saa7134
videodev               50592  3 tuner,saa7134,v4l2_common
snd                    78920  20 saa7134_alsa,snd_hda_intel,snd_seq_oss,snd_pcm_oss,snd_mixer_oss,snd_rawmidi,snd
_pcm,snd_seq,snd_timer,snd_seq_device
videobuf_dma_sg        22660  3 saa7134_dvb,saa7134_alsa,saa7134
videobuf_core          29572  3 videobuf_dvb,saa7134,videobuf_dma_sg
tveeprom               23556  1 saa7134
valera@VALERA:~$


А так на старом драйвере-все работает как надо.

Код: Выделить всё

valera@VALERA:~$ dmesg | grep saa
[    7.376129] saa7130/34: v4l2 driver version 0.2.14 loaded
[    7.376611] saa7134 0000:01:08.0: PCI INT A -> Link[APC1] -> GSI 16 (level, low) -> IRQ 16
[    7.376664] saa7133[0]: found at 0000:01:08.0, rev: 209, irq: 16, latency: 255, mmio: 0xfdeff000
[    7.376718] saa7133[0]: subsystem: 1461:a7a2, board: Avermedia DVB-S Hybrid+FM A700 [card=141,insmod option]
[    7.376811] saa7133[0]: board init: gpio is 2fa00
[    7.376859] saa7133[0]: Avermedia DVB-S Hybrid+FM A700: hybrid analog/dvb card
[    7.376860] saa7133[0]: Sorry, of the analog inputs, only analog s-video and composite are supported for now.
[    7.528013] saa7133[0]: i2c eeprom 00: 61 14 a2 a7 ff ff ff ff ff ff ff ff ff ff ff ff
[    7.528826] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.529624] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.530421] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.531222] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.532024] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.532841] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.533640] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.534438] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.535235] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.536040] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.536849] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.537646] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.538445] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.539243] saa7133[0]: i2c eeprom e0: 00 01 81 b0 26 05 ff ff ff ff ff ff ff ff ff ff
[    7.540046] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    7.548510] saa7133[0]: i2c scan: found device @ 0x1c  [???]
[    7.564012] saa7133[0]: i2c scan: found device @ 0xa0  [eeprom]
[    7.572508] saa7133[0]: i2c scan: found device @ 0xc2  [???]
[    7.600548] tuner 2-0061: chip found @ 0xc2 (saa7133[0])
[    7.652957] saa7133[0]: registered device video0 [v4l2]
[    7.653040] saa7133[0]: registered device vbi0
[    7.667414] saa7134 ALSA driver for DMA sound loaded
[    7.667492] saa7133[0]/alsa: saa7133[0] at 0xfdeff000 irq 16 registered as card -2
[    7.836568] DVB: registering new adapter (saa7133[0])
valera@VALERA:~$


Код: Выделить всё

valera@VALERA:~$ lsmod | grep saa
saa7134_dvb            34316  0
videobuf_dvb           16388  1 saa7134_dvb
saa7134_alsa           22176  1
saa7134               181332  2 saa7134_dvb,saa7134_alsa
ir_common              60292  1 saa7134
snd_pcm                99464  3 saa7134_alsa,snd_hda_intel,snd_pcm_oss
v4l2_common            27008  2 tuner,saa7134
videodev               52000  3 tuner,saa7134,v4l2_common
videobuf_dma_sg        22660  3 saa7134_dvb,saa7134_alsa,saa7134
videobuf_core          29060  3 videobuf_dvb,saa7134,videobuf_dma_sg
tveeprom               23556  1 saa7134
snd                    78920  20 saa7134_alsa,snd_seq_oss,snd_hda_intel,snd_rawmidi,snd_seq,snd_pcm_oss,snd_mixer
_oss,snd_seq_device,snd_pcm,snd_timer
valera@VALERA:~$


Вроде разницы нет, да ставлю оба драйвера на ядре 2.6.28. Почему идут ошибки на новом драйвере-понять не могу.
Спасибо сказали:
Закрыто