个人工具

UbuntuHelp:MythTV/Install/Troubleshooting

来自Ubuntu中文

跳转至: 导航, 搜索

<<Include(MythTV/Header)>>

Trouble Shooting

Access denied for user: 'mythtv@localhost'

The most common reason for this problem is not properly setting up your group membership for the user you are trying to launch mythtv with.

  • Are you in the mythtv group?
  • You can check who is in the mythtv group by running
grep mythtv: /etc/group
  • If you aren't in the mythtv group, add yourself to the group
sudo usermod -a -G mythtv USERNAME

Where USERNAME is the name of the user being added.

  • After adding yourself to the group, remove ~/.mythtv and /home/mythtv/.mythtv and then log out/in.
rm ~/.mythtv -rf && rm /home/mythtv/.mythtv -rf
  • If you are already in the group, try to remove ~/.mythtv and then try again.
rm ~/.mythtv -rf && rm /home/mythtv/.mythtv -rf
  • When you installed, did you set a root mysql password? If so, you need to
sudo dpkg-reconfigure mythtv-database
sudo dpkg-reconfigure mythtv-common
  • Did you change your mysql mythtv password? If so you need to
sudo dpkg-reconfigure mythtv-common
  • If you still can't connect, you can change the password.
mysql -u root mysql

You will then be asked for a password. the default password is blank so hit enter or if you have changed the root mysql password enter it. You will then see:

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13 to server version: 5.0.15-Debian_0.dotdeb.1-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

you can set mythtv password to the default (mythtv):

UPDATE user SET Password=PASSWORD('mythtv') WHERE user='mythtv';
FLUSH PRIVILEGES;

Access denied for user: 'root@localhost'

Somehow, during setup your root password for mysql that you entered into mythtv doesn't match. Running

mythtv-setup

Will give you a chance to check the password. then in a terminal:

mysql -u root mysql

You will then be asked for a password. the default password is blank so hit enter or if you have changed the root mysql password enter it. You will then see:

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13 to server version: 5.0.15-Debian_0.dotdeb.1-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

now to change the root password:

UPDATE user SET Password=PASSWORD('<password>') WHERE user='root';
FLUSH PRIVILEGES;

then do <ctrl> + 'd' to quite or type quit. You have now 'fixed' the password. It might be a good idea to run

/etc/mythtv/mysql.txt

and make sure that you update the password there as well.

If still no access for 'root@localhost', may need to re-install MySQL

A possible problem seen in (k)Ubuntu 8.04 and possibly other setups is that MySQL is already pre-installed (since it is used by the pre-installed Amarok) but not set up properly for MythTV. A solution is to remove and purge MySQL and any dependent programs, then install MythTV (which will re-install MySQL), and only then re-install other programs that depend on MySQL. This can be done in Synaptic (or Adept) or in a terminal, as follows:

sudo apt-get remove amarok
sudo apt-get purge mysql-common
sudo apt-get install mythtv

The first command "sudo apt-get remove amarok" removes Amarok but keeps the configuration files; substitute the name of any installed programs which you know depend on MySQL and for which you want to keep the configuration. If you forget to do this for any programs (or skip this step), things will still work, but when you re-install your Amarok or other programs, they will be like new installations and not retain any of your previous settings. The second command "sudo apt-get purge mysql-common" removes MySQL and removes any configuration files, so that when you re-install, you have a chance to set your own root password (or leave blank). It will also remove MythTV (which needs MySQL). The third command "sudo apt-get install mythtv" does the actual reinstallation (re-installing MythTV will automatically re-install MySQL). If you removed Amarok or any other programs, you would want to re-install them with a fourth command "sudo apt-get install amarok", etc.

Mythtv sucessfully finds DVB-T channels, but you cannot watch them

