e047e497dd
This now compiles and works fine on 7.x and 8.x.
94 lines
3.2 KiB
Text
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 | |
|
|
-------------------------------------------------------------------------
|