Thursday, January 31, 2013

Remote access to the Raspberry Pi

Goal: Log in to the Pi from WAN.
Problem: Pi is on the LAN without 192.. address, and my Cable provider changes my WAN IP address from time to time.
Solution: Sign up with a dynamic DNS service, and set up a little program on the Pi that frequently posts its WAN address to the service.

It's dead simple with No-IP.com, and described neatly here on their support page.
Dynamic DNS Help and Support - No-IP

Of course, something needs to be listening on a port. So that port needs to be forwarded from the router to the Pi. I have a AVN Fritz!Box, which has a config page for such things. So for instance, to allow ssh access, you'd forward port 22 to port 22 on your Pi.

Works flawlessly on my setup!

Wednesday, January 16, 2013

Heike's German web site is up now!

Just wanted to let you know. Since I was an unreliable resource as web admin for my wife for her US business web site at www.releaseintopeace.net, she decided to go with a pro for her new German presence at  www.releaseintopeace.de ! While I had picked Drupal as a CMS, Volker Buchwald, her new designer/developer/web master, does things in Joomla! Looks great - congrats Volker!! If you need a site like this, I plug for him with his web address www.werbung-energiearbeit.de.

BTW I also really like Heike's new studio. (Ahem I spent quite a few weekends on the floor, the painting walls, the furniture, the Ethernet cable routing, the ISDN phone system etc etc :-))

Best of all, EFT Tapping and Matrix Reimprinting works great on me too, and I get to go to her Eckehart Tolle night tomorrow, since the kids are off to skiiing in Austria (Bezau to be precise, and yes, sweet little 6-year old Annika will be away for the longest ever 9 days from her parents, but she was soooooo excited on the train platform this morning!).

Sunday, January 06, 2013

Raspberry PI as an iTunes server with forked-daapd

OK, so I have my basic connectivity to the Mac OS with avahi, the HD containing the music is being automounted mode 0666/0777 with autofs udev, and I can see the Pi from the Mac (not from my Windows 8 box yet, for which I will wait for the release of Raspbmc, currently at RC3Raspbmc 1.0 has been released, I have configured Samba, works very well now).

forked-daapd is a free iTunes server, and diegocaro describes a forward port to Raspbian here, which he recommends instead of the foorked-daapd  normally packaged with Raspbian Wheezy due to  problems with the libevent-2.0 dependency. His port uses libevent-1.4.1. I followed his description, and lo and behold, it works, i.e. I can see my music on a iTunes client. Well, it almost worked. I did get drops.

I experimented with the iTunes setting in /etc/forked-daapd.conf


        # Should iTunes metadata override ours?
        itunes_overrides = true

I upped the log level in the conf file and looked at the log output with 

tail -f /var/log/forked-daapd.log

and saw that I started to process the 'iTunes Music Library.xml' file, whose entries refer to the old mp3 file locations back from when I still had the music HD directly on my Windows box, resulting in a slew of "Could not find..." messages. Now the iTunes client is still seeing the share, but hangs at Loading and then reverts back to the local library. So I turned the commented out itunes override again.

The drops are still happening, and more web research will be needed about that. Meanwhile, I wait for that Raspbmc release. Now with the Raspbmc March update, forked-daapd is working great! It picked up all my music, and NO MORE DROPS!! I love it! Banshee and Rythmbox on my Ubuntu Laptop pick up the service just fine, so does iTunes on Windows 8, iTunes on my wife's Mac. I even tried Rythmbox and Banshee simultaneously, no problem. Hyperfine Remote for iTunes on my pad on the hand shows the library content correctly but doesn't play it. Pairing worked as described in the source's README (the Device name is "Remote for iTunes") , but when I select a song, it simply doesn't play at all. Stay tuned for that part.



Friday, January 04, 2013

Raspberry PI USB automounting

Update May 13: This is no longer necessary - raspbmc does automount the drives now.

Somehow I thought that the Raspbmc OS variant would automount my USB drives, but it didn't. I tried installing usbmount, a Debian package, but didn't get the automount at boot to work.
So I gave autofs a shot, which on Raspbmc, my distro, is already installed.

[Edit: With Raspbmc 1.0, it's no longer there, so I installed it with

sudo apt-get install autofs

Then I found that both drives are already mounted in /media, so the rest here is no longer necessary!!
I am unsure now whether they are now mounted because something else than autofs now ships with raspbmc or whether the default autofs installation took care of it
]

I took me some reading, but I got both USB drives to automount with autofs. The Multimedia drive is an NTFS file system, whereas I formatted the other one as HFS+ to be used as a Time Machine drive for my wife's Mac.

There are two files that I needed to touch: /etc/auto.master and /etc/auto.media.

In auto.master, I needed to comment out everything, including

+dir:/etc/auto.master.d

+auto.master
and then added at the end

/mnt/auto /etc/auto.media --timeout=120 --ghost

This last line tells autofs that it should look at the lines in /etc/auto.media and mount those in under /mnt/auto. The --ghost option causes autofs to create the directories there before they are mounted. After 120 seconds inactivity they will be unmounted.

In /etc/auto.media, I put

mm      -fstype=ntfs-3g,defaults,noauto,rw,uid=pi,gid=pi          :/dev/disk/by-uuid/844019F84019F222
tm      -fstype=hfsplus,defaults,noauto,rw       :/dev/disk/by-uuid/d5fd173f-c472-3594-8448-e61b466a52a0

This is almost self-explanatory, but it took me a while to get to the disk/by-uuid trick. /dev/sda1 etc would not work if I ever unplugged the drives and reconnected them in a different order as the OS assigns them different letters then (I read this can be fixed with an entry in the udev config, but I didn't go far enough with it). Usage of disk/by-label seems widespread, but my disk labels contain spaces, and I couldn't figure out how to encode this in auto.media. Ditto with the colons in disk/by-id!

After that I had the ntfs drive under /mnt/auto/mm and the Apple drive under /mnt/auto/tm. Automounting worked after restarting the autofs daemon with

/etc/init.d/autofs restart

I confirmed that this still worked after reboot. Now that I can see my music, on to forked-daapd for serving music with iTunes protocol!