Log in Register FAQ Memberlist Search pcHDTV Forum Index
pcHDTV Forum

pcHDTV Forum Index -> mythTV wiith the HD-2000 card -> Can't do a channel scan in Myth w/HD-3000 Goto page Previous  1, 2
Post new topic  This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic 
PostPosted: Fri Dec 23, 2005 7:51 am Reply with quote
waterhead
 
Joined: 24 Apr 2005
Posts: 298




My directory is /dev/dvb/adapter0/frontend0, here's the result:
Code:
crw-rw-rw-  1 root mythtv 212, 3 Dec 20 07:41 /dev/dvb/adapter0/frontend0

I gave everyone full permission to the entire folder (I think)
Code:
chmod -R 777 /dev/dvb
View user's profile Send private message
PostPosted: Fri Dec 23, 2005 7:58 am Reply with quote
waterhead
 
Joined: 24 Apr 2005
Posts: 298




Actually, I forgot to change permissions the last time I remodded the dvb driver. I just redid it, and here's the result:
Code:
crwxrwxrwx  1 root mythtv 212, 3 Dec 20 07:41 /dev/dvb/adapter0/frontend0

It seems that everything was working ok without changing permissions.
View user's profile Send private message
PostPosted: Fri Dec 23, 2005 8:07 am Reply with quote
waterhead
 
Joined: 24 Apr 2005
Posts: 298




Quote:
If I use pchdtv's rules and permissions they stop xine-hd from working


I dont have xine installed, but mplayer won't work. This may be why.
View user's profile Send private message
PostPosted: Fri Dec 23, 2005 9:24 am Reply with quote
fatbird
 
Joined: 10 Nov 2005
Posts: 11




waterhead: There was an error in my last post. I asked for the result of 'ls -l /dev/dvb/frontend0' but I meant to say 'ls -l /dev/dvb/adapter0'. What you gave me works too.

I was looking for the group and permissions that pchdtv's udev generated because I think their settings weren't implemented properly on my machine and if so I was curious as to why. I'm not good at reading the udev rules but it looked like they should have created dev's with owner:group of root:users but what I got was root:root. This is a side issue to the problem with probing the card so I don't want to pursue it further here.

'crw-rw-rw- 1 root mythtv 212, 3' tells me that before you chmod you have owner:group of root:myth and permissions of 666. Have you tried using these permissions without chmoding? You shouldn't need execute permission and if you are a member of the mythtv group all you should need is the standard 660.

BTW, I took a quick look at the myth source and found the code that generates the error message.

Code:
 switch (CardUtil::cardDVBType(cardNumber.toInt(),name))
    {
        case CardUtil::ERROR_OPEN:
            cardname->setValue(QString("Could not open card #%1!")
                                       .arg(cardNumber));
            cardtype->setValue(strerror(errno));
            break;
        case CardUtil::ERROR_PROBE:
            cardname->setValue(QString("Could not get card info for card #%1!")
                                      .arg(cardNumber));
            cardtype->setValue(strerror(errno));
            break;
.
.
.
        case CardUtil::ATSC:
            cardtype->setValue("ATSC");
            cardname->setValue(name);
            break;


I'm not very good at C++ but I gather that if CardUtil had probed the card it would have set cardtype to ATSC and cardname to the appropriate value but instead CardUtil got ERROR_PROBE so myth definately failed at this point. I next need to track the CardUtil function back to where it got ERROR_PROBE and see if I can figure out why. Qiven my level of (non)expertise, this could take a while but if I ever sort it out I'll report back.
View user's profile Send private message
PostPosted: Fri Dec 23, 2005 9:57 am Reply with quote
fatbird
 
Joined: 10 Nov 2005
Posts: 11




waterhead:

Sorry, I was so busy writing my last opus that I didn't see your last 2 posts.

You wrote:
Quote:
It seems that everything was working ok without changing permissions.


I wrote:
Quote:
'crw-rw-rw- 1 root mythtv 212, 3' tells me that before you chmod you have owner:group of root:myth and permissions of 666. Have you tried using these permissions without chmoding?


Answered before asked.

You wrote:
Quote:
Quote:
If I use pchdtv's rules and permissions they stop xine-hd from working


I dont have xine installed, but mplayer won't work. This may be why.


I was wondering where your dvb devices got assigned to the myth group and why the permissions were 666 rather than 660. You must either have different udev rules than I do or a script that is chown'ing and chmod'ing /dev/dvb.

At [url] http://linuxgazette.net/118/knaggs.html
[/url] the author says modprobing cx88-dvb should result in ls -l /dev/dvb/adapter0 reporting:
Quote:
crw-rw---- 1 root video 212, 4 2005-07-31 22:42 /dev/dvb/adapter0/demux0
crw-rw---- 1 root video 212, 5 2005-07-31 22:42 /dev/dvb/adapter0/dvr0
crw-rw---- 1 root video 212, 3 2005-07-31 22:42 /dev/dvb/adapter0/frontend0
crw-rw---- 1 root video 212, 7 2005-07-31 22:42 /dev/dvb/adapter0/net0

with allowance for different date and time. As I posted earlier, this is what I get from the standard udev rules. Whether the fact that you have your dvb devices assigned to a myth group rather than the video group is preventing mplayer from working I couldn't say but both xine-hd and mplayer work for me with the video group. (That last senrence is worthy of Dickens but I don't have the energy to restructure it).
View user's profile Send private message
PostPosted: Fri Dec 23, 2005 10:52 am Reply with quote
waterhead
 
