Skip site navigation (1)Skip section navigation (2)
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>