Date: Sun, 4 Feb 2007 23:49:21 +0100 From: Danny Pansters <danny@ricin.com> To: freebsd-multimedia@freebsd.org Cc: Simon Thoustrup <simon@thoustrup.dk> Subject: Re: Tuner code 0x71 for Hauppauge PVR-150 (pvrxxx) Message-ID: <200702042349.22010.danny@ricin.com> In-Reply-To: <c39ec84c0702041403i2ad28efax51723731cc50c61e@mail.gmail.com> References: <45B91790.9080206@thoustrup.dk> <45C60C4D.7030500@thoustrup.dk> <c39ec84c0702041403i2ad28efax51723731cc50c61e@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 04 February 2007 23:03, usleepless@gmail.com wrote: > Simon, > > On 2/4/07, Simon Thoustrup <simon@thoustrup.dk> wrote: > > Josh Paetzel skrev: > > > Heh, nasty little bugger to get working isn't it? > > > > It sure is.. :) > > > > > 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. > > > > Done that. > > > > It takes a lot longer to load the cxm module now, but I still 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 > > (16382 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 ^^^^^^^^^^^^^ It can't init the (programmable) IF thus it can't tune. I don't have a pvr and am not very familiar with v4l2 and not at all with this port, but this is a common tuner thing. At this stage carrier frequencies and the like get set depending on if you have PAL B/G or I, etc. If that fails it won't be able to tune or to get an image (carrier frequencies etc). I have similar code (only on the iic device rather than iicbb) in kbtv for tuning SAA based TV cards (analog). Maybe there's a device permission problem where the user may not write to the iic device(s)? Or (but then the port/code has a problem I'd reckon) you need to reset the bus (before start) or it doesn't have proper tda support at all. Was reading this thread, thought at least I could point to the place where things go wrong. HTH, Dan > > 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 == -597317209 (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] > > bsd kernel: cxm0: encoder firmware version 0x2050032 > > > > - and still the same error messages when trying pvr250-setchannel: > > > > ioctl( tfd, BT848_GAUDIO ) failed.: Device not configured > > ioctl( tfd, TVTUNER_SETTYPE ) failed.: Invalid argument > > what are the exact parameters you are supplying to pvr250-setchannel? > > regards, > > usleep > _______________________________________________ > freebsd-multimedia@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > To unsubscribe, send any mail to > "freebsd-multimedia-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702042349.22010.danny>