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
- You can check who is in the mythtv group by running
- 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;
- you can set mythtv password to the default (mythtv):
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: http://dvb-t.the-media-channel.com/. 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:
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
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
UPNP Support
If you are looking to use the support for UPNP that is included in 0.20, you will have to install both the frontend and backend packages on your master backend. Unfortunately, a packaging bug is installing some of the necessary files for UPNP to work into the "frontend". This will be resolved in later packages.
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>
toNameVirtualHost * <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 Paremetersexport DISPLAY=:0.0
Set the Screen Saver Preferencesgnome-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
- Change to the mythtv user;
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 mythconvergmysql -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.