freebsd-ports/multimedia/pvr250/files/cxm.txt
Edwin Groothuis e047e497dd Update to the 2010-10-10 version of John Wehles repository.
This now compiles and works fine on 7.x and 8.x.
2010-10-20 21:54:01 +00:00

94 lines
3.2 KiB
Text

[ This is the Oct 10, 2010 snapshot of my source tree. Included are
changes to support FreeBSD 8.1. As a result of the changes the
driver no longer support FreeBSD 4. I'm unsure of FreeBSD 5 - 7
since I don't have a platform to use for building / testing,
however it's likely they still work. ]
To use the Hauppauge PVR-250 / 350 on FreeBSD 5, 6, 7, 8:
1) On FreeBSD 5 and 6 use patch to apply Patch.iicbb-fbsd5
so cxm can use the i2c bus and avoid a crash when unloading
as well as update the prototype for iicbus_write to support
a const buffer.
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 the kernel and modules to ensure the iicbb
patch takes effect.
5) Install the new kernel and modules. 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 0x2050032
cxm0: decoder firmware version 0x2020023
7) On FreeBSD 5.2 and later 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_SETTYPE - Set the channel map / system (default is tuner specific).
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 half D1: 352 x 480 or 352 x 576
DVD full D1: 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/cxm0 > 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.
Enjoy,
John Wehle
-------------------------------------------------------------------------
| Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com |
| John Wehle | Fax: 1-215-540-5495 | |
-------------------------------------------------------------------------