atom feed25 messages in org.freebsd.freebsd-multimediaHauppauge WinTV PVR 250 for FreeBSD 5.2
FromSent OnAttachments
John WehleMar 20, 2004 9:28 pm 
u431...@navab.netMar 21, 2004 6:16 am 
Andreas DahlénMar 21, 2004 2:18 pm 
John WehleMar 21, 2004 3:31 pm 
Julian ElischerMar 21, 2004 5:11 pm 
u431...@navab.netMar 22, 2004 10:00 am 
Christoph SchnaußMar 22, 2004 11:36 am 
John WehleMar 22, 2004 10:17 pm 
John WehleMar 22, 2004 10:17 pm 
John WehleMar 22, 2004 10:17 pm 
Andreas DahlénMar 23, 2004 4:09 am 
Christoph SchnaußMar 23, 2004 7:35 am 
u431...@navab.netMar 23, 2004 1:28 pm 
Tim AslatMar 25, 2004 4:37 pm 
Torfinn IngolfsenMar 26, 2004 5:22 am 
Andreas DahlénMar 26, 2004 5:41 am 
Christoph SchnaußMar 26, 2004 5:58 am 
John WehleMar 27, 2004 11:33 am 
Andreas DahlénMar 27, 2004 11:43 am 
John WehleMar 27, 2004 11:44 am 
John WehleMar 27, 2004 12:42 pm 
John WehleMar 27, 2004 5:43 pm 
John WehleMar 27, 2004 6:15 pm 
Michael ClassMar 28, 2004 8:38 am 
Christoph SchnaußMar 28, 2004 11:00 am 
Subject:Hauppauge WinTV PVR 250 for FreeBSD 5.2
From:John Wehle (jo@feith.com)
Date:Mar 20, 2004 9:28:32 pm
List:org.freebsd.freebsd-multimedia
Note:This is a very long message, its output has been truncated.

cxm0: unknown tuner code 0x30

Enclosed is a current snapshot of my source tree which supports the LG Innotek tuners.

he falls out to the "db>"-prompt.

This happens when cxm_attach fails or cxm_detach is called due to a problem with iicbb. The patch to iicbb.c which implements iicbb_child_detached fixes the problem. It sounds like somehow you're using a module which is missing that fix. If that's not the case then you'll have to debug it further.

-- John ------------------8<------------------------8<------------------------

[ This is the Mar 20, 2004 snapshot of my source tree. Included are changes to support some more ioctls and various PAL tuners. ]

To use the Hauppauge PVR-250 / 350 on FreeBSD 4.9 / 5.2:

1) Use patch to apply Patch.iicbb so cxm can use the i2c bus and avoid a crash when unloading.

2) Unshar the enclosed archive into /sys.

3) Place a current version of hcwpvrp2.sys from the Hauppauge drivers into /sys/dev/cxm. Extract the the firmware by:

# cd /sys/dev/cxm # cc -o cxm_extract_fw cxm_extract_fw.c # ./cxm_extract_fw hcwpvrp2.sys

4) Rebuilt your kernel with:

device iicbus device iicbb

as part of the configuration.

5) Install the new kernel and reboot.

6) Make and install the cxm driver by:

# cd /sys/modules/cxm # make # cp cxm/cxm.ko cxm_iic/cxm_iic.ko /modules # kldload cxm_iic # kldload cxm

At which point your console should say something like:

cxm0: <Conexant iTVC15 MPEG Coder> mem 0xd8000000-0xdbffffff irq 12 at device 10 .0 on pci0 cxm_iic0: <Conexant iTVC15 / iTVC16 I2C controller> on cxm0 iicbb0: <I2C bit-banging driver> on cxm_iic0 cxm0: Philips FI1236 MK2 tuner cxm0: SAA7115 rev 1 video decoder cxm0: MSP3435G-B6 audio decoder cxm0: IR Remote cxm0: encoder firmware version 0x2040011 cxm0: decoder firmware version 0x2020023

7) On FreeBSD 4.9 make the device nodes by:

# cd /dev # ./MAKEDEV bktr0

On FreeBSD 5.2 the device node is /dev/cxm0 and magically appears when the cxm modules is loaded.

A subset of the bt848 and meteor ioctls are supported. The more interesting ones being:

TVTUNER_SETCHNL - Set the channel (default to 4).

BT848_SCAPAREA - Set the capture area / format (defaults to DVD).

VCD: 352 x 240 or 352 x 288 SVCD: 480 x 480 or 480 x 576 DVD: 720 x 480 or 720 x 576

METEORCAPTUR - Start / stop the capture.

Capture is also started if a read occurs when the data buffer is empty.

To capture a MPEG program stream from the current channel simply cat /dev/bktr0 > filename.mpeg. Though to ensure a clean capture you probably want to do something like:

1) Read data until the TV show has ended.

2) Use METEORCAPTUR to end the capture.

3) Use poll to determine if there is any data remaining in the device. Read the data as long as poll says there's data in the buffer.

otherwise the end of the mpeg program stream will probably be corrupt.