[linux-dvb] ATSC TS on cx88 where are you?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am close to getting the DViCO FusionHDTV 3 Gold card ATSC 
TS stream working. But I can't find the TS stream anywhere. 
I have written a device driver similar to the or51132 
driver, but tailored to the DViCO hardware.

Here is what is on the card:
Conexant cx23881 PCI / analog capture / DMA controller.
Microtune 4042 tuner.
LGDT3032 ATSC/QAM demodulator.
eeprom that is initialized at the factory.
There is no MPEG decoder.

What works:
Analog TV using v4l2 interface.
DVB tuning using scan program.
DVB registers the adapter and frontend.

I get a timeout error when scan finds a digital channel.
I can't seem to get a TS using any of the test programs. 
They don't report any errors, the just create an empty 
potput file and never write to it no matter if I tune to a 
DTV channel or not.

I placed debugging messages in my driver hand have verified 
in two different ways that the LGDT3302 demodulator is 
locking on to an ATSC signal.

I never see the debug message "dvb thread started\n" 
from video-buf-dvb.c. I suspect this is an indication that I 
failed to initialize something.

When the kernel installs cx8800 modules as part of the boot 
process, dmesg reports:

Linux video capture interface: v1.00
i2c-core: driver tveeprom registered.
cx2388x v4l2 driver version 0.0.4 loaded
ACPI: PCI interrupt 0000:02:0e.0[A] -> GSI 18 (level, low) 
-> IRQ 18
cx88[0]: subsystem: 18ac:d810, board: DViCO - FusionHDTV 3 
Gold [card=17,autodetected]
i2c_adapter i2c-1: Registered as minor 1
i2c_adapter i2c-1: registered as adapter #1
i2c_adapter i2c-1: master_send: writing 1 bytes.
i2c_adapter i2c-1: master_recv: reading 128 bytes.
i2c_adapter i2c-1: master_recv: return:1 (count:128, 
addr:0x50)
cx88[0]/0: found at 0000:02:0e.0, rev: 3, irq: 18, latency: 
32, mmio: 0xef000000
i2c-core: driver tuner registered.
i2c_adapter i2c-1: found normal i2c entry for adapter 1, 
addr 4b
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0060
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0061
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: client [(tuner unset)] registered to 
adapter
registering 1-0061
tuner 1-0061: chip found @ 0xc2 (cx88[0])
tuner 1-0061: type set to 49 (Microtune 4042 FI5 ATSC/NTSC 
dual in)
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0062
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0063
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0064
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0065
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0066
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0067
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0068
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0069
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006a
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006b
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006c
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006d
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006e
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006f
i2c_adapter i2c-1: master_xfer: with 1 msgs.
cx88[0]/0: registered device video0 [v4l2]
cx88[0]/0: registered device vbi0


After I do "modprobe cx88-dvb debug=1" and dmesg reports:

cx2388x dvb driver version 0.0.4 loaded
ACPI: PCI interrupt 0000:02:0e.2[A] -> GSI 18 (level, low) 
-> IRQ 18
cx88[0]/2: found at 0000:02:0e.2, rev: 3, irq: 18, latency: 
32, mmio: 0xed000000
cx88[0]/2: cx2388x based dvb card
i2c_adapter i2c-1: master_xfer: with 2 msgs.
DVB: registering new adapter (cx88[0]).
DVB: registering frontend 0 (DViCO - FusionHDTV 3 Gold)...
bash-2.05b#                                     

It creates the expect device files:

bash-2.05b# ls -l /dev/dvb/*
total 0
crw-rw----  1 root video 212, 4 May 25 16:07 demux0
crw-rw----  1 root video 212, 5 May 25 16:07 dvr0
crw-rw----  1 root video 212, 3 May 25 16:07 frontend0
crw-rw----  1 root video 212, 7 May 25 16:07 net0

bash-2.05b# lsmod
Module                  Size  Used by
cx88_dvb                7940  0
cx8802                 10884  1 cx88_dvb
mt352                   7172  1 cx88_dvb
lgdt3302                9600  1 cx88_dvb
or51132                10756  1 cx88_dvb
dvb_pll                 4612  3 cx88_dvb,lgdt3302,or51132
video_buf_dvb           7044  1 cx88_dvb
snd_seq_midi            9120  0
snd_cmipci             32512  5
snd_opl3_lib           11520  1 snd_cmipci
snd_hwdep              10016  1 snd_opl3_lib
snd_mpu401_uart         8448  1 snd_cmipci
snd_rawmidi            25760  2 snd_seq_midi,snd_mpu401_uart
tuner                  28200  0
cx8800                 32652  0
cx88xx                 56096  3 cx88_dvb,cx8802,cx8800
video_buf              22532  5 
cx88_dvb,cx8802,video_buf_dvb,cx8800,cx88xx
ir_common               8196  1 cx88xx
tveeprom               13208  1 cx88xx
v4l1_compat            14212  1 cx8800
v4l2_common             6016  1 cx8800
btcx_risc               5128  3 cx8802,cx8800,cx88xx
videodev               10368  2 cx8800,cx88xx
nvidia               3470556  12

