Route66
tommEE pickles
His Bio
His Blog
His Friends
His Photos
His Comedy
His Projects
Hack Resources
His Links
His Resume
Hire a Hacker
Buy me a...
Birthdaycon 2008

email
pgpkey
dodgeball
myspace

My Route66 Journeys

      If you are not aware of the Route66 project, it is a car MP3 player using the Linux operating system. The CPU generally would be kept in the trunk while the serial fed LCD/VFD display would be in the dashboard. The system has three major components to operate: MySql, mpg123 and the Route66 program.

      I first saw the Route66 project in Maximum Linux magazine. It showed a car based MP3 player that was based on a 1U rack computer. It wasn't necessary to use a 1U system but it saves on space. I started on a 2U computer I had hanging around the house. The article listed the original unit using 133 MHz CPU and 128 Mb Ram. For my purposes I am using a 333 MHz and 256Mb.

     The following is some of the paths I took and different things I was finding out with my setup that might help out others who try the same thing. I would like to express that I am no way an expert on the Route66 project and if you need to research more yourself, you can find the official page at http://anders.com/projects/route66.

     I built the system with RedHat 6.2. Some critics might say that there are better operating systems. The reasons I went with RedHat were: 1) It was originally developed on RedHat. 2) I use RedHat on my laptop, which helps me develop new features. 3) There is wider support for RedHat from the community. RedHat 6.2 proved less troublesome for this project, I tried using RedHat 7.1 but had some weirdness with modules.

     The OS was loaded and I went through disabling services and modules. The OS was loaded without X support and other options such as printing services to make the install as lean as possible. I download the latest stable release of MySql and compiled the source. I recommend grabbing the source instead of getting binaries. You will run into less trouble by doing so. Make sure to follow the instructions on building MySql, do not just configure, make, make install.

     I then extracted and started installing DBI and DBD for MySql. DBI compiled, tested and installed fine. DBD did not compile. I had to through some flags at the makefile for DBD. After compiling with the flags, it installed fine as well.

     Below are the same steps that I took, they are also in the route66 readme. My domain is car.moloch.org:

    car$ mysql mysql -u root
      ...
      mysql> show databases;
      mysql> drop database route66;
      mysql> create database route66;
      mysql> use mysql;
      mysql> grant all privileges on route66.* to route66@localhost identified by 'route66';
      mysql> flush privileges;
      mysql> select user, host, password from user;
      +---------+-----------+------------------+
      | user    | host      | password         |
      +---------+-----------+------------------+
      | root    | localhost |                  |
      | root    | car       |                  |
      |         | localhost |                  |
      |         | car       |                  |
      | route66 | localhost | 3c894bc50ccb5d1a |
      +---------+-----------+------------------+
      5 rows in set (0.01 sec)

      mysql> \q
      Bye
      car$ mysql -u route66 -proute66 route66 < database/schema.sql
      ...
      car$ mysql -u route66 -proute66 route66
      ...
      mysql> show tables;
      ...
      mysql> \q
      Bye.
      car$ cd route66/database
      car$ pwd
      /usr/local/route66/database
      car$ ./add_filesystem
      what's the name of the filesystem? car.moloch.org
      car.moloch.org filesystemid = 2

      done.
      car$ ./add_contributor
      what's the contributor? tommEE
      Anders contributorid = 2

      done.
      car$ ./add_genre
      what's the genre? Rock
      genreid = 1
     
      done.
      car$

     Now the job was to link the webedit directory to /home/http/httpd/html/webedit. This was done by ln -s /usr/local/route66/webedit /home/httpd/html/webedit. I have reasons for not having it linked to the default httpd doc root, but I will get to that later. One thing I did discover, that the route66 docs do not talk about, is you have to add ExecCGI to Options Indexes Includes FollowSymLinks and uncomment #AddHandler cgi-script .cgi in the httpd.conf file.

     I used the route66 scrolling executable because it scrolls and it uses mpg123 instead of splay. Splay needs a different library to work on RedHat, which might be more difficult to find. In my older Route66 project, I did use Splay but I opted for the scroll. You will have to get the perl module for MPG123. I used the perl-Audio-Play-MPG123-0.03-6.i386.rpm but did find that route66 would crash around the ninth song. I downloaded the Audio-Play-MPG123-0.62.tar.gz from http://search.cpan.org and did not experience that problem again.

     The machine is up and running and I have been loading MP3s into the system but I would caution people on loading MP3s. One thing to make sure of is that your MP3s are jitter free. The reason for jitter-free MP3s is that you will hear loud digital noise, mpg123 doesn't error correct for these. If some of your MP3s aren't error free it might crash your route66 program and if this is installed in your car, you might not be able to reboot it safely to get it running again. The Sql database is ok for catorgizing your songs but at the same token, it isn't easy yanking songs, in and out of your database. If you inject songs into the database and then the song is deleted off the hard drive, the program will crash. I am working on a front end for the webedit server to make this easier.I currently use mass_insert to inject my songs into my database.

     I will update this page more as I have more time and work on the machine. In the meantime I have listed links below and you can email me at mp3@moloch.org.