This is caused by bug #188473. Mythtv associates the channels it has found (or imported from a channels.conf) with the wrong transponder (basically the frequency the channel is transmitted on). Fortunately the mess is easily fixable. Connect to your database using the mysql command line tool and the login data from /etc/mythtv/mysql.txt (or ~/.mythtv/mysql.txt):

mysql -u mythtv -p

Then list the channels and the transponders:

mysql> select * from dtv_multiplex;
mysql> select * from channel;

Now check the association between the mplexid column of the channels (hope there are not more than a few) and the dtv_multiplex table against the DVB-T transmission data for your region. If you are in Germany or Austria you can use: [1]. If you have a channels.conf file for your country, the second column for each channel should be the frequency. Then correct the association for each channel. I had the following tables before correcting them:

| mplexid | sourceid | transportid | networkid | frequency | inversion | symbolrate | fec  | polarity | modulation | bandwidth | lp_code_rate | transmission_mode | guard_interval | visible | constellation | hierarchy | hp_code_rate | sistandard | serviceversion | updatetimestamp     |
+---------+----------+-------------+-----------+-----------+-----------+------------+------+----------+------------+-----------+--------------+-------------------+----------------+---------+---------------+-----------+--------------+------------+----------------+---------------------+
|       1 |        1 |         500 |      8232 | 858000000 | a         |       NULL | NULL | NULL     | NULL       | 8         | 3/4          | 8                 | 1/4            |       0 | qam_16        | n         | 3/4          | dvb        |              2 | 2008-02-02 20:16:03 | 
|       2 |        1 |         500 |      8232 | 514000000 | a         |       NULL | NULL | NULL     | qpsk       | 8         | auto         | a                 | auto           |       0 | auto          | a         | auto         | dvbt       |             33 | 2008-02-02 20:16:03 | 
|       3 |        1 |         330 |      8232 | 474000000 | a         |       NULL | NULL | NULL     | NULL       | 8         | 3/4          | 8                 | 1/4            |       0 | qam_16        | n         | 3/4          | dvb        |              1 | 2008-02-02 20:16:09 | 
|       4 |        1 |         330 |      8232 | 490000000 | a         |       NULL | NULL | NULL     | qpsk       | 8         | auto         | a                 | auto           |       0 | auto          | a         | auto         | dvbt       |             33 | 2008-02-02 20:16:09 |
| chanid | channum | freqid | sourceid | callsign       | name           | icon | finetune | videofilters | xmltvid | recpriority | contrast | brightness | colour | hue   | tvformat | commfree | visible | outputfilters | useonairguide | mplexid | serviceid | atscsrcid | tmoffset | atsc_major_chan | atsc_minor_chan |
+--------+---------+--------+----------+----------------+----------------+------+----------+--------------+---------+-------------+----------+------------+--------+-------+----------+----------+---------+---------------+---------------+---------+-----------+-----------+----------+-----------------+-----------------+
|  11121 | 10121   | NULL   |        1 | PULS 4         | PULS 4         |      |     NULL |              |         |           0 |    32768 |      32768 |  32768 | 32768 | Default  |        0 |       1 |               |             0 |       3 |     10121 |      NULL |        0 |               0 |               0 | 
|  12302 | 11302   | NULL   |        1 | 3SAT           | 3SAT           |      |     NULL |              |         |           0 |    32768 |      32768 |  32768 | 32768 | Default  |        0 |       1 |               |             1 |       3 |     11302 |      NULL |        0 |               0 |               0 | 
|  12303 | 11303   | NULL   |        1 | ORF Sport Plus | ORF Sport Plus |      |     NULL |              |         |           0 |    32768 |      32768 |  32768 | 32768 | Default  |        0 |       1 |               |             1 |       3 |     11303 |      NULL |        0 |               0 |               0 | 
|  11101 | 10101   | NULL   |        1 | ORF1           | ORF1           |      |     NULL |              |         |           0 |    32768 |      32768 |  32768 | 32768 | Default  |        0 |       1 |               |             1 |       1 |     10101 |      NULL |        0 |               0 |               0 | 
|  11112 | 10112   | NULL   |        1 | ORF2 St        | ORF2 St        |      |     NULL |              |         |           0 |    32768 |      32768 |  32768 | 32768 | Default  |        0 |       1 |               |             1 |       1 |     10112 |      NULL |        0 |               0 |               0 | 
|  11120 | 10120   | NULL   |        1 | ATV+           | ATV+           |      |     NULL |              |         |           0 |    32768 |      32768 |  32768 | 32768 | Default  |        0 |       1 |               |             1 |       1 |     10120 |      NULL |        0 |               0 |               0 | 
|  11132 | 10132   | NULL   |        1 | ORF2 B         | ORF2 B         |      |     NULL |              |         |           0 |    32768 |      32768 |  32768 | 32768 | Default  |        0 |       1 |               |             1 |       1 |     10132 |      NULL |        0 |               0 |               0 | 