I am close to getting the DViCO FusionHDTV 3 Gold card ATSC 
TS stream working. But I can't find it anywhere. I have 
written a device driver similar to the or51132 driver, but 
tailored to the DViCO hardware.

Here is what is on the card
Conexant cx23881 PCI / analog capture / DMA controller.
Microtune 4042 tuner.
LGDT3032 ATSC/QAM demodulator.
There is no MPEG decoder.

What works:
Analog TV using v4l2 interface.
DVB tuning using scan program.
DVB registers the adapter and frontend.

I get a timeout error when scan finds a digital channel.
I can't seem to get a TS using any of the test programs. 
They don't report any errors, the just create an empty 
potput file and never write to it no matter if I tune to a 
DTV channel or not.

I placed debugging messages in my driver hand have verified 
in two different ways that the LGDT3302 demodulator is 
locking on to an ATSC signal.

I never see the debug message "dvb thread started\n" 
from video-buf-dvb.c. I suspect this is an indication that I 
failed to initialize something.

When the kernel installs cx8800 modules as part of the boot 
process, dmesg reports:

Linux video capture interface: v1.00
i2c-core: driver tveeprom registered.
cx2388x v4l2 driver version 0.0.4 loaded
ACPI: PCI interrupt 0000:02:0e.0[A] -> GSI 18 (level, low) 
-> IRQ 18
cx88[0]: subsystem: 18ac:d810, board: DViCO - FusionHDTV 3 
Gold [card=17,autodetected]
i2c_adapter i2c-1: Registered as minor 1
i2c_adapter i2c-1: registered as adapter #1
i2c_adapter i2c-1: master_send: writing 1 bytes.
i2c_adapter i2c-1: master_recv: reading 128 bytes.
i2c_adapter i2c-1: master_recv: return:1 (count:128, 
addr:0x50)
cx88[0]/0: found at 0000:02:0e.0, rev: 3, irq: 18, latency: 
32, mmio: 0xef000000
i2c-core: driver tuner registered.
i2c_adapter i2c-1: found normal i2c entry for adapter 1, 
addr 4b
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0060
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0061
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: client [(tuner unset)] registered to 
adapter
registering 1-0061
tuner 1-0061: chip found @ 0xc2 (cx88[0])
tuner 1-0061: type set to 49 (Microtune 4042 FI5 ATSC/NTSC 
dual in)
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0062
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0063
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0064
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0065
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0066
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0067
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0068
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 0069
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006a
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006b
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006c
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006d
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006e
i2c_adapter i2c-1: master_xfer: with 1 msgs.
i2c_adapter i2c-1: found normal i2c_range entry for adapter 
1, addr 006f
i2c_adapter i2c-1: master_xfer: with 1 msgs.
cx88[0]/0: registered device video0 [v4l2]
cx88[0]/0: registered device vbi0


After I do "modprobe cx88-dvb debug=1" and dmesg reports:

cx2388x dvb driver version 0.0.4 loaded
ACPI: PCI interrupt 0000:02:0e.2[A] -> GSI 18 (level, low) 
-> IRQ 18
cx88[0]/2: found at 0000:02:0e.2, rev: 3, irq: 18, latency: 
32, mmio: 0xed000000
cx88[0]/2: cx2388x based dvb card
i2c_adapter i2c-1: master_xfer: with 2 msgs.
DVB: registering new adapter (cx88[0]).
DVB: registering frontend 0 (DViCO - FusionHDTV 3 Gold)...
bash-2.05b#                                     

It creates the expect device files:
bash-2.05b# ls -l /dev/dvb/*
total 0
crw-rw----  1 root video 212, 4 May 25 16:07 demux0
crw-rw----  1 root video 212, 5 May 25 16:07 dvr0
crw-rw----  1 root video 212, 3 May 25 16:07 frontend0
crw-rw----  1 root video 212, 7 May 25 16:07 net0
bash-2.05b#  
bash-2.05b# lsmod
Module                  Size  Used by
cx88_dvb                7940  0
cx8802                 10884  1 cx88_dvb
mt352                   7172  1 cx88_dvb
lgdt3302                9600  1 cx88_dvb
or51132                10756  1 cx88_dvb
dvb_pll                 4612  3 cx88_dvb,lgdt3302,or51132
video_buf_dvb           7044  1 cx88_dvb
snd_seq_midi            9120  0
snd_cmipci             32512  5
snd_opl3_lib           11520  1 snd_cmipci
snd_hwdep              10016  1 snd_opl3_lib
snd_mpu401_uart         8448  1 snd_cmipci
snd_rawmidi            25760  2 snd_seq_midi,snd_mpu401_uart
tuner                  28200  0
cx8800                 32652  0
cx88xx                 56096  3 cx88_dvb,cx8802,cx8800
video_buf              22532  5 
cx88_dvb,cx8802,video_buf_dvb,cx8800,cx88xx
ir_common               8196  1 cx88xx
tveeprom               13208  1 cx88xx
v4l1_compat            14212  1 cx8800
v4l2_common             6016  1 cx8800
btcx_risc               5128  3 cx8802,cx8800,cx88xx
videodev               10368  2 cx8800,cx88xx
nvidia               3470556  12

-- Mac



[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux