Saturday, May 30, 2009

Setting up a network scanner using SANE

SANE is scanning software for Linux. It stands for Scanning Access Now Easy. It can act as a server with Linux package (x)inetd, so a computer can use the scanner connected to a different computer. And it is INsaneLY tedious and time consuming to set up.

I have my HP 4180 printer/scanner connected to my desktop/Mythbuntu machine, and my laptop can use the scanner. To set this up, first ensure your desktop connected to the scanner can in fact scan. If it can't the first thing to check is SANE is installed. This will install it if not already there -
#apt-get install sane-utils

Now ordinary users must be able to scan, so go to System-Administration-Users and Groups be sure your user name is a member of the scanners group.

There are multiple versions of (x)inetd. It is a software package that spawns a program or process when a request comes in from the network. It is probably not installed, so I would recommend using xinetd not inetd. To install -
#apt-get install xinetd

Now to open the configuration file of xinetd
# sudo nano /etc/xinetd.conf

Copy and paste the following into it -
service sane-port
{
port = 6566
socket_type = stream
wait = no
user = (your user name, or check the user name in the group saned)
group = saned
server = /usr/sbin/saned
}

Now open /etc/sane.d/saned.conf and put in the computer names, IP addresses, or IP address ranges that may access the scanner. My favorite is to do it like so if you would like to allow any computer with the IP address 192.168.1.0 to 192.168.1.254 to access the printer -
192.168.1.0/24

Finally restart xinetd
# /etc/init.d/xinetd restart

On the laptop, open /etc/sane.d/net.conf and type the name or IP address of your desktop with the scanner.

You should now be able to open SANE on the laptop and it will find, and be able to scan from your scanner connected to your desktop. This was compiled from a lot of sources, but the most helpful was

Friday, May 29, 2009

MythTV MythBuntu tweaking

Here are some tweaks I made to my MythBuntu install, which is a distribution of MythTV


MythTV is similar to TiVo, but it is free to use, and free to change, and is much more powerful. It is usually easy to set up a basic install, but depending on your hardware, and the distribution you chose, and your special requirements, it can be fiendishly complex to get running to your satisfaction.



MythTV Volume Too Low


There are 4 places to look if the volume is too low when watching TV. First check in your distribution's volume control in the regular menus. This assumes you have the line out connected to your TV, rather than your headphone out. I suggest being sure your master volume and PCM are set to at least 90%. Then look in your MythTV menus (frontend setup>setup>general) and ensure both volume controls are at 90%. Next, SSH into your Myth computer and run


# alsamixer




Again set the master volume and PCM to at least 90%. So the volume change sticks on reboot, run


# sudo alsactl store




Finally while watching TV or a recording, try pressing F10 and F11 to change the frontend in-viewer volume control. Between this and the TV volume control, you should be able to get it loud enough, and equal to the live TV volume when watching through the TV tuner






Run The Schedule Grabber

The job that fills the TV listing is called mythfilldatabase. It initially grabs 14 days of listings, but if the listings are present, it only grabs tomorrows listings and the listings for the 14th day from now. This is to catch schedule changes at the last minute, and limit the amount of data required.

For some asenine reason, MythBuntu isn't set up to automatically run mythfilldatabase daily. So if you don't set it up, every day you will notice you have one less day of listings available. To set it up, go to

Utilities/Setup -> Setup -> TV Settings -> General -> 7th screen, enable "Automatically run mythfilldatabase". For "Log Path" I used "/tmp/mythfilldatabase.log".


Power Saving

Reduced power mode for the advanced audio output isn't enabled by default
# sudo -i

# echo 60 > /sys/module/snd_hda_intel/parameters/power_save
Gives a timeout of 60 seconds
# echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller
Disables the controller, but will click on wakeup
# exit
You can cat these settings to see what they are, the first one 0 is disabled


Folding At Home

Even though it shouldn't be able to do this, FoldingAtHome can sometimes steal enough CPU cycles to make Flash videos in Firefox choppy. To start and stop it pre Ubuntu 9.10 run -
sudo /etc/init.d/foldingathome [stop|start|restart|status]
To start and stop it on Ubuntu 9.10 and after, run -
sudo service foldingathome [stop|start|restart|status]


Live TV Idle Timeout

If you forget to turn off live TV viewing, it can run for days with the television off. This increases your power consumption and decreases your hard drive life due to the way MythTV works, to be able to record a TV show from the beginning when you are in the middle of watching it. If you'd like live TV to stop after a period of inactivity, you'll need to add a database record.
First you need to find your mysql password
myth@myth:~$ nano /etc/mythtv/mysql.txt
Now sign into mysql
myth@myth:~$ mysql -u mythtv -p mythconverg
Enter Password:
Enter the initial settings (this will shut down the live TV front end on a box called 'myth' after 2 hours)

