[mythtv-users] Which device is which
R. G. Newbury
newbury at mandamus.org
Thu Feb 16 16:12:23 UTC 2006
Brian Wood wrote:
>> Brian Hann wrote:
>> Nope, not yet (well, it did before). I can unload it manually, but
>> I'm not sure how to make that permanent - I tried make menuconfig,
>> but it bombed. Also, not sure why it's being loaded (cx8800).
>> Thanks for chiming in, though - helps to get to the bottom of this.
> Do you have your /usr/src/linux symlink pointing to the correct source
> directory, and did you run "makemenuconfig" from that directory ??
> You could rmmod the module with a line in rc.local (if your distro
> runs that way). I'm not really sure that it is causing me problems
> though, azap gives me proper results and I can play the stream with
> mplayer, I just get "too many packet" errors and azap loses lock at
> times while playing, but never otherwise.
> It looks to me as if I have both an analog and a digital source for
> the hd3000 card (/dev/ideox and /dev/dvb/adapterx), which everyone
> seems to say you can't do.
> But too many other things to work out, getting the hd card working is
> a low priority right now, as I have 3 other cap cards working OK.
> But on the original subject here, a very careful reading of your
> bootup messages should reveal which card is which.
You seem to be a little unclear about how things are supposed to work.
No surprises in that! I'm still messing along and I bought my HD3000
card last June!
Re: the kernel
You would only need to mess with compiling a kernel if your kernel had
not been compiled originally with the modules we are talking about. In
that case, you would need the kernel-source. Since you
installed/upgraded from ATRPMS, you would not likely have the kernel
source, and so, of course, make menuconfig would crash. If you look in
/usr/src/kernels/`uname -r` with ls -al you should see a '.config'
file. This lists all of the things which the kernel was told to either
compile in, or make as modules.
Since you *do* have a cx88_dvb module in /lib/modules, the question is
already answered: the module was built. It would not exist unless the
kernel was told to make it. And Axel Thimm is clearly seriously
interested in multimedia stuff... so it makes sense that he would ensure
that all of that would be enabled.
Re: the cards and the modules.
In Fedora, at least with my machines, it appears that the only way to
make things permanent, is to add lines to rc.local. The following is
what I have deduced from the way things appear to happen. I may be wrong
but I don't think so. On boot, the Fedora kernel, at some point searches
and, I guess, matches found hardware with the list in
/lib/modules/your-kernel-here/modules.pcimap and loads the matching
module. Unfortunately, that file seems to get automagically re-ordered
without human intervention! I edited the file to put cx88-dvb ahead of
cx8800 and cx88-blackbird, but it kept changing back.
So I added lines to rc.local to force the unloading of any unwanted
modules and the loading of the correct module. (Not sure, but I think
that rc.local runs *before* modprobe.conf gets called.)
Your lsmod seems to show that both the cx88-dvb module *and* the cx8800
module are being loaded. This ~could~ be because the Divico card also
uses/can use the cx88-dvb module. Unfortunately, lsmod does not tell us
which hardware is using which module.
Your comment that you thought that the pvr350 was turning up at
/dev/video1 is important. I'm not at my mythbox, but IIRC, you should be
able to see where the pvr card is loaded from the ivtv segment of dmesg.
Dmesg will tell you whether the proper firmware is being loaded for each
card. You may be able to tell which module is being loaded for the
HD3000, but IIRC, it is rather obscure and hard to tell exactly which
module is being used.
In the meantime, I suggest that the only way for you to tell what is
going on will be to remove all other cards but the HD3000 and comment
out all card associated lines in modprobe.conf while you do some tests.
Then, on a cold boot, check for what /dev entries are showing up, do an
'lsmod > test1', followed by 'rmmod cx88-blackbird', 'rmmod cx8800',
modprobe -v cx88-dvb' and then another lsmod > test2. That will show you
what you need to know. At that point you should also see the
/dev/dvb/adapter0/dvr0 entry show up.
If the HD3000 card IS then showing up at /dev/dvb/adapter0/dvr0, then
put the lines into rc.local, uncomment the ivtv lines, shutdown, add the
pvr card and reboot. The pvr should now show up at /dev/video0 in
accordance with the 'alias char-major-81-0 ivtv' line.
Then do the same with the bttv card and lines.... which I guess should
be after ivtv in modprobe.conf.
And that will confirm where each is supposed to go, and what each needs
to load properly.
Then remember to fire up mythtv-setup and set the names of the tuner
cards in the order you want, and with a name which you can recognize.
Also remember that if your cards only do analog, your lineups for that
card can only be analog channels. And it helps to make your most
finicky card the first card you enter in mythtv-setup (in your case,
like mine, probably the HD3000). This means that myth will choose
another card (should be the pvr350) as the default card and that card is
the easiest and most consistent to set up and tune. The HD3000 card at
least, needs to have the modulation, mplexid, serviceid and other stuff
set before it will actually tune... and that is sometimes difficult to
get right, and when it fails you can end up with a black screeen and a
stuck box. A default tuner/channel combination which always works, is 'a
R. Geoffrey Newbury
Barrister and Solicitor
Suite 106, 150 Lakeshore Road West
Mississauga, Ontario, L5H 3R2
905-271-9600 Fax 905-271-1638
newbury at mandamus.org
More information about the mythtv-users