Joined: 24 Apr 2005
Posts: 298




Quote:
I was wondering where your dvb devices got assigned to the myth group and why the permissions were 666 rather than 660. You must either have different udev rules than I do or a script that is chown'ing and chmod'ing /dev/dvb.


Somewhere, while trying to work out my problems, I came across this suggestion.
Create a file:20-dvb.permissions and enter into it dvb/adapter[0-3]*/*:root:mythtv:0666

I don't currently have this file, but somewhere along the way I modified the 10-pchdtv.permissions file to reflect the same thing. As you say, this may not be needed anymore.

I also modified the file 50-udev.rules under Kernel=="dvb*" to include the group "mythtv", and gave it a mode of 0666.

I was following suggestions from other posts, and when everthing worked, I just kept it as is.
View user's profile Send private message
PostPosted: Fri Dec 23, 2005 11:00 am Reply with quote
waterhead
 
Joined: 24 Apr 2005
Posts: 298




Here's the result of 'ls -l /dev/dvb/adapter0':
Code:
crwxrwxrwx  1 root mythtv 212, 4 Dec 20 07:41 demux0
crwxrwxrwx  1 root mythtv 212, 5 Dec 20 07:41 dvr0
crwxrwxrwx  1 root mythtv 212, 3 Dec 20 07:41 frontend0
crwxrwxrwx  1 root mythtv 212, 7 Dec 20 07:41 net0

As you see I already changed permissions.
View user's profile Send private message
PostPosted: Mon Dec 26, 2005 10:33 am Reply with quote
fatbird
 
Joined: 10 Nov 2005
Posts: 11




Here's the code from videosource.cpp in mythtv that probes the card:

Code:
enum CardUtil::DVB_TYPES CardUtil::cardDVBType(unsigned nVideoDev,  QString &name)
{
    DVB_TYPES nRet = ERROR_OPEN;
#ifdef USING_DVB
    int fd_frontend = open(dvbdevice(DVB_DEV_FRONTEND, nVideoDev),
                           O_RDWR | O_NONBLOCK);
    if (fd_frontend >= 0)
    {
        struct dvb_frontend_info info;
        nRet = ERROR_PROBE;
        if (ioctl(fd_frontend, FE_GET_INFO, &info) >= 0)
        {
            name = info.name;
            switch(info.type)
            {
            case FE_QAM:
                nRet = QAM;
                break;
            case FE_QPSK:
                nRet = QPSK;
                break;
            case FE_OFDM:
                nRet = OFDM;
                break;
#if (DVB_API_VERSION_MINOR == 1)
            case FE_ATSC:
                nRet = ATSC;
                break;
#endif
            }
        }
        close(fd_frontend);
    }
#else
    (void)nVideoDev;
    (void)name;
#endif
    return nRet;
}


The relevent line is:
Code:
  if (ioctl(fd_frontend, FE_GET_INFO, &info) >= 0)


This is the same mechanism used in azap, which has no problem probing the card.

Code:
   if (ioctl(fe_fd, FE_GET_INFO, &fe_info) < 0) {
      PERROR("ioctl FE_GET_INFO failed");
      return -1;


This is all moot now because yesterday I noticed an updated version of mythtv on the Arch Linux repositories and installed it. Now, with all the same configurations as before, I get the card info and can do a channel scan, which found one more channel than I realized I had.

Problem resolved.
View user's profile Send private message
Can't do a channel scan in Myth w/HD-3000
  pcHDTV Forum Index -> mythTV wiith the HD-2000 card
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT - 7 Hours  
Page 2 of 2  
Goto page Previous  1, 2
  
  
 Post new topic  This topic is locked: you cannot edit posts or make replies.  


Powered by phpBB © 2001-2003 phpBB Group
Theme created by Vjacheslav Trushkin