The following statements solved my problems:

mysql> update channel set mplexid=2 where mplexid=1;
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> update channel set mplexid=4 where mplexid=3;
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

Mythbackend isn't running at startup right after install

Typically this is caused by incorrect permissions on the directory where the backend will be saving your recordings. You can verify this to be the problem by attempting to restart the backend:

sudo /etc/init.d/mythtv-backend restart

Then checking that the backend successfully started:

ps -p `cat /var/run/mythtv/mythbackend.pid`

If you don't see output like:

  PID TTY          TIME CMD
30711 ?        00:00:00 mythbackend

check the log file for errors:

more /var/log/mythtv/mythbackend.log

The end of the log file will indicate exactly why the backend is no longer running. If it ends up being a permissions or ownership problem, just change the permissions and ownership of the recordings directory:

sudo chown mythtv.mythtv /var/lib/mythtv
sudo chmod u=rwx,g=rwxs,o=rx /var/lib/mythtv

(This assumes that your directory for recordings is /var/lib/mythtv. If you have the recordings stored somewhere else, be sure to replace /var/lib/mythtv in the above command with that location.) The end result is that the ownership and permissions should match /var/lib/mythtv as it was set by the installer. (You might want to replace /var/lib/mythtv with a symbolic link to your custom location if you are using a customized location.)

Ownership of NFS lockfile is wrong

After installing Mythbuntu over an existing Gutsy setup, mythbackend wouldn't start. The problem was, the permissions on mythtv/recordings/nfslockfile.lock were wrong. Somehow during the install process, owner was set to ntp, group to mythtv, and perms were 644. The fix:

sudo rm mythtv/recordings/nfslockfile.lock
sudo /etc/init.d/mythtv-backend restart

Sound from live TV does not pause

