<<O>>  Difference Topic DigitalTelevisionDVB (r1.60 - 26 Jan 2008 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 684 to 684

Deleted:
<
<

  • lsmod_output: output from /sbin/lsmod after a reboot, showing which modules are loaded

Line: 695 to 694

META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
Changed:
<
<
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1129435444" path="pchdtvr-1.0-rc9_dvb_patch" size="268439" user="PeterKnaggs" version="1.11"
>
>
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="h" comment="pchdtvr-1.0-rc9_dvb_patch" date="1201316156" path="pchdtvr-1.0-rc9_dvb_patch" size="230" user="PeterKnaggs" version="1.13"

META FILEATTACHMENT lsmod_output attr="" comment="output from /sbin/lsmod after a reboot, showing which modules are loaded" date="1124768990" path="lsmod_output" size="4508" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT dot_config_2.6.13 attr="" comment="The linux kernel configuration file for 2.6.13" date="1125885132" path="dot_config_2.6.13" size="48568" user="PeterKnaggs" version="1.1"
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.59 - 28 Oct 2007 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 86 to 86

  tar jxvf linux-2.6.12.3.tar.bz2
  cd linux-2.6.12.3
Added:
>
>
apt-get install libglade2-dev

make gconfig fakeroot make-kpkg --initrd kernel_image modules_image
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.58 - 26 Mar 2007 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 668 to 668

Update: On a second (slower) machine, I've found that using an nVidia 5200 video card (which provides support for XvMC) is a better option, and uses far less CPU.

Useful Links

Changed:
<
<
linuxTV wiki page for the cx2388x
>
>

Changed:
<
<
-- PeterKnaggs - 03 Sep 2006
>
>
-- PeterKnaggs - 26 Mar 2007

Back to LinuxHints - Everything GNU ever wanted to know about Linux

 <<O>>  Difference Topic DigitalTelevisionDVB (r1.57 - 14 Sep 2006 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 463 to 463

DEMUX=/dev/dvb/adapter1/demux0 DVR=/dev/dvb/adapter1/dvr0 BUF_SIZE=1925120 ./dvb-apps/test/test_dvr $HOME/test2.mpg 0x2000
Changed:
<
<

Recording using Inkling's pchdtvr

Inkling has merged support for the DVB API (ATSC 8VSB) into pchdtvr, and it will be part of his upcoming release. If you like to help with testing, you can patch DVB support into the pchdtvr-1.0-rc9 release as follows:
  wget http://www.nop.org/inkling/dtv/pchdtvr-1.0-rc9.tar.bz2
  tar jxvf pchdtvr-1.0-rc9.tar.bz2
  wget http://www.penlug.org/twiki/pub/Main/DigitalTelevisionDVB/pchdtvr-1.0-rc9_dvb_patch
  cat pchdtvr-1.0-rc9_dvb_patch|patch -p0 >patch.out 2>patch.err
>
>

Recording using Inkling's atscap

Inkling has merged support for the DVB API (ATSC 8VSB) into the stable 1.0 release of pchdtvr. The new name for pchdtvr is atscap in the current testing/develpment version, to better convey its ability to support any ATSC capture card that uses the DVB api.

Changed:
<
<

Update: the problem of system crashes with pchdtvr when hyperthreading was enabled in the BIOS on Pentium 4 machines is fixed, so it's now safe to enable hyperthreading again!

>
>
The problem of system crashes when hyperthreading was enabled in the BIOS on Pentium 4 machines is also fixed in the 1.0 release, so it's now safe to enable hyperthreading again!

Playback using xine

The regular xine-ui package with Debian is able to play back full ATSC recorded streams. e.g. to playback the stream recorded above, you'd use:
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.56 - 06 Sep 2006 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 16 to 16

a common confusion as explained here, especially now that support for ATSC/8VSB has been added to the Linux DVB-API.

Install kernel 2.6.15

Added:
>
>
Either install Ubuntu 6.06 (Dapper Drake), or if you are using Debian then install the kernel 2.6.15 (or later).

Debian always has builds of recent 2.6 kernels. For example, on Feb 26 2006, installing the package linux-image-686-smp now gives you 2.6.15, which has the DVB drivers all set to go.
Line: 125 to 126

cp dvb-fe-or51132-vsb.fw /usr/lib/hotplug/firmware/ cp dvb-fe-or51132-qam.fw /usr/lib/hotplug/firmware/
Changed:
<
<
>
>
For Ubuntu 6.06 Dapper Drake the firmware files belong in /lib/firmware so I copied them as follows:
  sudo cp dvb-fe-or51132-vsb.fw /lib/firmware/
  sudo cp dvb-fe-or51132-qam.fw /lib/firmware/

Sometimes, even though the firmware is present in the correct location, it still doesn't get uploaded by the hotplug system. If this is the case for you, it may be because of the same problem as described here and
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.55 - 03 Sep 2006 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 668 to 668

kernel: CPU0: Temperature above threshold kernel: CPU0: Running in modulated clock mode
Added:
>
>
Update: On a second (slower) machine, I've found that using an nVidia 5200 video card (which provides support for XvMC) is a better option, and uses far less CPU.

Useful Links

linuxTV wiki page for the cx2388x
Changed:
<
<
-- PeterKnaggs - 18 Nov 2005
>
>
-- PeterKnaggs - 03 Sep 2006

Back to LinuxHints - Everything GNU ever wanted to know about Linux

 <<O>>  Difference Topic DigitalTelevisionDVB (r1.54 - 02 Sep 2006 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 138 to 138

I then restarted udev using:


Changed:
<
<
/etc/init.d/udev restart
>
>
invoke-rc.d udev restart

Load the DVB Kernel module

 <<O>>  Difference Topic DigitalTelevisionDVB (r1.53 - 23 Apr 2006 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 36 to 36

Inkling also discovered the reason for the "stuck" HD-3000 signal scan (where pchdtvr shows all channels at the same 100% level. As he explains in pchdtvr.c (see the section "KNOWN BUGS IN DRIVERS"), it's due to a bug with i2c-algo-bit in Linux kernel. Inkling developed a patch against v4l-dvb 2006-Feb-20 mercurial (hg) CVS to enable i2c hardware in cx88-i2c for the HD3000.
Added:
>
>
GrepTar describes merging Inkling's patch to vanilla kernel 2.6.16.2 and kindly provided a link to download the new patch.

Read on for an example of how to go about building your own kernel, otherwise you can skip the following section.

 <<O>>  Difference Topic DigitalTelevisionDVB (r1.52 - 23 Apr 2006 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 31 to 31

Another aspect to consider is the I2C interrupts. Improperly handling these can cause lockups. Inkling describes the beginnings of a search for a new home for the I2C

Changed:
<
<
interrupt handler here, along with a patch to help get
>
>
interrupt handler here, to help get

the housing requirements of this vital little creature a little bit less misunderstood.
Changed:
<
<
The patch also helps with the "stuck" HD-3000 signal scan (where pchdtvr shows all channels at the same 100% level, due to a bug with i2c-algo-bit. See pchdtvr.c, "KNOWN BUGS IN DRIVERS", for some more details).
>
>
Inkling also discovered the reason for the "stuck" HD-3000 signal scan (where pchdtvr shows all channels at the same 100% level. As he explains in pchdtvr.c (see the section "KNOWN BUGS IN DRIVERS"), it's due to a bug with i2c-algo-bit in Linux kernel. Inkling developed a patch against v4l-dvb 2006-Feb-20 mercurial (hg) CVS to enable i2c hardware in cx88-i2c for the HD3000.

Changed:
<
<
Read on for an example of how to go about building your own kernel, otherwise you can skip the following section.
>
>
Read on for an example of how to go about building your own kernel, otherwise you can skip the following section.

Build kernel 2.6.12.3

I built kernel 2.6.12.3, downloaded on July 30,2005, using this .config file on
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.51 - 27 Feb 2006 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 71 to 71

[-] DVB support for cx2388x based TV Cards (CONFIG_VIDEO_CX88_DVB=m)

Digital Video Broadcasting Devices ->

Changed:
<
<
[-] DVB for Linux (DVB=m) [-] DVB Core Support (DVB_CORE=m)
>
>
[-] DVB for Linux (CONFIG_DVB=m) [-] DVB Core Support (CONFIG_DVB_CORE=m)

Customize DVB Frontends ->
Changed:
<
<
[-] Conexant cx22702 demodulator (OFDM) (DVB_CX22702=m) [-] OR51132 based (pcHDTV HD3000 card) (DVB_OR51132=m)
>
>
[-] Conexant cx22702 demodulator (OFDM) (CONFIG_DVB_CX22702=m) [-] OR51132 based (pcHDTV HD3000 card) (CONFIG_DVB_OR51132=m)

Line: 88 to 88

fakeroot make-kpkg --initrd kernel_image modules_image This produces a file called kernel-image-2.6.12.3_10.00.Custom_i386.deb in the directory containing
Changed:
<
<
linux-2.6.12.3 (i.e. the parent directory). I installed it using apt-get as follows:
>
>
linux-2.6.12.3 (i.e. the parent directory). I installed it (after checking its contents) as follows:


Added:
>
>
dpkg-deb -c kernel-image-2.6.12.3_10.00.Custom_i386.deb

dpkg -i kernel-image-2.6.12.3_10.00.Custom_i386.deb During installation, the initial ramdisk is created. The contents of the initrd.img-2.6.12.3
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.50 - 26 Feb 2006 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 15 to 15

but about DVB (the support for digital video broadcast within the Linux kernel), it's a common confusion as explained here, especially now that support for ATSC/8VSB has been added to the Linux DVB-API.
Added:
>
>

Install kernel 2.6.15

Debian always has builds of recent 2.6 kernels. For example, on Feb 26 2006, installing the package linux-image-686-smp now gives you 2.6.15, which has the DVB drivers all set to go.
  apt-get install linux-image-686-smp
So by using Debian's pre-built kernel, you can save yourself quite a bit of build time, at the expense of some reliability, as described in the following section.

Roll your own

If you would like to add support for the new FE_SET_FRONTEND_TUNE_MODE ioctl with this patch from Andrew de Quincey, then building your own kernel is (for now) still the only option. This patch allows you to set the tuning mode to FE_TUNE_MODE_ONESHOT, which helps a lot to reduce events from the frontend.

Another aspect to consider is the I2C interrupts. Improperly handling these can cause lockups. Inkling describes the beginnings of a search for a new home for the I2C interrupt handler here, along with a patch to help get the housing requirements of this vital little creature a little bit less misunderstood. The patch also helps with the "stuck" HD-3000 signal scan (where pchdtvr shows all channels at the same 100% level, due to a bug with i2c-algo-bit. See pchdtvr.c, "KNOWN BUGS IN DRIVERS", for some more details).

Read on for an example of how to go about building your own kernel, otherwise you can skip the following section.


Build kernel 2.6.12.3

I built kernel 2.6.12.3, downloaded on July 30,2005, using this .config file on this machine, and booted it with great optimism.
Line: 306 to 330

Creating the $HOME/.azap/channels.conf

Put the last section from the above output from atscscan into $HOME/.azap/channels.conf.
Changed:
<
<
(You may need to edit the first column to remove spaces and unusual characters, as you'll need to pass the contents of the first column as a command-line parameter.) Use the "-r" option
>
>
(You may need to edit the first column to remove spaces. Doing that makes it more convenient to pass the contents of this first column as the command-line parameter to the various DVB tools.) Use the "-r" option

to ./dvb-apps/util/szap/azap to tune to a terrestrial 8VSB ATSC channel:
  ./dvb-apps/util/szap/azap -r KNTV-HD
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.49 - 18 Nov 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 478 to 478

and launch xine, now when you press the "DVB" button in the GUI, it actually plays the first channel it finds. It works great on standard definition DTV channels, and on 1280x720 channels.
Changed:
<
<
With the default xine settings, the HDTV 1920x1080 channels had a lot of breakup and glitches,
>
>
With the default xine settings, the HDTV 1920x1088 channels had a lot of breakup and glitches,

which can be fixed by increasing the setting for Number of video buffers under the engine tab in the xine configuration dialog box (first make sure you have selected the Master of the known universe setting on the gui tab, then click the right-arrow at the top of the dialog box to reveal the engine tab).
Line: 632 to 632

For the Radeon X800 card, using xorg rather than XFree gives the lowest CPU usage. Previously with XFree the machine used to run around 90% CPU, whereas now with xorg the CPU usage hovers around 40% (even for xine doing deinterlacing
Changed:
<
<
for 1080 streams). This still seems a lot of CPU to be using for a 3.4GHz machine, but at least when it's
>
>
for 1080i streams). This still seems a lot of CPU to be using for a 3.4GHz machine, but at least when it's

running at 40% the extra fan doesn't kick in, and the dreaded CONFIG_X86_MCE_P4THERMAL warning messages from ./arch/i386/kernel/cpu/mcheck/p4.c aren't seen. Using the radeon driver with xorg has definitely been an improvement. If your system has a P4 CPU and you often see messages like the following, it might be
Line: 645 to 645

Useful Links

linuxTV wiki page for the cx2388x
Changed:
<
<
-- PeterKnaggs - 19 Aug 2005
>
>
-- PeterKnaggs - 18 Nov 2005

Back to LinuxHints - Everything GNU ever wanted to know about Linux

 <<O>>  Difference Topic DigitalTelevisionDVB (r1.48 - 16 Oct 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 667 to 667

META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
Changed:
<
<
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1129359831" path="pchdtvr-1.0-rc9_dvb_patch" size="268113" user="PeterKnaggs" version="1.10"
>
>
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1129435444" path="pchdtvr-1.0-rc9_dvb_patch" size="268439" user="PeterKnaggs" version="1.11"

META FILEATTACHMENT lsmod_output attr="" comment="output from /sbin/lsmod after a reboot, showing which modules are loaded" date="1124768990" path="lsmod_output" size="4508" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT dot_config_2.6.13 attr="" comment="The linux kernel configuration file for 2.6.13" date="1125885132" path="dot_config_2.6.13" size="48568" user="PeterKnaggs" version="1.1"
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.47 - 15 Oct 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 432 to 432

Recording using Inkling's pchdtvr

Changed:
<
<
I've patched support for the DVB API into Inkling's pchdtvr-1.0-rc9 To apply the patch, use
>
>
Inkling has merged support for the DVB API (ATSC 8VSB) into pchdtvr, and it will be part of his upcoming release. If you like to help with testing, you can patch DVB support into the pchdtvr-1.0-rc9 release as follows:

  wget http://www.nop.org/inkling/dtv/pchdtvr-1.0-rc9.tar.bz2
  tar jxvf pchdtvr-1.0-rc9.tar.bz2
Line: 442 to 443

Deleted:
<
<

Update: the problem of system crashes with pchdtvr when hyperthreading was enabled in the BIOS
Changed:
<
<
on Pentium 4 machines (which plagued the old drivers) no longer occurs now when using pchdtvr with the DVB API, so it's now safe to enable hyperthreading again!
>
>
on Pentium 4 machines is fixed, so it's now safe to enable hyperthreading again!

Playback using xine

The regular xine-ui package with Debian is able to play back full ATSC recorded streams. e.g. to playback the stream recorded above, you'd use:
Line: 668 to 667

META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
Changed:
<
<
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1125950171" path="pchdtvr-1.0-rc9_dvb_patch" size="37748" user="PeterKnaggs" version="1.9"
>
>
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1129359831" path="pchdtvr-1.0-rc9_dvb_patch" size="268113" user="PeterKnaggs" version="1.10"

META FILEATTACHMENT lsmod_output attr="" comment="output from /sbin/lsmod after a reboot, showing which modules are loaded" date="1124768990" path="lsmod_output" size="4508" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT dot_config_2.6.13 attr="" comment="The linux kernel configuration file for 2.6.13" date="1125885132" path="dot_config_2.6.13" size="48568" user="PeterKnaggs" version="1.1"
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.46 - 27 Sep 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 484 to 484

the xine configuration dialog box (first make sure you have selected the Master of the known universe setting on the gui tab, then click the right-arrow at the top of the dialog box to reveal the engine tab).
Changed:
<
<
Pressing the KP9 (keypad "9"/"PgUp") and KP3 (keypad "3"/"PgDn") keys in xine will switch channels to whatever you have in your $HOME/.xine/channels.conf
>
>
Pressing the KP9 (keypad "9"/"PgUp") and KP3 (keypad "3"/"PgDn") keys in xine, or using the scroll wheel on your mouse, will switch channels to whatever you have in your $HOME/.xine/channels.conf Using the scroll wheel brings up a convenient on-screen overlay menu listing your channels, and clicking with the left mouse button activates your selection.

You can also tune directly to a channel by giving the channel name (from the first column of your $HOME/.xine/channels.conf, like this:
   xine dvb://KQED-HD
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.45 - 19 Sep 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 641 to 641

kernel: CPU0: Running in modulated clock mode
Added:
>
>

Useful Links

linuxTV wiki page for the cx2388x

-- PeterKnaggs - 19 Aug 2005

Back to LinuxHints - Everything GNU ever wanted to know about Linux

 <<O>>  Difference Topic DigitalTelevisionDVB (r1.44 - 16 Sep 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 445 to 445

Update: the problem of system crashes with pchdtvr when hyperthreading was enabled in the BIOS on Pentium 4 machines (which plagued the old drivers) no longer occurs now when using pchdtvr with

Changed:
<
<
the DVB API, but when hyperthreading is enabled intermittent corruptions tend to occur within the stream being recorded with pchdtvr.
>
>
the DVB API, so it's now safe to enable hyperthreading again!

Playback using xine

The regular xine-ui package with Debian is able to play back full ATSC recorded streams. e.g. to playback the stream recorded above, you'd use:
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.43 - 16 Sep 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 441 to 441

cat pchdtvr-1.0-rc9_dvb_patch|patch -p0 >patch.out 2>patch.err
Changed:
<
<
With the DVB patch, it's no longer required to run pchdtvr as the root user. Now, as long as you have write permission to /dtv, you can run pchdtvr as a regular user. The DVB patch removes the use of the fifo, so pchdtvr no longer needs root to call pthread_setschedparam and set its fifo thread to run with SCHED_FIFO scheduling priority.
>
>

Update: the problem of system crashes with pchdtvr when hyperthreading was enabled in the BIOS on Pentium 4 machines (which plagued the old drivers) no longer occurs now when using pchdtvr with

Changed:
<
<
the DVB API. I tested with two HD3000 cards recording simultaneously.
>
>
the DVB API, but when hyperthreading is enabled intermittent corruptions tend to occur within the stream being recorded with pchdtvr.

Playback using xine

The regular xine-ui package with Debian is able to play back full ATSC recorded streams. e.g. to playback the stream recorded above, you'd use:
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.42 - 11 Sep 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 44 to 44

Video for Linux -> Video Adapters [-] Conexant 2388x (bt878 successor) support (CONFIG_VIDEO_CX88=m)
Changed:
<
<
[-] DVB support for cs2388x based TV Cards (CONFIG_VIDEO_CX88_DVB=m)
>
>
[-] DVB support for cx2388x based TV Cards (CONFIG_VIDEO_CX88_DVB=m)

Digital Video Broadcasting Devices -> [-] DVB for Linux (DVB=m)

 <<O>>  Difference Topic DigitalTelevisionDVB (r1.41 - 05 Sep 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 666 to 666

META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
Changed:
<
<
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1125462054" path="pchdtvr-1.0-rc9_dvb_patch" size="35999" user="PeterKnaggs" version="1.8"
>
>
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1125950171" path="pchdtvr-1.0-rc9_dvb_patch" size="37748" user="PeterKnaggs" version="1.9"

META FILEATTACHMENT lsmod_output attr="" comment="output from /sbin/lsmod after a reboot, showing which modules are loaded" date="1124768990" path="lsmod_output" size="4508" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT dot_config_2.6.13 attr="" comment="The linux kernel configuration file for 2.6.13" date="1125885132" path="dot_config_2.6.13" size="48568" user="PeterKnaggs" version="1.1"
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.40 - 05 Sep 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 660 to 660

  • lsmod_output: output from /sbin/lsmod after a reboot, showing which modules are loaded
Added:
>
>

META FILEATTACHMENT dot_config attr="" comment="The linux kernel configuration file" date="1123800654" path="dot_config" size="47060" user="PeterKnaggs" version="1.2"
META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1125462054" path="pchdtvr-1.0-rc9_dvb_patch" size="35999" user="PeterKnaggs" version="1.8"
META FILEATTACHMENT lsmod_output attr="" comment="output from /sbin/lsmod after a reboot, showing which modules are loaded" date="1124768990" path="lsmod_output" size="4508" user="PeterKnaggs" version="1.1"
Added:
>
>
META FILEATTACHMENT dot_config_2.6.13 attr="" comment="The linux kernel configuration file for 2.6.13" date="1125885132" path="dot_config_2.6.13" size="48568" user="PeterKnaggs" version="1.1"
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.39 - 04 Sep 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.38 - 31 Aug 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 664 to 664

META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
Changed:
<
<
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1125300887" path="pchdtvr-1.0-rc9_dvb_patch" size="35357" user="PeterKnaggs" version="1.7"
>
>
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1125462054" path="pchdtvr-1.0-rc9_dvb_patch" size="35999" user="PeterKnaggs" version="1.8"

META FILEATTACHMENT lsmod_output attr="" comment="output from /sbin/lsmod after a reboot, showing which modules are loaded" date="1124768990" path="lsmod_output" size="4508" user="PeterKnaggs" version="1.1"
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.37 - 29 Aug 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 664 to 664

META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
Changed:
<
<
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1125255207" path="pchdtvr-1.0-rc9_dvb_patch" size="34376" user="PeterKnaggs" version="1.6"
>
>
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1125300887" path="pchdtvr-1.0-rc9_dvb_patch" size="35357" user="PeterKnaggs" version="1.7"

META FILEATTACHMENT lsmod_output attr="" comment="output from /sbin/lsmod after a reboot, showing which modules are loaded" date="1124768990" path="lsmod_output" size="4508" user="PeterKnaggs" version="1.1"
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.36 - 28 Aug 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 441 to 441

cat pchdtvr-1.0-rc9_dvb_patch|patch -p0 >patch.out 2>patch.err
Changed:
<
<
Remember to always heed Inkling's advice to run pchdtvr as the root user. Even though now with the DVB API and the way permissions make it possible to run it as a regular user, pchdtvr still needs to use pthread_setschedparam to run its fifo thread with SCHED_FIFO scheduling priority. Without root, it won't have permission to do this, and after around a gigabyte of capture (or sooner), stream errors will occur.
>
>
With the DVB patch, it's no longer required to run pchdtvr as the root user. Now, as long as you have write permission to /dtv, you can run pchdtvr as a regular user. The DVB patch removes the use of the fifo, so pchdtvr no longer needs root to call pthread_setschedparam and set its fifo thread to run with SCHED_FIFO scheduling priority.

Update: the problem of system crashes with pchdtvr when hyperthreading was enabled in the BIOS on Pentium 4 machines (which plagued the old drivers) no longer occurs now when using pchdtvr with

Line: 665 to 664

META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
Changed:
<
<
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1124832862" path="pchdtvr-1.0-rc9_dvb_patch" size="28955" user="PeterKnaggs" version="1.5"
>
>
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1125255207" path="pchdtvr-1.0-rc9_dvb_patch" size="34376" user="PeterKnaggs" version="1.6"

META FILEATTACHMENT lsmod_output attr="" comment="output from /sbin/lsmod after a reboot, showing which modules are loaded" date="1124768990" path="lsmod_output" size="4508" user="PeterKnaggs" version="1.1"
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.35 - 25 Aug 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 12 to 12

this page about it. But let's go slow, and I'll try to explain all the steps in detail as best I can. By the way, we're not talking here about DVB (the European broadcast standard)
Changed:
<
<
but about DVB (the support for digital video broadcast within the linux kernel), it's
>
>
but about DVB (the support for digital video broadcast within the Linux kernel), it's

a common confusion as explained here, especially now that
Changed:
<
<
support for ATSC/8VSB has been added to the linux DVB-API.
>
>
support for ATSC/8VSB has been added to the Linux DVB-API.

Build kernel 2.6.12.3

I built kernel 2.6.12.3, downloaded on July 30,2005, using this .config file on this machine, and booted it with great optimism.
Line: 87 to 87

  http-proxy=http://your-proxy.your-domain:80
Changed:
<
<
Download the firmware using the scripts contained in the linux kernel sources Documentation/dvb directory, e.g.:
>
>
Download the firmware using the scripts contained in the Linux kernel sources Documentation/dvb directory, e.g.:

  cd ~/linux-2.6.12.3/Documentation/dvb
  perl ./get_dvb_firmware or51132_qam
Line: 245 to 245

cd dvb-apps/util/scan && ./atscscan atsc/us-NTSC-center-frequencies-8VSB
Changed:
<
<
The kernel module will try to load the firmware for the HD3000 card at this point.
>
>
At this point, the kernel module will try to load the firmware for the HD3000 card.

Check your "dmesg" output. If you see this in "dmesg", then the firmware isn't being uploaded by the hotplug subsystem:

Line: 305 to 305

Done.

Creating the $HOME/.azap/channels.conf

Changed:
<
<
Put the last section from the above output from atscscan into $HOME/.azap/channels.conf (you may need to edit the first column to remove spaces and unusual characters, as you'll need to pass the contents of the first column as a command-line parameter). Use the "-r" option
>
>
Put the last section from the above output from atscscan into $HOME/.azap/channels.conf. (You may need to edit the first column to remove spaces and unusual characters, as you'll need to pass the contents of the first column as a command-line parameter.) Use the "-r" option

to ./dvb-apps/util/szap/azap to tune to a terrestrial 8VSB ATSC channel:
  ./dvb-apps/util/szap/azap -r KNTV-HD
Line: 464 to 464

There's also a tempting-looking "DVB" button in the xine GUI. Jack Kelliher recently posted this patch to the xine-devel mailing list. It has a small typo in the following line, where the second (") should be
Changed:
<
<
replaced with a single quote ('), but otherwise it applys fairly cleanly:
>
>
replaced with a single quote ('), but otherwise it applies fairly cleanly:

 +       _("input_dvb: dvbc mrl specified but the tuner doesn"t appear to be QAM (DVB-C)\n"));
Line: 638 to 638

for 1080 streams). This still seems a lot of CPU to be using for a 3.4GHz machine, but at least when it's running at 40% the extra fan doesn't kick in, and the dreaded CONFIG_X86_MCE_P4THERMAL warning messages from ./arch/i386/kernel/cpu/mcheck/p4.c aren't seen. Using the radeon driver with xorg has definitely
Changed:
<
<
been an improvment. If your system has a P4 CPU and you often see messages like the following, it might be
>
>
been an improvement. If your system has a P4 CPU and you often see messages like the following, it might be

time to give xorg a try:
  kernel: CPU0: Temperature above threshold
Line: 649 to 649

Back to LinuxHints - Everything GNU ever wanted to know about Linux

Changed:
<
<
>
>

 <<O>>  Difference Topic DigitalTelevisionDVB (r1.34 - 23 Aug 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 665 to 665

META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
Changed:
<
<
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1124691328" path="pchdtvr-1.0-rc9_dvb_patch" size="28786" user="PeterKnaggs" version="1.4"
>
>
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1124832862" path="pchdtvr-1.0-rc9_dvb_patch" size="28955" user="PeterKnaggs" version="1.5"

META FILEATTACHMENT lsmod_output attr="" comment="output from /sbin/lsmod after a reboot, showing which modules are loaded" date="1124768990" path="lsmod_output" size="4508" user="PeterKnaggs" version="1.1"
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.33 - 23 Aug 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 441 to 441

cat pchdtvr-1.0-rc9_dvb_patch|patch -p0 >patch.out 2>patch.err
Added:
>
>
Remember to always heed Inkling's advice to run pchdtvr as the root user. Even though now with the DVB API and the way permissions make it possible to run it as a regular user, pchdtvr still needs to use pthread_setschedparam to run its fifo thread with SCHED_FIFO scheduling priority. Without root, it won't have permission to do this, and after around a gigabyte of capture (or sooner), stream errors will occur.

Update: the problem of system crashes with pchdtvr when hyperthreading was enabled in the BIOS on Pentium 4 machines (which plagued the old drivers) no longer occurs now when using pchdtvr with the DVB API. I tested with two HD3000 cards recording simultaneously.
 <<O>>  Difference Topic DigitalTelevisionDVB (r1.32 - 23 Aug 2005 - PeterKnaggs)

META TOPICPARENT LinuxHints

DVB with the pcHDTV HD3000

If you're new to digital television, you might like to have a look at the first chapter, to get a feel for
Line: 199 to 199

rmmod /lib/modules/2.6.12.3/kernel/drivers/media/dvb/frontends/dvb-pll.ko
Added:
>
>
When you run the command dmesg the output should contain something similar (this is for two HD3000 cards) to the following:
Linux video capture interface: v1.00
cx2388x dvb driver version 0.0.4 loaded
cx88[0]: subsystem: 7063:3000, board: pcHDTV HD3000 HDTV [card=22,autodetected]
tuner 1-0061: chip found @ 0xc2 (cx88[0])
tuner 1-0061: type set to 52 (Thomson DDT 7610 (ATSC/NTSC))
ACPI: PCI Interrupt 0000:04:02.2[A] -> GSI 18 (level, low) -> IRQ 50
cx88[0]/2: found at 0000:04:02.2, rev: 5, irq: 50, latency: 64, mmio: 0xdc000000
cx88[0]/2: cx2388x based dvb card
DVB: registering new adapter (cx88[0]).
DVB: registering frontend 0 (pcHDTV HD3000 HDTV)...
cx88[1]: subsystem: 7063:3000, board: pcHDTV HD3000 HDTV [card=22,autodetected]
tuner 2-0061: chip found @ 0xc2 (cx88[1])
tuner 2-0061: type set to 52 (Thomson DDT 7610 (ATSC/NTSC))
ACPI: PCI Interrupt 0000:04:03.2[A] -> GSI 16 (level, low) -> IRQ 169
cx88[1]/2: found at 0000:04:03.2, rev: 5, irq: 169, latency: 64, mmio: 0xde000000
cx88[1]/2: cx2388x based dvb card
DVB: registering new adapter (cx88[1]).
DVB: registering frontend 1 (pcHDTV HD3000 HDTV)...

You can compare the output from your /sbin/lsmod to this, which is what I get on the system here, although of course some details may be different.


Using the DVB kernel modules

Get the latest dvb-apps from the linuxtv CVS, using:

Line: 586 to 611

rmmod /lib/modules/2.6.12.3/kernel/drivers/media/video/videodev.ko
Added:
>
>
When you run the command dmesg the output should contain something similar (this is for two HD3000 cards) to the following:
cx2388x v4l2 driver version 0.0.4 loaded
ACPI: PCI Interrupt 0000:04:02.0[A] -> GSI 18 (level, low) -> IRQ 50
cx88[0]/0: found at 0000:04:02.0, rev: 5, irq: 50, latency: 64, mmio: 0xdb000000
cx88[0]/0: registered device video0 [v4l2]
cx88[0]/0: registered device vbi0
cx88[0]/0: registered device radio0
ACPI: PCI Interrupt 0000:04:03.0[A] -> GSI 16 (level, low) -> IRQ 169
cx88[1]/0: found at 0000:04:03.0, rev: 5, irq: 169, latency: 64, mmio: 0xdd000000
cx88[1]/0: registered device video1 [v4l2]
cx88[1]/0: registered device vbi1
cx88[1]/0: registered device radio1

Performance considerations

For the Radeon X800 card, using xorg rather than XFree gives the lowest CPU usage. Previously with XFree the machine used to run
Line: 614 to 653

Added:
>
>
  • lsmod_output: output from /sbin/lsmod after a reboot, showing which modules are loaded

META FILEATTACHMENT dot_config attr="" comment="The linux kernel configuration file" date="1123800654" path="dot_config" size="47060" user="PeterKnaggs" version="1.2"
META FILEATTACHMENT atscscan_output attr="" comment="Output of atscscan, scanning for local channels." date="1122939820" path="atscscan_output" size="9958" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT bootmessages attr="" comment="Kernel boot messages (from serial console)." date="1122948060" path="bootmessages" size="19762" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT jack_kelliher_xine_lib_input_dvb_patch attr="" comment="Jack Kelliher's patch to xine-lib's input_dvb.c, which adds ATSC DVB to xine" date="1123127213" path="jack_kelliher_xine_lib_input_dvb_patch" size="5984" user="PeterKnaggs" version="1.1"
META FILEATTACHMENT pchdtvr-1.0-rc9_dvb_patch attr="" comment="Patch DVB API support into pchdtvr-1.0-rc9" date="1124691328" path="pchdtvr-1.0-rc9_dvb_patch" size="28786" user="PeterKnaggs" version="1.4"
Added:
>
&g