[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.
To Brian
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 
good thing'.



       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 mailing list