Symptom: You can watch TV and hear the audio. But when TV is paused, the TV audio moves on. Sourse of problem: The audio signal from your TV tuner card is fed through a cable to your sound card, and played back directly. Solution: You need to mute this input for playback and enable it for capture. You can use the alsamixer utility to change these settings. Start alsamixer in a terminal, use left and right cursors to move to your TV audio input, which most likely is Line or CD (check your hardware manual and where the audio cable is connected); press SPACE to set it as the capture soure, and M to mute it (yes, mute it so that it won't appear directly in playback). You may also need to enable Capture as capture. Use up and down cursor to adjust volume. Once everything is set, press ESC to exit. This information is based on MythTV offical documentation.

Razzing/tinny/metalic sound

This happens with the following combination: Ubuntu 6.10, mythtv 0.20, software encoding tuner card, VIA 8237 chipset. The default sample rate is 32 kHz. However the VIA 8237 chipset only do well with 48 kHz. To solve the problem, open mythfrondend, go to Utilities/Setup -> Setup -> TV Settings -> Recording Profiles -> Software Encoders -> Live TV and change the audio sample rate to 48 kHz. Test effect. Then do the same to settings in Default, High Quality, Low Quality. This solution is based on the MythTV Wiki.

Unable to use Mythweb or phpmyadmin

If you are encountering errors where your web browser attempts to open a PHTML file rather than browse phpmyadmin or mythweb properly, you most likely mixed up the order of some installations and lost some dependencies along the way. Here is what this error typically looks like:

Troubleshooting?action=AttachFile&do=get&target=phtml.png This is what happens when you try to browse to mythweb or phpmyadmin.

To resolve the issue, you will need to install libapache2-mod-php5 or libapache2-mod-php4. Find out which one you have installed ( dpkg -l | grep php will show this).

PHP4

sudo apt-get install libapache2-mod-php4

PHP5

sudo apt-get install libapache2-mod-php5

data/tv_icons directory is not writable

from http://stacktrace.org/

sudo chmod 777 /usr/share/mythtv/mythweb/data/tv_icons

Mythbackend setup not saving settings

This problem is caused by a database setup error. Syptoms include capture card setting not saving, and a database error when finishing backend setup. To fix: In mySQL drop the data base mythconverg If not confident with mySQL install phpmyadmin, and you can do it from a web browser Open Synaptic Package Manager and search for myth-database. Mark package for re-installation, and apply changes. Run mythbackend setup again and problems should have gone.

Unable to Upgrade mythtv-backend (edgy to feisty)

My issue resulted in mythtv-backend being a broken package which prevented the upgrade from continuing. Carefully reviewing the log for the mythtv-backend upgrade revealed that the problem occured during the prerm script. It was attempting to run

invoke-rc.d mythtv-backend stop
.

This was failing (it could have been a manual edit to /etc/init.d/mythtv-backend in the past or a prior bug). To resolve, I replaced /etc/init.d/mythtv-backend with the version in the new mythtv-backend package and verified that

invoke-rc.d mythtv-backend start
invoke-rc.d mythtv-backend stop

worked. Then the package and Ubuntu upgraded without any further issues <<Include(MythTV/Install/Troubleshooting/UPNP)>>

Fixing Capture Card Setup Errors

When removing or adding new capture cards in MythTV setup the database table can become corrupted- causing errors such as "Tuner x set to start on channel 0 which does not exist", etc. To fix this problem you will need your mysql mythtv user's password. If you do not know the password, you can find it in the frontend machine's main user's home directory:

$ cat ~/.mythtv/mysql.txt
 

Then:

  • Run mythtv-setup
  • Delete all video sources
  • Delete all capture cards
  • Exit mythtv-setup
  • Open a terminal and do:
$ mysql mythconverg -u mythtv -p
 

When prompted, enter the mysql password- At the mysql prompt, do:

> truncate table capturecard;
> truncate table cardinput;
> quit
 

Then run mythtv-setup again and configure your capture card and video source(s).

Enable Digest Authentication in MythWeb

For those people who want to have MythWeb access from the open internet the Apache authentication should be enabled.

  • Is the Apache Digest Authentication Module Enabled?
 ls -A -l /etc/apache2/mods-enabled/ | grep auth_digest
 

If you see;

 auth_digest.load -> ../mods-available/auth_digest.load
 

Then it is already enabled, if you do not see it then;

 sudo a2enmod auth_digest
 
  • Do you want to enable authentication only for MythWeb or for then entire Apache server?
  • Secure MythWeb Only
   sudo nano /var/www/mythweb/.htaccess
   

Uncomment the following;

   #    AuthType           Digest
   #    AuthName           "MythTV"
   #    AuthUserFile       /var/www/htdigest
   #    Require            valid-user
   #    BrowserMatch       "MSIE"      AuthDigestEnableQueryStringHack=On
   

It should now look like;

        AuthType           Digest
        AuthName           "MythTV"
        AuthUserFile       /var/www/htdigest
        Require            valid-user
        BrowserMatch       "MSIE"      AuthDigestEnableQueryStringHack=On
   
  • Secure the Entire Server
   sudo nano /etc/apache2/sites-enabled/000-default
   

Change;

   NameVirtualHost *
   <VirtualHost *>
           ServerAdmin webmaster@localhost

           DocumentRoot /var/www/
           <Directory />
                   Options FollowSymLinks
                   AllowOverride None
           </Directory>
   

to

NameVirtualHost *
   <VirtualHost *>
           ServerAdmin webmaster@localhost

           DocumentRoot /var/www/
           <Directory />
                   AuthType           Digest
                   AuthName           "MythTV"
                   AuthUserFile       /var/www/htdigest
                   Require            valid-user
                   BrowserMatch       "MSIE"      AuthDigestEnableQueryStringHack=On
                   Options FollowSymLinks
                   AllowOverride None
           </Directory>
   
  • Make the Authentication File

Does the /var/www/htdigest file already exist?

  • No

Using this command will overwrite an existing file. Be sure it does not already exist or know that it will be overwritten.

   sudo htdigest -c /var/www/htdigest MythTV <User>
   

Where <User> is the name you want to use to login It will ask for the password to be set.

  • Yes
   sudo htdigest /var/www/htdigest MythTV <User>
   

Where <User> is the name you want to use to login It will ask for the password to be set.

  • Restart Apache2
   sudo /etc/init.d/apache2 restart
   

Disable the Screen Saver (Causes a Blank Black Screen After 10 Minutes)

Some people like having the screen saver and some do not, if you don't then here is how to disable it. The assumption here is that you followed the installation instructions for a non-desktop box. In this case you only have openbox and all of the setting are harder to get to. This is written to bring up the GUI for the screen saver on the main screen while MythTV is running. Run the shell commands either from an SSH session or Alt+F1 and the modify the GUI via either the main screen (If you have a mouse hooked up) or a VNC session to do it remotely.

  • Screen Saver Settings

Change to the mythtv user;

  sudo -H -s
  su mythtv
  

Switch to the bash shell;

  bash
  

Set Display Paremeters

  export DISPLAY=:0.0
  

Set the Screen Saver Preferences

  gnome-screensaver-preferences
  

Disable the Screen Saver - Uncheck the following;

  '''Activate screensaver when computer is idle'''
   

Click Close Get back to the default user session (exit bash shell, exit mythtv user, exit root user);

   exit
   exit
   exit
   

Corrupt Tables in MySQL after running mythfilldatabase

Especially on Ubuntu / Mythbuntu AMD64 on Gutsy, after running mythfilldatabase, tables in the mythconverg database appear corrupt or have key errors which are difficult to repair without dropping tables. This appears to be a bug in the mysql MyISAM AMD64 packages. To fix this issue, change the database engine for the mythconverg tables from MyISAM to InnoDB: Backup the mythconverg database. Ensure none of the tables are crashed or have errors first. if need be drop and recreate them from a good backup):

  mysqldump -u [username] -p [password] mythconverg > mythconverg_backup.sql
  

Stop the mythbackend service and close all mythfrontend's running on the box being editied:

  sudo \etc\init.d\mythbackend stop
  

Open your backup the backup file in your favourite editor (vi,emacs) and globally replace ""ENGINE == MYISAM;"" with ""TYPE == INNODB;"" Drop mythconverg DB and create a blank mythconverg

  mysql -u [username] -p [password] mythconverg DROP DATABASE;
  mysql -u [username] -p [password] CREATE DATABASE mythconverg;
  

Restore the modified backup file:

  mysql -u [username] -p [password] mythconverg < mythconverg_backup.sql
  

Restart MythBackend: Stop the mythbackend service and close all mythfrontend's running on the box being editied:

  sudo \etc\init.d\mythbackend start
  

Everything should now function as normal and the table corruptions will stop. This appears to be a MyISAM engine bug, particularly on AMD64 systems. Not using the MyISAM engine remedies the problem.