Making Rio Karma work on Ubuntu Dapper

First off, I just got a replacement hard drive for the second time. A Hitachi Travelstar 1.8" (C4K20) compatible with the Karma is very hard to get, but Hitachi just started a new production, so if you need one, you should try to call Hitachi and ask, who's stocking them currently.

Now, just to let you know, what you're in for:

karma_transfer.png

The features are pretty simple, but effective:

  • USB Transfer (much faster than LAN-interfacing with RMMLite)

  • Automatic plug'n'play detection with HAL

  • Automatic transcoding of file-types that the Karma doesn't play (see the screen shot)

  • Synchonisation with media library

  • All the new cool features of Banshee 0.12 (or whatever later version of Banshee that might currently be out)

  • The version I got from SVN was stable! No crashes after hours of running.

This is what you need to do:

All of this takes less than an hour. We're gonna install some stuff from 3rd party repositories, get Banshee from SVN, patch it and install it, and then last - but not least - install a kernel module that enables Ubuntu to detect the Karma and mount it.

  1. Run all this stuff in superuser mode by doing a sudo bash

  2. Get the newest Mono-framework libs by adding a source to apt, updating and then upgrading:

echo "deb http://directhex.mfgames.com/ ./update" >> /etc/apt/sources.list

apt-get update

apt-get dist-upgrade

  1. Remove Banshee and add the requirements for compiling it from SVN

apt-get remove banshee

apt-get build-dep banshee

sudo apt-get install libmono-sqlite2.0-cil \

libmono-cairo2.0-cil libglib2.0-dev libtool \
subversion autoconf automake1.9 gnome-common \
libavahi1.0-cil

  1. Ensure that automake is set up properly and the new libraries are loaded in runtime cache:

update-alternatives --set automake /usr/bin/automake-1.9

ldconfig

  1. Get the newest packages of libkarma, libkarma-dev and libkarma-cil from this source. Install them (from command line simply do dpkg -i package.deb ).

  2. Checkout Banshee - SVN will create a new directory for it. But before executing make, ensure that the the last lines of autogen said "Karma: Yes" - otherwise you're missing the Karma Libs.

svn co http://svn.gnome.org/svn/banshee/trunk/banshee

cd banshee

wget "http://bobcopeland.com/karma/banshee/fix-transcode.patch"

patch -p1 < fix-transcode.patch

./autogen.sh --prefix=/usr --disable-docs

make

make install

  1. Now you have Banshee installed and ready, but you still need to make Ubuntu and HAL capable of detecting and mounting the Karma. To do this, you need to compile a module that enables OMFS, which is the filesystem the Karma uses. First get the Kernel sources and link them correctly:

apt-get install linux-source

cd /usr/src

tar xvfj linux-source-*.tar.bz2

ln -s linux-source*/ /lib/modules/uname -r/build

  1. Now go here and get the latest version of the OMFS kernel module. Untar it somewhere and do this:

make modules modules_install

depmod -a

modprobe usb-storage

mkdir /media/karma

  1. To have the Karma automatically detected please refer to the "HAL" and "fstab" chapters on this page.

  2. Now plugin your Karma. Something should happen (maybe Rythmbox starts... of so, kill it). Now start Banshee and notice that nice Karma icon.

Troubleshooting

Double-check that you have followed all these steps. To ensure that you have the kernel module installed properly, do this:

blockdev --report

mount -t omfs (name of partition... /dev/sda2 or something) /media/karma

If this command says "unknow filesystem type", the module isn't installed correctly. You should check that it is located in /lib/modules/your-current-kernel/extra/omfs.ko. If it is, then try to do a "depmod -a" again and then "modprobe usb-storage" and then re-connect the Karma. The command "dmesg" will tell you if the kernel detected your drive at all.

Other resources