media

You are currently browsing articles tagged media.

…or “Installing Debian and the Coherence UPnP media server on a Linksys NSLU2 NAS thing”.

My two Slugs Bun-bun and Kiki are getting a new companion, Aylee. Aylee is a shape-shifter by nature, which means she is running Debian.

Getting Debian on the Slug was surprisingly uncomplicated. I first booted the off-the-shelf Slug. Using ping -b 192.168.1.255 i figured out it was using the “standard Slug IP address” 192.168.1.77. Using its web interface (which still was running the old R24 firmware), i sent it the Debian installer and waited. A few minutes later, the installer was on the Slug, which then booted.

The next step was to ssh installer@192.168.1.77. The password is install. This will start the actual installing process, which will get all the freshest Debian files for the Slug from o’er the Internets. I chose all the easiest and blankest defaults with the only added spice that my Slug would also be a file server. This comes late in the process from Tasksel. The whole installation process takes a number of hours to complete, which was a reminder from the days of old when installations, well, took hours.

The installation process also asked which hard disk it should use and format. I had gone through the extra work of formatting it on the off-the-shelf NSLU2 interface, but this was unnecessary.

During the installation, i was recommended to install ntp or ntpdate. So when the Slug finally had done its installing magic and rebooted (which it does automagically after it “cannot stress enough” the importance about rebooting), i ran apt-get update and apt-get upgrade. Much to my surprise, my system was already up to date. Take that, Windows :) .

The next step was to apt-get install ntpdate. This installed ntpdate but didn’t seem to configure it, so i had to do some manual labour.

cd /etc/cron.hourly
cat > ntpdate
#!/bin/sh
ntpdate fi.pool.ntp.org > /dev/null
^D
chmod +x ntpdate
run-parts --verbose .

Replace fi in fi.pool.ntp.org to whichever country you’re in, or just leave the country bit out (i.e. just write ntpdate pool.ntp.org) for the automagia to do its thing. At ^D, press Control-D. run-parts --verbose . will run the scripts in the current directory (you saw the ., right?) and report how things went. It was this way i realized that the script ntpdate needs to start with the magic line #!/bin/sh and that it must be made executable with chmod +x. You can leave out the > /dev/null bit to begin with and if you get an hourly email from root that ntpdate has adjusted the clock with zero point zero something seconds, everything works as it should and you can add the > /dev/null bit which will silently keep your Slug in time and not give you more email.

My aim with Aylee is to have it as a photo server. As a challenge, i’m going to use the Coherence UPnP server for this. If all goes pear-shaped, i should still be able to re-flash and shape-shift Aylee back into something easier to handle :)

Coherence runs on Python and Python is already on the base Debian installation. There are a number of ways to install Coherence. One is using aptitude, but that will install an old version of Coherence. Another option is to manually install all the dependencies. Not fun. And the Simple way is to use EasyInstaller which in itself first must be installed. For that you need to get setuptools for your version of Python (say python --version to your slug to find out) and run the downloaded file as a script, i.e. sh setuptools-version-py2.x-egg.

At this time, i thought i would be installing Coherence (easy_install Coherence) but ran into a dependency problem. And i thought easy_install would take care of just those. Pfft. I was missing the packages Twisted and Twisted.Web and was suggested to install them. Not knowing exactly how, i said easy_install Twisted. This looked promising for a moment until i was informed the easy_installer was missing gcc, the GNU C compiler..

Duh. This was going to take some time. Compiling stuff on the Slug? Not my idea of fun.

After successfully installing Coherence 0.5.8 with aptitude instead (aptitude install python-coherence) i became a bit disappointed that the offered version was about one year old. Also, i could not get my photos to show on XBMC using UPnP though they showed okay on my Samsung telly. So it was back to the documentation. According to it, the dependencies can be installed with apt-get as well:

apt-get install python-twisted-core
apt-get install python-twisted-web
apt-get install python-configobj

You could also install the dependencies with easy_install, which i only read after having installed the above packages with apt-get. Not that it should matter much.

After that, i could  finally get the latest greatest Coherence installed using easy_install Coherence. About time, i say :)

There were a bunch of warnings during the installation, but a coherence --version at least confirmed that the software did install.

Finally, i installed rsync so i could copy the jpeg versions of my photos from my laptop to Aylee. Which it is doing currently. It’ll take a while. Unfortunately, the kids are now watching Moomins from the telly, so i can’t test my XBMC now. But i have hopes. And the hardware.

Tags: , , , , , ,

The home entertainment network project has progressed with the box having been located.

After having waited nearly a week for the customs department to signal me that i can come and fetch my Asus, a colleague of mine suggested i’d give ‘em a ring. Unlike many other official instances here, the customs still live in the Soviet era when they were stiff and unfriendly and in such a monopolistic position that they didn’t have to care [0]. So i did call them.

I was a bit surprised when my call was answered nearly immediately. I told the receptionist that i had this EMS tracking number and i wanted to know where my box was. According to the tracking, it has been under their wings for a week now. But no, when it comes to EMS tracking numbers, i would have to call the postal services, Itella [1].

Which i did.

The AVR [2] at Itella calmly told me that i was in line, that the typical waiting time was eight minutes, that the call was being recorded and that queuing was going to cost me. Schweet. From there on, things took a turn for the better.

Seven and a half minutes later, a gentleman with butler-like qualities answered, clearly stating his full name and enquiring what i might be enquiring today. Upon telling him, he agreed that the package indeed should be at the customs but instead of asking me to call back, he double checked by recipient address and said he’d check with the customs.

One minute later, he confirmed that my computer indeed was where i had suspected but that he was not able to get its current status at this notice. Could he perhaps call me back after handling the issue with the customs?

Heck yeah!

He repeats his name (in case i want to call him back, i suppose?) and gets on the job.

Another ten minutes and my phone rings again. We now know that the computer is at the customs’ location by the airport and i should ring the customs tomorrow mid day to confirm i can pick it up. Incidentally i’m going for a customer meeting tomorrow just by the airport. How excellent!

I tell him what a hoopy frood he’s been and how much i appreciate his efforts. I give a pile of thanks over the wire and a happy so-long. He responds with a butler’s calmness, thank you and goodbye sir.

Respex and kudos to the Itella customer service. You rule.

I wish the coming weekend was longer, so that i could get down and do some serious tinkering. Thankfully, going to see Riverside (and hopefully interview/photograph) on Saturday is a valid reason not to be too buggered about it.

And there are other, more architectural problems, of which i’ll be writing shortly.

 

[0] Thinking of it, couldn’t there be competing customs?

[1] Long gone are the times when the post was called the post.

[2] automated voice recognition, which was able to tell my “no” apart from the other option (“yes”)

Tags: , , , , ,

Bad Behavior has blocked 726 access attempts in the last 7 days.