KWorld ATSC 120: Difference between revisions
(Added a "turn-by-turn" w.r.t. getting the 120 to work in either ATSC or NTSC mode. It needs more work though.) |
(Cleaned up the article as per private discussion between myself and Stuart) |
||
Line 1: | Line 1: | ||
The Kworld ATSC 120, also known as the KWorld PlusTV HD PCI 120, is an [[ATSC]] [[ATSC PCI Cards|PCI]] add-in card which can receive standard analog television signals (NTSC, PAL, possibly others), as well as standard and high definition digital ATSC broadcasts up to 1920x1080 interlaced. The ATSC 120 features composite and s-video inputs on the back, an analog FM radio, and an infrared remote control. |
|||
An [[ATSC]] [[ATSC PCI Cards|PCI card]]. This device, which is also known as the KWorld PlusTV HD PCI 120, is identical to the Geniatech HDTV Thriller X8000A. Drivers for these cards are in development now. Experimental drivers can be had by fetching revision 7448 or later of the [http://linuxtv.org/hg/v4l-dvb/ main v4l-dvb repository]. |
|||
This device is identical to the Geniatech HDTV Thriller X8000A. |
|||
⚫ | |||
'''Note: This article is a work in progress.''' |
|||
⚫ | |||
==Status== |
|||
⚫ | As of 27 Mar 2008, this card can be used in both analog and digital ATSC modes, although this must be done separately as a reboot between mode switches is presently required, due to the architecture of the card and a resource conflict in the driver. A solution to this issue is currently being worked on. The FM radio, composite video, and S-Video inputs all work when the card is initialized into analog mode. The remote control is not currently supported in any mode, yet. |
||
Experimental drivers can be had by fetching revision 7448 or later of the [http://linuxtv.org/hg/v4l-dvb/ main v4l-dvb repository]. |
|||
==PCI Information== |
|||
⚫ | |||
<pre> |
<pre> |
||
00:05.0 Multimedia video controller [0400]: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [14f1:8800] (rev 05) |
00:05.0 Multimedia video controller [0400]: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [14f1:8800] (rev 05) |
||
Line 40: | Line 50: | ||
</pre> |
</pre> |
||
== |
==Major components used== |
||
* [[Xceive XC3028]] (tuner & analog IF demodulator) |
* [[Xceive XC3028]] (tuner & analog IF demodulator) |
||
* Samsung S5H1409 / Conexant CX24227 (digital demodulator) |
* Samsung S5H1409 / Conexant CX24227 (digital demodulator) |
||
Line 47: | Line 58: | ||
==Making it Work== |
==Making it Work== |
||
The ATSC 120 is a fairly routine card to set up. Although there is currently is a resource conflict that prevents easy switching between ATSC and analog modes, selecting the desired default mode is accomplished by loading the proper module after a reboot, as described below. |
|||
===Overview=== |
|||
Currently there is a resource conflict such that this card can only be configured to receive NTSC or ATSC signals. Selecting the desired mode comes down to loading the proper driver. |
|||
===Step by Step=== |
===Step by Step=== |
||
====Note: This is the first pass - yeah, I'll be back - but it's a start==== |
|||
====Thanks to Vanessa for much of this info!==== |
|||
* Ensure that there are no conflicting drivers being built with your kernel, either as modules or built-in. Basically, disable the whole video4linux subsystem from your kernel config. Rebuild, re-install, and reboot if necessary. |
* Ensure that there are no conflicting drivers being built with your kernel, either as modules or built-in. Basically, disable the whole video4linux subsystem from your kernel config. Rebuild, re-install, and reboot if necessary. |
||
Line 58: | Line 67: | ||
/lib/modules |
/lib/modules |
||
'''Note: Distribution support for the ATSC 120 is unclear, however, the drivers are currently part of the v4l-dvb staging repository, and thus in line to be included with the kernel at some point in the near future.''' |
|||
* Acquire Mercurial from your distribution's packaging system and install it. |
|||
====Note: the support for the Kworld 120 is only just getting distributed (I think). But the support has been part of the v4l-dvb staging repository for months now (it's 20080724 as I type this). That's why you need to get the source and build the drivers.==== |
|||
====You will need mercurial support here (i.e. the "hg" command)==== |
|||
* Acquire the v4l-dvb repository, build and install it: |
* Acquire the v4l-dvb repository from linuxtv.org, build and install it: |
||
# hg clone http://linuxtv.org/hg/v4l-dvb |
# hg clone http://linuxtv.org/hg/v4l-dvb |
||
# cd v4l-dvb |
# cd v4l-dvb |
||
Line 79: | Line 87: | ||
blacklist cx88-dvb |
blacklist cx88-dvb |
||
'''Note: Some Debian systems will have trouble the blacklist, as the modules may refuse to load at all, even manually.''' |
|||
====Note: When I did this on Debian unstable I could not get cx88-dvb or cx88-alsa to load. I had to remove it from the black list before they loaded.==== |
|||
* Save the file and reboot. |
* Save the file and reboot. |
||
Line 92: | Line 100: | ||
modprobe cx88-alsa |
modprobe cx88-alsa |
||
exit 0 |
exit 0 |
||
====Note: Later Vanessa reminded me that I also needed to remove the symbolic links for starting the back end from all of my rc[123456].d directories and insert the command in the above script just after loading the modules==== |
|||
====Note: I actually preserved the way the back end installed it's self and added a script with a lower sequence number then the myth back end script to the rc2.d directory. I'm thinking in this way you can re-install the back end w/o breaking your 120 support. I'll type more about this later if it works out.==== |
|||
If you want to default to Analog/NTSC mode instead, replace "cx88-dvb" above with "cx8800". |
If you want to default to Analog/NTSC mode instead, replace "cx88-dvb" above with "cx8800". |
||
* |
* MythTV users: You will need to ensure that the MythTV backend starts '''after''' the drivers are loaded. This can usually be done by adding to or altering one or more of your distribution's startup scripts. If you have not already done so, you must add both the dummy "MythTV" user and the user you plan to run mythfrontend from (e.g. your primary user account) to the "video" and "audio" groups, and put yourself into the "MythTV" group as well. |
||
* |
* If your computer has already loaded a set of modules from your stock kernel, you will need to reboot your computer now to make all of these changes take effect. When the modules are loaded, the ATSC 120 will be auto-detected, but removing the existing modules will not necessarily reset the state of the capture card, due to the aforementioned resource conflict. |
||
==External Links== |
==External Links== |
Revision as of 19:22, 24 July 2008
The Kworld ATSC 120, also known as the KWorld PlusTV HD PCI 120, is an ATSC PCI add-in card which can receive standard analog television signals (NTSC, PAL, possibly others), as well as standard and high definition digital ATSC broadcasts up to 1920x1080 interlaced. The ATSC 120 features composite and s-video inputs on the back, an analog FM radio, and an infrared remote control.
This device is identical to the Geniatech HDTV Thriller X8000A.
Note: This article is a work in progress.
Status
As of 27 Mar 2008, this card can be used in both analog and digital ATSC modes, although this must be done separately as a reboot between mode switches is presently required, due to the architecture of the card and a resource conflict in the driver. A solution to this issue is currently being worked on. The FM radio, composite video, and S-Video inputs all work when the card is initialized into analog mode. The remote control is not currently supported in any mode, yet.
Experimental drivers can be had by fetching revision 7448 or later of the main v4l-dvb repository.
PCI Information
The ATSC 120 has a PCI subsytem ID of 17de:08c1. The complete details of this card, as reported by lspci -vvnn are:
00:05.0 Multimedia video controller [0400]: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [14f1:8800] (rev 05) Subsystem: KWorld Computer Co. Ltd. Unknown device [17de:08c1] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (5000ns min, 13750ns max), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 21 Region 0: Memory at fa000000 (32-bit, non-prefetchable) [size=16M] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00:05.1 Multimedia controller [0480]: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] [14f1:8801] (rev 05) Subsystem: KWorld Computer Co. Ltd. Unknown device [17de:08c1] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (1000ns min, 63750ns max), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 21 Region 0: Memory at fb000000 (32-bit, non-prefetchable) [size=16M] Capabilities: [4c] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00:05.2 Multimedia controller [0480]: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] [14f1:8802] (rev 05) Subsystem: KWorld Computer Co. Ltd. Unknown device [17de:08c1] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (1500ns min, 22000ns max), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 21 Region 0: Memory at fc000000 (32-bit, non-prefetchable) [size=16M] Capabilities: [4c] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Major components used
- Xceive XC3028 (tuner & analog IF demodulator)
- Samsung S5H1409 / Conexant CX24227 (digital demodulator)
- Conexant cx2388x (A/V Decoder & PCI bridge)
Making it Work
The ATSC 120 is a fairly routine card to set up. Although there is currently is a resource conflict that prevents easy switching between ATSC and analog modes, selecting the desired default mode is accomplished by loading the proper module after a reboot, as described below.
Step by Step
- Ensure that there are no conflicting drivers being built with your kernel, either as modules or built-in. Basically, disable the whole video4linux subsystem from your kernel config. Rebuild, re-install, and reboot if necessary.
- Acquire the xc3028 firmware file as directed by the wiki, and place it in:
/lib/modules
Note: Distribution support for the ATSC 120 is unclear, however, the drivers are currently part of the v4l-dvb staging repository, and thus in line to be included with the kernel at some point in the near future.
- Acquire Mercurial from your distribution's packaging system and install it.
- Acquire the v4l-dvb repository from linuxtv.org, build and install it:
# hg clone http://linuxtv.org/hg/v4l-dvb # cd v4l-dvb # make # make install
- Create a new file to blacklist the new modules from being auto-loaded:
# nano /etc/modprobe.d/blacklist-misc
Add these four lines to it:
blacklist cx8800 blacklist cx8802 blacklist cx88-alsa blacklist cx88-dvb
Note: Some Debian systems will have trouble the blacklist, as the modules may refuse to load at all, even manually.
- Save the file and reboot.
- Once your machine comes back up, do an lsmod and verify that the modules did not load.
- To make Digital/ATSC the default, set up the new modules to be loaded explicitly (note the "exit 0" is probably already in the file):
# nano /etc/rc.local
modprobe cx88-dvb modprobe cx88-alsa exit 0
If you want to default to Analog/NTSC mode instead, replace "cx88-dvb" above with "cx8800".
- MythTV users: You will need to ensure that the MythTV backend starts after the drivers are loaded. This can usually be done by adding to or altering one or more of your distribution's startup scripts. If you have not already done so, you must add both the dummy "MythTV" user and the user you plan to run mythfrontend from (e.g. your primary user account) to the "video" and "audio" groups, and put yourself into the "MythTV" group as well.
- If your computer has already loaded a set of modules from your stock kernel, you will need to reboot your computer now to make all of these changes take effect. When the modules are loaded, the ATSC 120 will be auto-detected, but removing the existing modules will not necessarily reset the state of the capture card, due to the aforementioned resource conflict.