diff options
author | Edwin Groothuis <edwin@FreeBSD.org> | 2010-10-20 21:54:01 +0000 |
---|---|---|
committer | Edwin Groothuis <edwin@FreeBSD.org> | 2010-10-20 21:54:01 +0000 |
commit | e047e497dd76e2e9184bcb586692b0e7cfdcea62 (patch) | |
tree | fbaae2c777ef1b3ed631c84d3f6d7743da534f74 /multimedia/pvr250 | |
parent | 4f5f0418a7141eccff3746ee43002a3ed13395b1 (diff) | |
download | ports-e047e497dd76e2e9184bcb586692b0e7cfdcea62.tar.gz ports-e047e497dd76e2e9184bcb586692b0e7cfdcea62.zip |
Notes
Diffstat (limited to 'multimedia/pvr250')
-rw-r--r-- | multimedia/pvr250/Makefile | 19 | ||||
-rw-r--r-- | multimedia/pvr250/distinfo | 6 | ||||
-rw-r--r-- | multimedia/pvr250/files/cxm.txt | 94 | ||||
-rw-r--r-- | multimedia/pvr250/files/extra-patch-dev::cxm::cxm.c | 11 | ||||
-rw-r--r-- | multimedia/pvr250/files/extra-patch-dev::cxm::cxm.h | 20 | ||||
-rw-r--r-- | multimedia/pvr250/files/patch-modules::cxm::cxm_iic::Makefile | 9 | ||||
-rw-r--r-- | multimedia/pvr250/files/patch-modules_cxm_cxm_Makefile (renamed from multimedia/pvr250/files/patch-modules::cxm::cxm::Makefile) | 6 | ||||
-rw-r--r-- | multimedia/pvr250/files/patch-modules_cxm_cxm__iic_Makefile | 9 | ||||
-rw-r--r-- | multimedia/pvr250/files/pkg-descr.in | 20 | ||||
-rw-r--r-- | multimedia/pvr250/pkg-message | 29 |
10 files changed, 139 insertions, 84 deletions
diff --git a/multimedia/pvr250/Makefile b/multimedia/pvr250/Makefile index a389537e776b..245a8a907f54 100644 --- a/multimedia/pvr250/Makefile +++ b/multimedia/pvr250/Makefile @@ -7,8 +7,7 @@ # PORTNAME= pvr250 -PORTVERSION= 20051030 -PORTREVISION= 1 +PORTVERSION= 20101010 CATEGORIES= multimedia kld MASTER_SITES= http://www.mavetju.org/download/adopted/ DISTFILES= ${CXMSHAR} hcwPVRP2.sys ${PVRTOOLS}.tar.gz @@ -18,28 +17,31 @@ MAINTAINER= edwin@mavetju.org COMMENT= Hauppauge PVR-250/350 TV cards driver for the cxm device CONFLICTS= pvrxxx-* +SUB_FILES= pkg-descr PVRTOOLS= pvr250-1.2 CXMSHAR= cxm-${PORTVERSION}.shar WRKSRC= ${WRKDIR} NOFETCHFILES= hcwPVRP2.sys +DESCR= ${WRKDIR}/pkg-descr RESTRICTED_FILES= hcwPVRP2.sys RESTRICTED= "This port uses a binary driver which is owned by Hauppauge" MAN4= cxm.4 MAN1= pvr250-setchannel.1 +PORTDOCS= cxm.txt .include <bsd.port.pre.mk> MODULESDIR= /boot/kernel PLIST_SUB= MODULESDIR=${MODULESDIR} -.if ${OSVERSION} >= 700031 -EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-dev::cxm::cxm.h \ - ${PATCHDIR}/extra-patch-dev::cxm::cxm.c -.endif +#.if ${OSVERSION} >= 700031 +#EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-dev::cxm::cxm.h \ +# ${PATCHDIR}/extra-patch-dev::cxm::cxm.c +#.endif .if !exists(${DISTDIR}/hcwPVRP2.sys) IGNORE= You need the file hcwPVRP2.sys from the CD coming with the PVR-250/350 card. Please place this file in ${DISTDIR} and run make again. @@ -82,8 +84,7 @@ do-install: ${INSTALL_MAN} ${WRKDIR}/${PVRTOOLS}/cxm.4 ${PREFIX}/man/man4/cxm.4 ${INSTALL_MAN} ${WRKDIR}/${PVRTOOLS}/pvr250-setchannel.1 ${PREFIX}/man/man1/pvr250-setchannel.1 ${INSTALL_PROGRAM} ${WRKDIR}/${PVRTOOLS}/setchannel ${PREFIX}/bin/pvr250-setchannel - -post-install: - @${CAT} ${PKGMESSAGE} + ${MKDIR} ${DOCSDIR} + ${INSTALL_DATA} ${FILESDIR}/cxm.txt ${DOCSDIR} .include <bsd.port.post.mk> diff --git a/multimedia/pvr250/distinfo b/multimedia/pvr250/distinfo index bd26d5c87ba5..9e429aee7aad 100644 --- a/multimedia/pvr250/distinfo +++ b/multimedia/pvr250/distinfo @@ -1,6 +1,6 @@ -MD5 (cxm-20051030.shar) = 1e10d88c9e35568ad7cfe126341c8d90 -SHA256 (cxm-20051030.shar) = c4258160d83f18c4d4403448ec286d448a5b9ef13542f7c4a478583beb5c5934 -SIZE (cxm-20051030.shar) = 197660 +MD5 (cxm-20101010.shar) = 7a64f1b2600d76edfb9917aa2f78f492 +SHA256 (cxm-20101010.shar) = 3af4459a7a19f31fcf9f0166ab1b03d1ca107ec4ac8861fc74ca7591df9310cf +SIZE (cxm-20101010.shar) = 195659 MD5 (pvr250-1.2.tar.gz) = ab6bd568158db4c45789777babe672c1 SHA256 (pvr250-1.2.tar.gz) = 477a0fe2f2c032df75838eed0a371f42cc52069765fdbf92c0a64d666986bc4a SIZE (pvr250-1.2.tar.gz) = 3946 diff --git a/multimedia/pvr250/files/cxm.txt b/multimedia/pvr250/files/cxm.txt new file mode 100644 index 000000000000..f2f268193029 --- /dev/null +++ b/multimedia/pvr250/files/cxm.txt @@ -0,0 +1,94 @@ +[ 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 | | +------------------------------------------------------------------------- diff --git a/multimedia/pvr250/files/extra-patch-dev::cxm::cxm.c b/multimedia/pvr250/files/extra-patch-dev::cxm::cxm.c deleted file mode 100644 index 8d1b865b3de0..000000000000 --- a/multimedia/pvr250/files/extra-patch-dev::cxm::cxm.c +++ /dev/null @@ -1,11 +0,0 @@ ---- dev/cxm/cxm.c.orig 2007-09-05 19:08:24.707875447 +0200 -+++ dev/cxm/cxm.c 2007-09-05 19:08:17.000000000 +0200 -@@ -1799,7 +1799,7 @@ - } - - error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_TTY, -- cxm_intr, sc, &sc->ih_cookie); -+ NULL, cxm_intr, sc, &sc->ih_cookie); - if (error) { - device_printf(dev, "could not setup irq\n"); - goto fail; diff --git a/multimedia/pvr250/files/extra-patch-dev::cxm::cxm.h b/multimedia/pvr250/files/extra-patch-dev::cxm::cxm.h deleted file mode 100644 index 5f525b5625c6..000000000000 --- a/multimedia/pvr250/files/extra-patch-dev::cxm::cxm.h +++ /dev/null @@ -1,20 +0,0 @@ ---- dev/cxm/cxm.h.orig 2007-09-05 19:10:08.361061000 +0200 -+++ dev/cxm/cxm.h 2007-09-05 19:14:25.486827125 +0200 -@@ -211,8 +211,6 @@ - cxm_pal_60hz_source_format, - cxm_secam_50hz_source_format }; - --extern const struct cxm_tuner cxm_tuners[]; -- - enum cxm_type { cxm_unknown_type, cxm_iTVC15_type, cxm_iTVC16_type }; - - /* -@@ -635,6 +633,8 @@ - const struct cxm_saa7115_command *scaling; - }; - -+extern const struct cxm_tuner cxm_tuners[]; -+ - int cxm_saa7115_init( struct cxm_softc *sc ); - int cxm_saa7115_mute( struct cxm_softc *sc ); - int cxm_saa7115_unmute( struct cxm_softc *sc ); diff --git a/multimedia/pvr250/files/patch-modules::cxm::cxm_iic::Makefile b/multimedia/pvr250/files/patch-modules::cxm::cxm_iic::Makefile deleted file mode 100644 index 8fd5589aa033..000000000000 --- a/multimedia/pvr250/files/patch-modules::cxm::cxm_iic::Makefile +++ /dev/null @@ -1,9 +0,0 @@ ---- modules/cxm/cxm_iic/Makefile.orig Fri Oct 15 20:55:23 2004 -+++ modules/cxm/cxm_iic/Makefile Fri Oct 15 20:55:43 2004 -@@ -2,5 +2,6 @@ - KMOD = cxm_iic - SRCS = cxm_i2c.c cxm.h \ - opt_cxm.h bus_if.h device_if.h iicbb_if.h pci_if.h -+CFLAGS += -I../../.. - - .include <bsd.kmod.mk> diff --git a/multimedia/pvr250/files/patch-modules::cxm::cxm::Makefile b/multimedia/pvr250/files/patch-modules_cxm_cxm_Makefile index b06e1e1445f7..d47665856bfc 100644 --- a/multimedia/pvr250/files/patch-modules::cxm::cxm::Makefile +++ b/multimedia/pvr250/files/patch-modules_cxm_cxm_Makefile @@ -1,9 +1,9 @@ ---- modules/cxm/cxm/Makefile.orig Fri Oct 15 20:53:47 2004 -+++ modules/cxm/cxm/Makefile Fri Oct 15 20:55:03 2004 +--- modules/cxm/cxm/Makefile.orig 2010-10-21 08:16:45.000000000 +1100 ++++ modules/cxm/cxm/Makefile 2010-10-21 08:17:00.000000000 +1100 @@ -3,5 +3,6 @@ SRCS = cxm.c cxm.h cxm_dec_fw.c cxm_enc_fw.c cxm_audio.c cxm_eeprom.c \ cxm_ir.c cxm_tuner.c cxm_video.c opt_cxm.h \ bus_if.h device_if.h iicbb_if.h pci_if.h vnode_if.h -+CFLAGS+= -I../../.. ++CFLAGS+= -I../../.. .include <bsd.kmod.mk> diff --git a/multimedia/pvr250/files/patch-modules_cxm_cxm__iic_Makefile b/multimedia/pvr250/files/patch-modules_cxm_cxm__iic_Makefile new file mode 100644 index 000000000000..eb72ab1cddff --- /dev/null +++ b/multimedia/pvr250/files/patch-modules_cxm_cxm__iic_Makefile @@ -0,0 +1,9 @@ +--- modules/cxm/cxm_iic/Makefile.orig 2010-10-21 08:17:40.000000000 +1100 ++++ modules/cxm/cxm_iic/Makefile 2010-10-21 08:17:52.000000000 +1100 +@@ -2,5 +2,6 @@ + KMOD = cxm_iic + SRCS = cxm_i2c.c cxm.h \ + opt_cxm.h bus_if.h device_if.h iicbb_if.h pci_if.h ++CFLAGS+= -I../../.. + + .include <bsd.kmod.mk> diff --git a/multimedia/pvr250/files/pkg-descr.in b/multimedia/pvr250/files/pkg-descr.in new file mode 100644 index 000000000000..bef5fe8bd0b5 --- /dev/null +++ b/multimedia/pvr250/files/pkg-descr.in @@ -0,0 +1,20 @@ +This port contains: + +- Drivers for the Conexant MPEG-2 Codec driver which can be found + on the Hauppauge PVR-250/350 TV cards. + These drivers are (c) John Wehle <john@feith.com> + + See the file %%DOCSDIR%%/pvr250 for a full description + of the functionality of the cxm driver. + +- One program to modify some ioctls on the card: set the channel + and set the window size. + +Note: + +- Note: the maintainer of this port has no inside knowledge of the + workings of this software. Please don't contact me about cards + which don't work. Please contact me about problems with the port, + with possible enhancements, with success stories. + +Author: John Wehle <john@feith.com> diff --git a/multimedia/pvr250/pkg-message b/multimedia/pvr250/pkg-message deleted file mode 100644 index 0400644bf911..000000000000 --- a/multimedia/pvr250/pkg-message +++ /dev/null @@ -1,29 +0,0 @@ -PVR-250/350 - Nearly done! - -If you haven't patched /usr/src/sys/dev/iicbus/iicbb.c yet, and -rebuild a new kernel, and rebooted, these are the following steps: - - - Run "make patch-iicbb". This will enable cxm to use the i2c bus. - - Add this to your kernel configuration file: - DEVICE iicbus - DEVICE iicbb - - Rebuild your kernel. - - Reboot. - -Next step is to load the drivers: - - Run "kldload cxm_iic" - - Run "kldload cxm" - -Check your console (or /var/log/messages if you're running X) and -you should see something like: - - cxm0: <Conexant iTVC15 MPEG Coder> mem ... irq ... at device ... on pci ... - cxm_iic0: <Conexant iTVC15 / iTVC16 I2C cnotroller> on cxm0 - iicbb0: <I2C bit-banging driver> on cxm_iic0 - cxm0: Philips FI1236M K2 Tuner - cxm0: SAA7115 rev 1 video decoder - cxm0: MSP3435G-B6 audio decoder - cxm0: IR Remote - -To test the card, either do "cat /dev/bktr0 > filename.mpg" (FreeBSD -4.x) or "cat /dev/cxm0 > filename.mpg" (FreeBSD 5.x). |