Автор Тема: Avertv 303 tv tuner - избор на видео източник...  (Прочетена 4734 пъти)

Drakula

  • Напреднали
  • *****
  • Публикации: 319
  • Distribution: Gentoo
  • Window Manager: KDE 4
    • Профил
Здравейте,

От няколко дена се опитвам да подкарам TV tuner AVerTV30 с чипсет Conexant CX23880/1/2/3.

Като отправна точка взех тази статия.

В ядрото включих поддръжката на Conexant CX23880Х в ядрото:

Цитат

drakula linux # less .config | grep VIDEO
CONFIG_VIDEO_DEV=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_BWQCAM is not set
# CONFIG_VIDEO_CQCAM is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_SAA5246A is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_DPC is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
CONFIG_VIDEO_CX88=y
# CONFIG_VIDEO_EM28XX is not set
# CONFIG_VIDEO_OVCAMCHIP is not set
# CONFIG_VIDEO_AUDIO_DECODER is not set
# CONFIG_VIDEO_DECODER is not set
CONFIG_VIDEO_TUNER=y
CONFIG_VIDEO_BUF=y
CONFIG_VIDEO_BTCX=y
CONFIG_VIDEO_IR=y
CONFIG_VIDEO_TVEEPROM=y
# CONFIG_VIDEO_SELECT is not set


В резултат на това тунерът беше разпонзат както си трябва:
Цитат

drakula linux # lspci | grep Conexant
00:0c.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)


Според Troubleshooting секцията на статията, трябва да имам videox в /dev. Ами имам:
Цитат

drakula linux # ls -la /dev | grep video
lrwxrwxrwx  1 root root        10 Jul  2 16:11 video0 -> v4l/video0
drakula linux # ls -la /dev/v4l/video0
crw-rw---- 1 root video 81, 0 Jul  2 16:11 /dev/v4l/video0


Потребителя ми е член на video, така че не би трябвало да има проблеми с правата.

Според същата статия, ако cat-на video device-a в конзолата трябва да почне да се пишат боклуци, които се спират с Ctrl-C. Да, ама не!
Примерен код
cat /dev/video0
не вади нищо.

Ако има някакво значение, в директорията /dev/v4l/ има още и някакво vbi.
Примерен код
cat /dev/v4l/vbi0
вече започва да плюе глупости.

Пуснах си tvtime обаче не мога да пусна търсачката на каналите. Някъде прочетох, че трябва от менюто на tvtime да избера в Input Configuration -> Change Videosource стойността television. Да, ама аз имам само Composite 1, Composite 2, Composite 3, Composite 4.
Пробвах и kdetv, но в неговия "помощник" за каналите бутоните next и finish си стоят неактивни. Пробвах и в xawtv, ама ситуацията там е същата като в tvtime - за video source имам Composite 1, Composite 2, Composite 3, Composite 4.

Самото tvtime при старт в конзола вади
Цитат

Running tvtime 0.9.15.
rtctimer: Cannot open /dev/rtc: No such file or directory
rtctimer: Cannot open /dev/misc/rtc: No such file or directory

    Enhanced Real Time Clock support in your kernel is necessary for
    smooth video.  We strongly recommend that you load the 'rtc' kernel
    module before starting tvtime, and make sure that your user has
    access to the device file (/dev/rtc or /dev/misc/rtc).  See our
    support page at http://tvtime.net/ for more information.

Reading configuration from /etc/tvtime/tvtime.xml
Reading configuration from /home/danail/.tvtime/tvtime.xml
videoinput: Can't get tuner info: Invalid argument
videoinput: Can't get tuner info: Invalid argument


Очевидно има някакъв проблем, ама не мога да разбера какво го боли.
Някъде също така четох, че поддръжката на тунера в ядрото трябва да е като модул. В моя случай модулът трябва да се казва cx8800или cx88xx (така и не схванах разликата). Пробвах, но ето какво се случва при modprobe:
Примерен код