mysql> INSERT INTO `mythconverg`.`settings` (`value`, `data`, `hostname`) VALUES ('LiveTVIdleTimeout', '240', 'myth');
If you'd like to change it so all live TV frontends shut down after an hour, then you do an update
mysql> UPDATE `mythconverg`.`settings` SET `settings`.`hostname` = null, `settings`.`data` = '120'  WHERE `settings`.`value` = 'LiveTVIdleTimeout';
To see what you have set, do a 
mysql> SELECT * FROM `mythconverg`.`settings` WHERE `settings`.`value` = 'LiveTVIdleTimeout';
Exit when you are happy
mysql> exit
myth@myth:~$

Wednesday, May 20, 2009

Configuring xorg.conf on Linux

If the X server (graphical and video display) doesn't automatically configure on your Ubuntu distro, you have my sympathies. VESA is the backup display method, and while it generally works, it is painfully slow. Don't expect to be able to do any quality multimedia viewing in VESA.

Despite tens of hours trying to install and configure a binary accelerated driver for Sis 671 integrated graphics, I have never got it to work. While people are down on Nvidia for not open-sourcing their drivers, they do generally at least work well. Intel graphics are open-source and work decently, but Intel doesn't offer any graphics systems with real horsepower.

In this blog post, I will continue to add notes and hints for resolving problems with the configuration file of the X server, called xorg.conf.

To get information on your monitor
$ sudo apt-get install xresprobe
$ ddcprobe
Other options are read-edid, `get-edid | parse-edid`

Thursday, May 14, 2009

Setting up HP printer and CUPS on Xubuntu or Mythbuntu

My NSLU2 Unslung install quit booting for the 2nd time. Initially several hours of research, trial, and error, got the Slug recognizing the hard drive and booting again. This time the same steps didn't work. I decided the Slug isn't worth the trouble since my Mythbuntu machine is always running too. Now the Slug services (file/print/itunes server) will go on the Myth machine. Hopefully that will be more stable. Mythbuntu is a Ubuntu distribution of MythTv, a TiVo like software package.

Unless you are a masochist, only buy a HP, or maybe an Epson printer to use with Linux. Fully postcript compliant network printers are also "easy" to set up. Anything else, and you are asking for a visit to the nut house.

The docos for Ubuntu are some of the better around, but at times they leave much to be desired. Mythbuntu is really a Xubuntu distro with a lot of the desktop based packages yanked out and the media player added in. Xubuntu docos are like the red-headed step-child of the Ubuntu world.

It took me a while to figure out due to incomplete and some inaccurate info, but Mythbuntu doesn't come with a subsystem to recognize printers and try to set them up. With a HP printer, you need to install (using Synaptic) "hplip" and "hplip-gui". Your printer may not be recognized without restarting. Supposedly hotplugging is sufficient, but it didn't work for me. You should now have a HP icon in the top right corner; you can click on it, go to settings, print test page and the printer should work.

Now I want to print from other computers. CUPS is what I use, and it is installed as a dependency of hplip, but it is not set up correctly by default unless you are only printing from the computer it is attached to. And why the hell would you use CUPS for that? To get CUPS set up correctly for printing from any computer on your network, you need to
sudo nano /etc/cups/cupsd.conf
And edit the following lines

Where it says...
# Only listen for connections from the local machine.
IF the IP address of your Myth machine the printer plugs into is 192.168.1.100, then add...
Listen 192.168.1.100:631

Where it says...
# Restrict access to the server... Order allow,deny
If all your computers have ip addresses 192.168.1.xxx then add
Allow from 192.168.1.0/24
And add the same "Allow from" directives again under the headers
# Restrict access to the admin pages...
# Restrict access to configuration files...

Now you must restart CUPS by running the command
sudo /etc/init.d/cups restart

You should now be able to view and edit the CUPS server information on the Myth computer, or any other computer by going to http://192.168.1.100:631 in your browser. You should get no 403 Forbidden! errors.

To add the printer on another Ubuntu machine, go to http://localhost:631. Choose "Add printer," answer some of the BS questions, and use the printer location http://192.168.1.100:631/printers/nameofyourprinter

You can add the printer on a Windows computer similarly by going to "Add a network printer" and giving the above address.

I'll post how to add SAMBA file sharing features and iTunes mt-daapd song sharing features to a Mythbuntu install later. This is also so I'll remember how to repair my install when it inevitably craters in the future.