€•«2Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ*/translations/zh_CN/admin-guide/media/cx88”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/zh_TW/admin-guide/media/cx88”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/it_IT/admin-guide/media/cx88”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ja_JP/admin-guide/media/cx88”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ko_KR/admin-guide/media/cx88”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/pt_BR/admin-guide/media/cx88”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/sp_SP/admin-guide/media/cx88”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒD/var/lib/git/docbuild/linux/Documentation/admin-guide/media/cx88.rst”h´KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒThe cx88 driver”h]”hŒThe cx88 driver”…””}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒ paragraph”“”)”}”(hŒAuthor: Gerd Hoffmann”h]”hŒAuthor: Gerd Hoffmann”…””}”(hhßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhÞ)”}”(hŒ2This is a v4l2 device driver for the cx2388x chip.”h]”hŒ2This is a v4l2 device driver for the cx2388x chip.”…””}”(hhíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhÉ)”}”(hhh]”(hÎ)”}”(hŒCurrent status”h]”hŒCurrent status”…””}”(hhþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhûh²hh³hÇh´K ubhŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒ*video - Works. - Overlay isn't supported. ”h]”(hŒterm”“”)”}”(hŒvideo”h]”hŒvideo”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KhjubhŒ definition”“”)”}”(hhh]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒWorks.”h]”hÞ)”}”(hj5h]”hŒWorks.”…””}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j1hj.ubj2)”}”(hŒOverlay isn't supported. ”h]”hÞ)”}”(hŒOverlay isn't supported.”h]”hŒOverlay isn’t supported.”…””}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhjJubah}”(h]”h ]”h"]”h$]”h&]”uh1j1hj.ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j,h³hÇh´Khj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Khjubj)”}”(hŒÔaudio - Works. The TV standard detection is made by the driver, as the hardware has bugs to auto-detect. - audio data dma (i.e. recording without loopback cable to the sound card) is supported via cx88-alsa. ”h]”(j)”}”(hŒaudio”h]”hŒaudio”…””}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Khjvubj()”}”(hhh]”j-)”}”(hhh]”(j2)”}”(hŒ`Works. The TV standard detection is made by the driver, as the hardware has bugs to auto-detect.”h]”hÞ)”}”(hŒ`Works. The TV standard detection is made by the driver, as the hardware has bugs to auto-detect.”h]”hŒ`Works. The TV standard detection is made by the driver, as the hardware has bugs to auto-detect.”…””}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j1hj‹ubj2)”}”(hŒeaudio data dma (i.e. recording without loopback cable to the sound card) is supported via cx88-alsa. ”h]”hÞ)”}”(hŒdaudio data dma (i.e. recording without loopback cable to the sound card) is supported via cx88-alsa.”h]”hŒdaudio data dma (i.e. recording without loopback cable to the sound card) is supported via cx88-alsa.”…””}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j1hj‹ubeh}”(h]”h ]”h"]”h$]”h&]”jhjiuh1j,h³hÇh´Khjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hjvubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Khjh²hubj)”}”(hŒvbi - Works. ”h]”(j)”}”(hŒvbi”h]”hŒvbi”…””}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KhjÐubj()”}”(hhh]”j-)”}”(hhh]”j2)”}”(hŒWorks. ”h]”hÞ)”}”(hŒWorks.”h]”hŒWorks.”…””}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjèubah}”(h]”h ]”h"]”h$]”h&]”uh1j1hjåubah}”(h]”h ]”h"]”h$]”h&]”jhjiuh1j,h³hÇh´Khjâubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hjÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Khjh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hhûh²hh³Nh´Nubeh}”(h]”Œcurrent-status”ah ]”h"]”Œcurrent status”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K ubhÉ)”}”(hhh]”(hÎ)”}”(hŒ How to add support for new cards”h]”hŒ How to add support for new cards”…””}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj h²hh³hÇh´KubhÞ)”}”(hX#The driver needs some config info for the TV cards. This stuff is in cx88-cards.c. If the driver doesn't work well you likely need a new entry for your card in that file. Check the kernel log (using dmesg) to see whenever the driver knows your card or not. There is a line like this one:”h]”hX%The driver needs some config info for the TV cards. This stuff is in cx88-cards.c. If the driver doesn’t work well you likely need a new entry for your card in that file. Check the kernel log (using dmesg) to see whenever the driver knows your card or not. There is a line like this one:”…””}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj h²hubhŒ literal_block”“”)”}”(hŒdcx8800[0]: subsystem: 0070:3400, board: Hauppauge WinTV \ 34xxx models [card=1,autodetected]”h]”hŒdcx8800[0]: subsystem: 0070:3400, board: Hauppauge WinTV \ 34xxx models [card=1,autodetected]”…””}”hjAsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒforce”‰Œlanguage”Œnone”Œhighlight_args”}”uh1j?h³hÇh´K%hj h²hubhÞ)”}”(hŒaIf your card is listed as "board: UNKNOWN/GENERIC" it is unknown to the driver. What to do then?”h]”hŒeIf your card is listed as “board: UNKNOWN/GENERIC†it is unknown to the driver. What to do then?”…””}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K*hj h²hubhŒenumerated_list”“”)”}”(hhh]”(j2)”}”(hŒHTry upgrading to the latest snapshot, maybe it has been added meanwhile.”h]”hÞ)”}”(hŒHTry upgrading to the latest snapshot, maybe it has been added meanwhile.”h]”hŒHTry upgrading to the latest snapshot, maybe it has been added meanwhile.”…””}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K-hjgubah}”(h]”h ]”h"]”h$]”h&]”uh1j1hjdh²hh³hÇh´Nubj2)”}”(hŒ‹You can try to create a new entry yourself, have a look at cx88-cards.c. If that worked, mail me your changes as unified diff ("diff -u").”h]”hÞ)”}”(hŒ‹You can try to create a new entry yourself, have a look at cx88-cards.c. If that worked, mail me your changes as unified diff ("diff -u").”h]”hŒYou can try to create a new entry yourself, have a look at cx88-cards.c. If that worked, mail me your changes as unified diff (“diff -uâ€).”…””}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K/hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j1hjdh²hh³hÇh´Nubj2)”}”(hX¢Or you can mail me the config information. We need at least the following information to add the card: - the PCI Subsystem ID ("0070:3400" from the line above, "lspci -v" output is fine too). - the tuner type used by the card. You can try to find one by trial-and-error using the tuner= insmod option. If you know which one the card has you can also have a look at the list in CARDLIST.tuner”h]”(hÞ)”}”(hŒgOr you can mail me the config information. We need at least the following information to add the card:”h]”hŒgOr you can mail me the config information. We need at least the following information to add the card:”…””}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K2hj—ubhŒ block_quote”“”)”}”(hX-- the PCI Subsystem ID ("0070:3400" from the line above, "lspci -v" output is fine too). - the tuner type used by the card. You can try to find one by trial-and-error using the tuner= insmod option. If you know which one the card has you can also have a look at the list in CARDLIST.tuner”h]”j-)”}”(hhh]”(j2)”}”(hŒVthe PCI Subsystem ID ("0070:3400" from the line above, "lspci -v" output is fine too).”h]”hÞ)”}”(hŒVthe PCI Subsystem ID ("0070:3400" from the line above, "lspci -v" output is fine too).”h]”hŒ^the PCI Subsystem ID (“0070:3400†from the line above, “lspci -v†output is fine too).”…””}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K5hj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1j1hj¯ubj2)”}”(hŒÊthe tuner type used by the card. You can try to find one by trial-and-error using the tuner= insmod option. If you know which one the card has you can also have a look at the list in CARDLIST.tuner”h]”hÞ)”}”(hŒÊthe tuner type used by the card. You can try to find one by trial-and-error using the tuner= insmod option. If you know which one the card has you can also have a look at the list in CARDLIST.tuner”h]”hŒÊthe tuner type used by the card. You can try to find one by trial-and-error using the tuner= insmod option. If you know which one the card has you can also have a look at the list in CARDLIST.tuner”…””}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K7hjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j1hj¯ubeh}”(h]”h ]”h"]”h$]”h&]”jhjiuh1j,h³hÇh´K5hj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j©h³hÇh´K5hj—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1hjdh²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œarabic”Œprefix”hŒsuffix”Œ)”uh1jbhj h²hh³hÇh´K-ubeh}”(h]”Œ how-to-add-support-for-new-cards”ah ]”h"]”Œ how to add support for new cards”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´Kubeh}”(h]”Œthe-cx88-driver”ah ]”h"]”Œthe cx88 driver”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j2Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j j jjjjuŒ nametypes”}”(j ‰j‰j‰uh}”(j hÊjhûjj uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.