Date: Sun, 28 Jan 2007 23:33:50 +0100 From: usleepless@gmail.com To: freebsd-multimedia@freebsd.org Subject: Fwd: Tuner code 0x71 for Hauppauge PVR-150 (pvrxxx) Message-ID: <c39ec84c0701281433m797d1cdara06f93b3e221af76@mail.gmail.com> In-Reply-To: <c39ec84c0701281432u6265511aw77ceae9b7067c6a1@mail.gmail.com> References: <45B91790.9080206@thoustrup.dk> <200701281627.23403.josh@tcbug.org> <c39ec84c0701281432u6265511aw77ceae9b7067c6a1@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
forgot to cc the list.... ---------- Forwarded message ---------- From: usleepless@gmail.com <usleepless@gmail.com> Date: Jan 28, 2007 11:32 PM Subject: Re: Tuner code 0x71 for Hauppauge PVR-150 (pvrxxx) To: Josh Paetzel <josh@tcbug.org> List, Josh, Simon, On 1/28/07, Josh Paetzel <josh@tcbug.org> wrote: > On Thursday 25 January 2007 14:48, Simon Thoustrup wrote: > > Hi! > > > > I've just received a Hauppauge PVR-150. Getting the tuner to work > > seems to cause me some problems however. > > I'm running 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Wed Jan 24 13:01:44 > > CET 2007 - dmesg and pciconf quoted at the end. > > > > I've tried the following with /usr/ports/multimedia/pvrxxx > > > > 1. Copied hcwPVRP2.sys from the CD to /usr/ports/distfiles/. > > 2. Copied HcwMakoC.ROM from the CD to > > /usr/ports/disfiles/HcwMakoA.ROM 3. Updated distinfo to reflect > > actual SIZE, MD5 and SHA256 of HcwMakoA.ROM 4. make patch-iicbb > > 5. Compile kernel with "device iicbus" and "device iicbb" > > 6. Install kernel and reboot > > 7. make install > > 8. kldload cxm_iic && kldload cxm > > > > This results in the following: > > > > kernel: cxm0: <Conexant iTVC16 MPEG Coder> mem > > 0xd0000000-0xd3ffffff irq 9 at device 13.0 on pci0 > > kernel: cxm_iic0: <Conexant iTVC15 / iTVC16 I2C controller> on cxm0 > > kernel: iicbb0: <I2C bit-banging driver> on cxm_iic0 > > kernel: iicbus0: <Philips I2C bus> on iicbb0 master-only > > kernel: tuner code 113 > > kernel: cxm0: unknown tuner code 0x71 > > kernel: tuner_type = -1 > > kernel: cxm0: could not initialize tuner > > kernel: iicbus0: detached > > kernel: iicbb0: detached > > kernel: cxm_iic0: detached > > kernel: device_attach: cxm0 attach returned 6 > > > > Did a bit of google'ing and found an answer > > (http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-Novembe > >r/005303.html) suggesting that my tuner is, or at least can work as, > > a TCL 2002N-6A. Therefore I did: > > > > 9. kldunload cxm && kldunload cxm_iic > > 10. Opened work/dev/cxm/cxm_eeprom.c and found "0x55" > > 11. Added "case 0x71:" so that it reads: > > case 0x71: > > case 0x55: /* TCL 2002N-6A */ > > 12. rm work/.build_done.pvrxxx._usr_local > > 13. make reinstall -DFORCE_PKG_REGISTER > > 14. kldload cxm_iic && kldload cxm > > > > Now I get: > > > > kernel: cxm0: <Conexant iTVC16 MPEG Coder> mem > > 0xd0000000-0xd3ffffff irq 9 at device 13.0 on pci0 > > kernel: cxm_iic0: <Conexant iTVC15 / iTVC16 I2C controller> on cxm0 > > kernel: iicbb0: <I2C bit-banging driver> on cxm_iic0 > > kernel: iicbus0: <Philips I2C bus> on iicbb0 master-only > > kernel: tuner code 113 > > kernel: tuner_type = 20 > > kernel: cxm0: TCL 2002N-6A tuner > > kernel: <2>cxm 0-0000: loaded /lib/modules/v4l-cx25840.fw firmware > > (14264 bytes) > > kernel: <2>cxm debug 0-0000: decoder set input (0) > > kernel: <2>cxm debug 0-0000: now setting Tuner input > > kernel: <2>cxm debug 0-0000: set audio input (0) > > kernel: <2>cxm debug 0-0000: set audio input (0) > > kernel: cxm0: Eeprom PAL > > kernel: <2>tda 0-0000: switching to v4l2 > > kernel: <2>tda 0-0000: configure for: PAL-BG > > kernel: <2>tda 0-0000: writing: b=0xd4 c=0x70 e=0x09 > > kernel: could not start iic bus > > kernel: probed 54 > > kernel: probed 136 > > kernel: probed 160 > > kernel: probed 194 > > kernel: probed 224 > > kernel: probed 226 > > kernel: probed 228 > > kernel: probed 230 > > kernel: <2>tda 0-0000: i2c i/o error: rc == 2 (should be 4) > > kernel: read error > > kernel: <2>tda 0-0000: i2c i/o error: rc == -597292633 (should be > > 1) kernel: <2>tda 0-0000: read: 0x 0 > > kernel: <2>tda 0-0000: after power on : no > > kernel: <2>tda 0-0000: afc : - 12.5 kHz > > kernel: <2>tda 0-0000: fmif level : low > > kernel: <2>tda 0-0000: afc window : out > > kernel: <2>tda 0-0000: vfi level : low > > kernel: <2>cxm 0-0000: Video signal: not present > > kernel: <2>cxm 0-0000: Detected format: NTSC-M > > kernel: <2>cxm 0-0000: Detected audio mode: forced mode > > kernel: <2>cxm 0-0000: Detected audio standard: forced audio > > standard kernel: <2>cxm 0-0000: Audio muted: no > > kernel: <2>cxm 0-0000: Audio microcontroller: running > > kernel: <2>cxm 0-0000: Configured audio standard: A2-BG > > kernel: <2>cxm 0-0000: Configured audio mode: undefined > > kernel: <2>cxm 0-0000: Specified standard: PAL-BDGHI > > kernel: <2>cxm 0-0000: Specified input: Tuner > > kernel: <2>cxm 0-0000: Specified audio input: Tuner > > kernel: <2>cxm 0-0000: Specified audioclock freq: 48 kHz > > kernel: <2>cxm 0-0000: Preferred audio mode: stereo > > kernel: <2>cxm 0-0000: Selected 65 MHz format: system DK > > kernel: <2>cxm 0-0000: Selected 45 MHz format: chroma > > kernel: cxm0: [GIANT-LOCKED] > > > > I didn't expect it to work, but I tried pvr250-setchannel just to > > be sure: > > > > 15. pvr250-setchannel -a on -m 4 231.25 > > > > Being in Denmark I need -m 4 for PAL. Freq 231.25 is the > > "Info-channel" of the cabel provider TDC in Copenhagen. > > The command gave the following console response: > > > > ioctl( tfd, BT848_GAUDIO ) failed.: Device not configured > > ioctl( tfd, TVTUNER_SETTYPE ) failed.: Invalid argument > > > > In the log I got the following: > > > > kernel: device cxm0 opened > > kernel: <2>cxm 0-0000: Video signal: not present > > kernel: <2>cxm 0-0000: Detected format: NTSC-M > > kernel: <2>cxm 0-0000: Detected audio mode: forced mode > > kernel: <2>cxm 0-0000: Detected audio standard: forced audio > > standard kernel: <2>cxm 0-0000: Audio muted: no > > kernel: <2>cxm 0-0000: Audio microcontroller: running > > kernel: <2>cxm 0-0000: Configured audio standard: A2-BG > > kernel: <2>cxm 0-0000: Configured audio mode: undefined > > kernel: <2>cxm 0-0000: Specified standard: PAL-BDGHI > > kernel: <2>cxm 0-0000: Specified input: Tuner > > kernel: <2>cxm 0-0000: Specified audio input: Tuner > > kernel: <2>cxm 0-0000: Specified audioclock freq: 48 kHz > > kernel: <2>cxm 0-0000: Preferred audio mode: stereo > > kernel: <2>cxm 0-0000: Selected 65 MHz format: system DK > > kernel: <2>cxm 0-0000: Selected 45 MHz format: chroma > > > > - and the output (cat /dev/cxm0 > tv.mpg) gave nothing but static. > > I have tried to place "case 0x71:" with every existing case one by > > one. None of them worked. Some did even worse than the 0x55 case > > (not able to lock device -errors). > > > > Does anyone have a hint? > > I can try installing the card in Windows or Linux, if that can > > provide any information needed by someone wise to come up with the > > magic patch.. > > > > > > Regards > > Simon Thoustrup > > > > Heh, nasty little bugger to get working isn't it? Took me the better > part of 24 hours to make mine go. You have the right tuner code, the > problem lies elsewhere. The size of the firmware image is wired into > one of the files, and it's wrong for the PVR-150. In: > > work/modules/cxm/cxm/fbsd-compat.c: > > You will find: > > int request_firmware(void **fw, char *file, int dummy) > { static struct firmware thef; > *fw = &thef; > thef.data=cx25840_fw; > thef.size = 14264; > return 0; } > > thef.size needs to be changed to 16382 and you need to recompile. as the author of this horrible crap: sorry. i have an updated version of this driver fixing a lot of problems ( including this one ) almost ready. i am currently making it amd64/pvr250/pvr350 capable, providing a single driver for all cards. i am currently porting mythtv-0.20, so i will wait with the release until mythtv-0.20<->pvrxxx works. regards, usleep
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c39ec84c0701281433m797d1cdara06f93b3e221af76>