drakula linux # modprobe cx8800
WARNING: Error inserting v4l2_common (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/video/v4l2-common.ko): Invalid module format
WARNING: Error inserting v4l1_compat (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/video/v4l1-compat.ko): Invalid module format
WARNING: Error inserting videodev (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/video/videodev.ko): Invalid module format
WARNING: Error inserting btcx_risc (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/video/btcx-risc.ko): Invalid module format
WARNING: Error inserting compat_ioctl32 (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/video/compat_ioctl32.ko): Invalid module format
WARNING: Error inserting tveeprom (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/video/tveeprom.ko): Invalid module format
WARNING: Error inserting video_buf (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/video/video-buf.ko): Invalid module format
WARNING: Error inserting ir_common (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/common/ir-common.ko): Invalid module format
WARNING: Error inserting cx88xx (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/video/cx88/cx88xx.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting cx8800 (/lib/modules/2.6.16-gentoo-r7/v4l-dvb/video/cx88/cx8800.ko): Unknown symbol in module, or unknown parameter (see dmesg)


В dmesg респективно:
Примерен код

cx88xx: Unknown symbol ir_codes_adstech_dvb_t_pci
cx88xx: disagrees about version of symbol videobuf_waiton
cx88xx: Unknown symbol videobuf_waiton
cx88xx: Unknown symbol ir_codes_iodata_bctv7e
cx88xx: Unknown symbol ir_codes_avertv_303
cx88xx: Unknown symbol ir_codes_cinergy_1400
cx88xx: disagrees about version of symbol btcx_riscmem_alloc
cx88xx: Unknown symbol btcx_riscmem_alloc
cx88xx: disagrees about version of symbol btcx_riscmem_free
cx88xx: Unknown symbol btcx_riscmem_free
cx88xx: Unknown symbol videobuf_dma_unmap
cx88xx: Unknown symbol ir_codes_dntv_live_dvbt_pro
cx88xx: disagrees about version of symbol video_device_alloc
cx88xx: Unknown symbol video_device_alloc
cx88xx: Unknown symbol ir_codes_dntv_live_dvb_t
cx88xx: Unknown symbol ir_codes_npgtech
cx88xx: disagrees about version of symbol video_device_release
cx88xx: Unknown symbol video_device_release
cx88xx: Unknown symbol ir_codes_msi_tvanywhere
cx8800: disagrees about version of symbol videobuf_streamoff
cx8800: Unknown symbol videobuf_streamoff
cx8800: disagrees about version of symbol cx88_reset
cx8800: Unknown symbol cx88_reset
cx8800: disagrees about version of symbol videobuf_poll_stream
cx8800: Unknown symbol videobuf_poll_stream
cx8800: disagrees about version of symbol cx88_call_i2c_clients
cx8800: Unknown symbol cx88_call_i2c_clients
cx8800: disagrees about version of symbol cx88_wakeup
cx8800: Unknown symbol cx88_wakeup
cx8800: disagrees about version of symbol videobuf_read_stop
cx8800: Unknown symbol videobuf_read_stop
cx8800: Unknown symbol v4l_printk_ioctl_arg
cx8800: disagrees about version of symbol cx88_set_scale
cx8800: Unknown symbol cx88_set_scale
cx8800: disagrees about version of symbol cx88_shutdown
cx8800: Unknown symbol cx88_shutdown
cx8800: disagrees about version of symbol videobuf_reqbufs
cx8800: Unknown symbol videobuf_reqbufs
cx8800: disagrees about version of symbol cx88_vdev_init
cx8800: Unknown symbol cx88_vdev_init
cx8800: disagrees about version of symbol cx88_core_put
cx8800: Unknown symbol cx88_core_put
cx8800: disagrees about version of symbol videobuf_dqbuf
cx8800: Unknown symbol videobuf_dqbuf
cx8800: disagrees about version of symbol cx88_core_irq
cx8800: Unknown symbol cx88_core_irq
cx8800: disagrees about version of symbol cx88_core_get
cx8800: Unknown symbol cx88_core_get
cx8800: disagrees about version of symbol cx88_get_stereo
cx8800: Unknown symbol cx88_get_stereo
cx8800: disagrees about version of symbol videobuf_queue_init
cx8800: Unknown symbol videobuf_queue_init
cx8800: disagrees about version of symbol cx88_set_tvnorm
cx8800: Unknown symbol cx88_set_tvnorm
cx8800: Unknown symbol v4l2_ctrl_next
cx8800: disagrees about version of symbol btcx_riscmem_free
cx8800: Unknown symbol btcx_riscmem_free
cx8800: disagrees about version of symbol videobuf_read_stream
cx8800: Unknown symbol videobuf_read_stream
cx8800: disagrees about version of symbol videobuf_querybuf
cx8800: Unknown symbol videobuf_querybuf
cx8800: disagrees about version of symbol cx88_set_stereo
cx8800: Unknown symbol cx88_set_stereo
cx8800: disagrees about version of symbol video_unregister_device
cx8800: Unknown symbol video_unregister_device
cx8800: disagrees about version of symbol videobuf_qbuf
cx8800: Unknown symbol videobuf_qbuf
cx8800: disagrees about version of symbol videobuf_read_one
cx8800: Unknown symbol videobuf_read_one
cx8800: disagrees about version of symbol video_register_device
cx8800: Unknown symbol video_register_device
cx8800: disagrees about version of symbol cx88_set_tvaudio
cx8800: Unknown symbol cx88_set_tvaudio
cx8800: disagrees about version of symbol cx88_sram_channel_dump
cx8800: Unknown symbol cx88_sram_channel_dump
cx8800: disagrees about version of symbol cx88_sram_channel_setup
cx8800: Unknown symbol cx88_sram_channel_setup
cx8800: disagrees about version of symbol videobuf_iolock
cx8800: Unknown symbol videobuf_iolock
cx8800: disagrees about version of symbol cx88_free_buffer
cx8800: Unknown symbol cx88_free_buffer
cx8800: disagrees about version of symbol videobuf_streamon
cx8800: Unknown symbol videobuf_streamon
cx8800: disagrees about version of symbol videobuf_queue_cancel
cx8800: Unknown symbol videobuf_queue_cancel
cx8800: disagrees about version of symbol video_device_release
cx8800: Unknown symbol video_device_release
cx8800: disagrees about version of symbol videobuf_mmap_mapper
cx8800: Unknown symbol videobuf_mmap_mapper
cx8800: disagrees about version of symbol cx88_newstation
cx8800: Unknown symbol cx88_newstation
cx8800: disagrees about version of symbol videobuf_mmap_free
cx8800: Unknown symbol videobuf_mmap_free


Това вече ме хвърли в пълно неведение - как така не си харесва модула, дето сам си го е билднал!?!?!?


Съжалявам за объркания пост, ама вече след толкова опити ми е пълна каша и вече започвам здраво да се изнервям.

Дистрибуция: Gentoo, ядро: 2.6.16-gentoo-r7
Хардуера мисля е без значение.

Ако може някой да удари едно рамо би било супер '<img'>
Активен

Drakula

  • Напреднали
  • *****
  • Публикации: 319
  • Distribution: Gentoo
  • Window Manager: KDE 4
    • Профил
Avertv 303 tv tuner - избор на видео източник...
« Отговор #1 -: Jul 05, 2006, 21:31 »
Такааа...
След дълги и неуспешни проби реших да последвам максимата "хем по-чисто, хем по-лесно, с помощта му е чудесно" и направих един
Примерен код
make mrproper

на ядрото и го конфигурирах наново. След компилацията на новото ядро, съобщенията за грешки при зареждане на модула cx8800 чувствително намаляха, но не изчезнаха. След доста търсене в Google попаднах на един френски форум, в който някакъв пич има подобни грешки и му бяха дали този линк. От него останах с впечатлението, че трябва да се инсталира CVS версията на v4l-dvb и да се махне стандартната V4L поддръжка на ядрото. Инсталацията под Gentoo става доста по-лесно:
Примерен код
emerge v4l-dvb-hg
emerge linuxtv-dvb-apps


След като emerge приключи, модула cx8800 като че ли се зареди, но dmesg показа някои обезпокоителни неща:
Цитат

Linux video capture interface: v2.00
cx2388x v4l2 driver version 0.0.6 loaded
PCI: Found IRQ 11 for device 0000:00:0c.0
cx88[0]: Your board isn't known (yet) to the driver.  You can
cx88[0]: try to pick one of the existing card configs via
cx88[0]: card=<n> insmod option.  Updating to the latest
cx88[0]: version might help as well.
cx88[0]: Here is a list of valid choices for the card=<n> insmod option:
cx88[0]:    card=0 -> UNKNOWN/GENERIC
cx88[0]:    card=1 -> Hauppauge WinTV 34xxx models
cx88[0]:    card=2 -> GDI Black Gold
cx88[0]:    card=3 -> PixelView
cx88[0]:    card=4 -> ATI TV Wonder Pro
cx88[0]:    card=5 -> Leadtek Winfast 2000XP Expert
cx88[0]:    card=6 -> AverTV Studio 303 (M126)

................


CORE cx88[0]: subsystem: 1461:001b, board: UNKNOWN/GENERIC [card=0,autodetected]
TV tuner -1 at 0x1fe, Radio tuner -1 at 0x1fe
cx88[0]/0: found at 0000:00:0c.0, rev: 5, irq: 11, latency: 64, mmio: 0xdf000000
tuner 3-0043: chip found @ 0x86 (cx88[0])
tda9887 3-0043: tda988[5/6/7] found @ 0x43 (tuner)
tuner 3-0060: All bytes are equal. It is not a TEA5767
tuner 3-0060: chip found @ 0xc0 (cx88[0])
cx88[0]/0: registered device video0 [v4l2]
cx88[0]/0: registered device vbi0
tuner 3-0060: tuner type not set


Очевидно модулът изпитва затруднения с разпонаването на чипа. След още малко търсене най-накрая попаднах на правилната команда с modprobe:
Примерен код

modprobe cx88xx card=6 && modprobe cx8800


Параметъра card=6 указва типа на картата. При мен вярното число е 6, както става ясно в изхода на dmesg.

В резултат на това dmesg вече казваше:
Цитат

Linux video capture interface: v2.00
cx2388x v4l2 driver version 0.0.6 loaded
PCI: Found IRQ 11 for device 0000:00:0c.0
CORE cx88[0]: subsystem: 1461:001b, board: AverTV Studio 303 (M126) [card=6,insmod option]
TV tuner 38 at 0x1fe, Radio tuner -1 at 0x1fe
tuner 3-0043: chip found @ 0x86 (cx88[0])
tda9887 3-0043: tda988[5/6/7] found @ 0x43 (tuner)
tuner 3-0060: All bytes are equal. It is not a TEA5767
tuner 3-0060: chip found @ 0xc0 (cx88[0])
tuner 3-0060: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3))
input: cx88 IR (AverTV Studio 303 (M12 as /class/input/input2
cx88[0]/0: found at 0000:00:0c.0, rev: 5, irq: 11, latency: 64, mmio: 0xdf000000
cx88[0]/0: registered device video0 [v4l2]
cx88[0]/0: registered device vbi0
cx88[0]/0: registered device radio0


Това вече е нещо съвсем друго. Стартирането на
Примерен код
tvtime /dev/video0

успя да изкара картина и звук. Вярно, с кофти качество, но от тук нататък предполагам става дума за настройки на tvtime.

Надявам се тази информация да е полезна на някой.
Активен

eka

  • Напреднали
  • *****
  • Публикации: 136
    • Профил
Avertv 303 tv tuner - избор на видео източник...
« Отговор #2 -: Jul 05, 2006, 22:40 »
Радвам се че си успял да конфигурираш ТВ картата.
Препоръчвам ти XdTV като по-добра програма за гледане и за запис на ТВ.
Предлагам ти и едно по-голямо предизвикателсто-да подкараш дистанционното с LIRC.
A най-големия кеф са MythTV и Freevo.Доста базикня но си заслужават.



Активен

Duron 1050-Mandriva 2010.2;Asus F5N Turion64 1800-Mandriva 2010.2
KDE 4.5.5

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
Avertv 303 tv tuner - избор на видео източник...
« Отговор #3 -: Jul 05, 2006, 23:08 »
Дракула следващото го пиша с най-добри намерения:

- ако беше зачел readme файловете в директорията на v4l (в директорията на изходният код)

- ако беше прочел мааалко само по задълбочено изхода на грешките , които си получил.

Щеше да:

- стигнеш много по-бързо до решението
- не просто да стигнеш , ами и да видиш логиката на действията :-)

Най-простичкият пример (В твоят случей) е:

cx88[0]: Your board isn't known (yet) to the driver.  You can
Вашата карта не е позната (все още) на драйвера Вие можете
cx88[0]: try to pick one of the existing card configs via
да пробвате да изберете една от съществуващите конфигурации за карти ЧРЕЗ
cx88[0]: card=<n> insmod option.  Updating to the latest
card=<n> опцията към insmod (или modprobe логично)
cx88[0]: version might help as well.
cx88[0]: Here is a list of valid choices for the card=<n> insmod option:
Валидни стойности за card=<n>
cx88[0]:    card=0 -> UNKNOWN/GENERIC
cx88[0]:    card=1 -> Hauppauge WinTV 34xxx models
cx88[0]:    card=2 -> GDI Black Gold
cx88[0]:    card=3 -> PixelView
cx88[0]:    card=4 -> ATI TV Wonder Pro
cx88[0]:    card=5 -> Leadtek Winfast 2000XP Expert
cx88[0]:    card=6 -> AverTV Studio 303 (M126) <<<!!!

Просто четене. Няма нужда да се губи време във още търсене из интернет.

Иначе си тръгнал по верният път как да решиш проблема.
Не знам дали ме разбра.

Междувпрочем благодаря, че сподели решението !



Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

Drakula

  • Напреднали
  • *****
  • Публикации: 319
  • Distribution: Gentoo
  • Window Manager: KDE 4
    • Профил
Avertv 303 tv tuner - избор на видео източник...
« Отговор #4 -: Jul 06, 2006, 00:17 »
Цитат
Предлагам ти и едно по-голямо предизвикателсто-да подкараш дистанционното с LIRC.

Преди време бях инсталирал LIRC, така че дистанционното си работи едва ли не "out-of-the-box".
Е, вярно, специфичните копчета като autoscan, teletext и т.н. не работят, но си мисля, че това по-скоро опира до възможности на ползваната програма.
BTW, благодаря за предложението, веднага се захващам с тестване '<img'>

Цитат
ако беше прочел мааалко само по задълбочено изхода на грешките , които си получил, които си получил.

Щеше да:

- стигнеш много по-бързо до решението

Факт! Но не съвсем:

Цитат
cx88[0]: Your board isn't known (yet) to the driver

Тука не пише, че модула приемащ параметър card=6 всъщност е cx88xx, a не cx8800. Освен това, честно казано, и представа си нямах как се задават параметри на модул, така че ровичкането (дали в man или google) си беше належащо

'<img'>



Активен

Dragonfly

  • Участници
  • ***
  • Публикации: 7
    • Профил
Avertv 303 tv tuner - избор на видео източник...
« Отговор #5 -: Jul 13, 2006, 18:49 »
Четейки тук и учейки се от грешките, го подкарах много бързо на Дебиан. В смисъл че работи, но не съм си играл да търся подобряване на качеството, което не е много добро (приемане с антена) и най-вече цветопредаването.
Пробвах само с TvTime, защото го има готово като пакет.

Много малко производители предлагат свои драйвери и софт за Линукс и това е лошо.
Активен

igt

  • Напреднали
  • *****
  • Публикации: 35
    • Профил
Avertv 303 tv tuner - избор на видео източник...
« Отговор #6 -: Jul 14, 2006, 13:15 »
За ефирно приемане най-добре е да ползваш Русия и ТВ стандарт ПАЛ. С тези настройки аз приемам ефирните телевизии с много добро качество. Разбира се не ползвам стайна антена, поради очевидни причини.
Активен

Devil_D

  • Напреднали
  • *****
  • Публикации: 25
    • Профил
Avertv 303 tv tuner - избор на видео източник...
« Отговор #7 -: Jul 14, 2006, 16:02 »
Така - и аз се мъчих със същият тунер и  работи радио и ТВ със следните параметри:
Това от /etc/rc.d/rc.local  - със Slackware съм!
Примерен код

/sbin/rmmod cx8800
/sbin/rmmod cx88xx
/sbin/rmmod tuner
/sbin/rmmod tda9887
/sbin/modprobe tda9887 pal=d port1=1 port2=0 qss=1
/sbin/modprobe cx88xx card=6 nicam=1
/sbin/modprobe cx8800

Махам модулите, защото не я засича по подразбиране и ги зареждам с правилните параметри.
Но ти трябва  ядро 2.6.17 или актуални драйвери от тук, ако си със по-старо ядро:

http://www.linuxtv.org/hg/v4l-dvb

От опит ти казвам да пробваш c4c379abf4e1

Ето поглед:
Примерен код

cx2388x v4l2 driver version 0.0.6 loaded
ACPI: PCI Interrupt 0000:04:08.0[A] -> Link [LNK1] -> GSI 7 (level, low) -> IRQ 7
CORE cx88[0]: subsystem: 1461:001b, board: AverTV Studio 303 (M126) [card=6,insmod option]
TV tuner 38 at 0x1fe, Radio tuner -1 at 0x1fe
tda9887 0-0043: chip found @ 0x86 (cx88[0])
input: cx88 IR (AverTV Studio 303 (M12 as /class/input/input2
cx88[0]/0: found at 0000:04:08.0, rev: 5, irq: 7, latency: 32, mmio: 0xf9000000
tuner 0-0060: All bytes are equal. It is not a TEA5767
tuner 0-0060: chip found @ 0xc0 (cx88[0])
tuner 0-0060: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3))
cx88[0]/0: registered device video0 [v4l2]
cx88[0]/0: registered device vbi0
cx88[0]/0: registered device radio0





Активен


Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
AverTV GO 007 проблем
Настройка на хардуер
PureEvil 0 2055 Последна публикация Aug 25, 2004, 12:58
от PureEvil
Avermedia avertv studio 303
Настройка на хардуер
Devil_D 0 2468 Последна публикация May 11, 2006, 21:20
от Devil_D
Avermedia avertv go 007 plus/fm
Настройка на хардуер
Invincible 3 3245 Последна публикация Jan 04, 2010, 01:18
от pantalei
Проблеми с avertv e506r
Настройка на хардуер
Perlsite 13 4641 Последна публикация Dec 20, 2007, 17:45
от Perlsite
TV tuner AverTV Duo Hybrid PCI-E
Настройка на програми
runtime 1 2657 Последна публикация Jun 27, 2009, 13:53
от cofybreak