Титла: Avertv 303 tv tuner - избор на видео източник...
Публикувано от: Drakula в Jul 02, 2006, 17:28
Здравейте, От няколко дена се опитвам да подкарам 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 Хардуера мисля е без значение.
Ако може някой да удари едно рамо би било супер
Титла: Avertv 303 tv tuner - избор на видео източник...
Публикувано от: Drakula в 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.
Надявам се тази информация да е полезна на някой.
Титла: Avertv 303 tv tuner - избор на видео източник...
Публикувано от: eka в Jul 05, 2006, 22:40
Радвам се че си успял да конфигурираш ТВ картата. Препоръчвам ти XdTV като по-добра програма за гледане и за запис на ТВ. Предлагам ти и едно по-голямо предизвикателсто-да подкараш дистанционното с LIRC. A най-големия кеф са MythTV и Freevo.Доста базикня но си заслужават.
Титла: Avertv 303 tv tuner - избор на видео източник...
Публикувано от: the_real_maniac в 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) <<<!!!
Просто четене. Няма нужда да се губи време във още търсене из интернет.
Иначе си тръгнал по верният път как да решиш проблема. Не знам дали ме разбра.
Междувпрочем благодаря, че сподели решението !
Титла: Avertv 303 tv tuner - избор на видео източник...
Публикувано от: Drakula в Jul 06, 2006, 00:17
Цитат | Предлагам ти и едно по-голямо предизвикателсто-да подкараш дистанционното с LIRC. |
Преди време бях инсталирал LIRC, така че дистанционното си работи едва ли не "out-of-the-box". Е, вярно, специфичните копчета като autoscan, teletext и т.н. не работят, но си мисля, че това по-скоро опира до възможности на ползваната програма. BTW, благодаря за предложението, веднага се захващам с тестване
Цитат | ако беше прочел мааалко само по задълбочено изхода на грешките , които си получил, които си получил.
Щеше да:
- стигнеш много по-бързо до решението |
Факт! Но не съвсем:
Цитат | cx88[0]: Your board isn't known (yet) to the driver |
Тука не пише, че модула приемащ параметър card=6 всъщност е cx88xx, a не cx8800. Освен това, честно казано, и представа си нямах как се задават параметри на модул, така че ровичкането (дали в man или google) си беше належащо
Титла: Avertv 303 tv tuner - избор на видео източник...
Публикувано от: Dragonfly в Jul 13, 2006, 18:49
Четейки тук и учейки се от грешките, го подкарах много бързо на Дебиан. В смисъл че работи, но не съм си играл да търся подобряване на качеството, което не е много добро (приемане с антена) и най-вече цветопредаването. Пробвах само с TvTime, защото го има готово като пакет.
Много малко производители предлагат свои драйвери и софт за Линукс и това е лошо.
Титла: Avertv 303 tv tuner - избор на видео източник...
Публикувано от: igt в Jul 14, 2006, 13:15
За ефирно приемане най-добре е да ползваш Русия и ТВ стандарт ПАЛ. С тези настройки аз приемам ефирните телевизии с много добро качество. Разбира се не ползвам стайна антена, поради очевидни причини.
Титла: Avertv 303 tv tuner - избор на видео източник...
Публикувано от: Devil_D в 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
|
|