pvrxxx, linux code and modules
gurney_j at resnet.uoregon.edu
Tue Apr 17 17:30:46 UTC 2007
usleepless at gmail.com wrote this message on Tue, Apr 17, 2007 at 08:47 +0200:
> On 4/17/07, John-Mark Gurney <gurney_j at resnet.uoregon.edu> wrote:
> >usleepless at gmail.com wrote this message on Tue, Apr 17, 2007 at 00:51
> >> On 4/16/07, John-Mark Gurney <gurney_j at resnet.uoregon.edu> wrote:
> >> >Greg 'groggy' Lehey wrote this message on Mon, Apr 16, 2007 at 15:20
> >> >> - I need to understand better how tuners work. I've been thinking of
> >> >> writing a document on the subject, something that people could use
> >> >> for help when writing drivers. If you know of anything, even
> >> >> partial or badly laid out, please let me know.
> >> >
> >> >Just to reiterate, tuner code really should be located in userland..
> >> >it's not time sensitive, and can't corrupted state of the kernel..
> >> >
> >> >As for tuners, most/all of them communicate through the i2c bus...
> >> >The tuner is programed w/ the frequency to tune, and depending upon
> >> >the range of frequence will turn on/off various transistors to change
> >> >some of the analog curcuit behavior...
> >> >
> >> >My HDTV device drive does all the tuning from userland...
> >> which driver is this?
> >The DViCO FusionHDTV 5 Lite driver:
> >I have two tuners working in my system at home.
> how does one build this driver? where can i fetch it?
Fetch the files from p4:
Put the dev and modules files in their place in a sys tree, and build
module. You have to build bktr w/ BKTR_USE_FREEBSD_SMBUS and
BKTR_GPIO_ACCESS options. Load the modules along w/ iic, build the
program in capture, and run it like:
./bktrautest 56 foo.ts
I haven't updated my box in a while, but they are known to work w/ a
-current as of last November.
One main reason I haven't imported the driver is I haven't decided what
to do w/ the capture program. Though if someone started using the bktrau
driver to capture audio directly on their bt878 cards, there'd be a good
reason to import it. :)
> >> >It was
> >> >a lot easier to get it working using userland than having to constantly
> >> >load/unload kernel modules, and risk crashing the machine...
> >> you are absolutely spot on about this. it's that i did build upon
> >> pvr250 which had the tuner in kernel space, so i didn't think about
> >> it. otherwise i might have been influenced by the linux source, and i
> >> would have implemented in kernel space as well :-)
> >> but considering V4L(2), which has to support ioctl's changing the
> >> frequency, how could this work from userland?
> >Kill the V4L(2) API? :) I have thought about doing a cdev bridge to
> >userland.. Effectively FUSE, but for cdev's instead of file systems...
> >This would put most/all the logic in userland, and w/ some mmapping
> >magic, can have similar/same performance for high speed devices like
> well, i am certainly not gonna kill the v4l(2) API since i intend to
> use the pvrxxx cards with mythtv.
I ment manage to get a sane userland based API that the Linux folk start
to use too... W/ the userland cdev, we could create our own userland
API, and then plug a V4L front end on top of it...
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
More information about the freebsd-multimedia