Turns out that Raspberry Pi is pretty sweet! Not only is the little-computer-that-could a great project with some really laudable intentions re: education, it’s also a great platform for XBMC!
Just wanted to record some of the tips and tricks and learnings as I go through the process of learning another platform:
- When setting up passwordless access via SSH (i.e. using keys), the
.sshfolder needs to bechmod 700, theauthorized_keysandauthorized_keys2files both need to be there withchmod 600, and the key needs to be a DSA key indicated byssh-dssin theauthorized_keysfile(s). - Yeah, I’m not proud of this workaround (okay, maybe a little), but when you have a large video library (600+ titles), the Pi struggles a bit with reading back from the cache. So, in the short-term, I’ve installed
incrontaband I’m watching the temp folder with the following line entered viaincrontab -e:/home/pi/.xbmc/temp/ IN_CLOSE,IN_CLOSE_WRITE,IN_CLOSE_NOWRITE rm /home/pi/.xbmc/temp/vdb-17492a19.fi. In short, the moment that file is written, it’s deleted again. Saves about 10-15 seconds off the load time, but it’s still slow.
Finally! I can’t tell you how long I have tried to get DD-WRT working as a proper internet gateway in New Zealand! The challenge is that broadband here is PPPoA (not PPPoE), so you are left trying to work through the mess that is half bridging and other such dramas.
Anyway, I leave some notes here for anyone else who is trying, and if I need to refer back.
- I have the Thomson TG585 router (v 8) with the DHCP server on.
- I have the Linksys WRT54G with DD-WRT (micro) running and a cable from the WAN port to a LAN port on the Thomson
- On the Thomson, under Home Network > Devices, I have selected the Linksys and chosen the link down the bottom that says “Assign external IP address to device”. This only worked when I had the WAN setting on the Linksys (in DD-WRT) set to be DHCP, and had to restart a couple of times. It won’t work if the Thomson thinks the connected device has a static IP.
- By now, the external IP address was appearing in the Linksys under WAN IP, but I still couldn’t get internet access. Turns out that there was no default gateway set. Through some serious Googling, I found this site that gave the following commands to be added to the Firewall script section under Administration > Commands:
ip route replace $(nvram get wan_gateway)/32 dev $(nvram get wan_ifname)
ip route replace default via $(nvram get wan_gateway) dev $(nvram get wan_ifname)
SSH’ing into the Linksys after running those commands, and then running route, shows the external gateway appearing at the top of the list.
And then everything seems to be working! Hurray!
This is a bit obscure, but I have managed to set up an Asterisk PBX server with some old Cisco 7910 phones. They have their idiosyncrasies though, so here are a couple of tips I’ve picked up along the way:
- To edit the settings on the phone (e.g. change the TFTP server), you need to unlock the settings by pressing “**#” and then the Settings key. Doing so should make the padlock icon turn to unlocked.
- You can then edit the editable settings by pressing the “*” key, with the “#” key saving your changes.
Filed under: Linux
For some reason, I suddenly stopped receiving email notifications of my voicemail from my trixbox server. A bit of hunting around, I discovered the following error in the logs, or when I tried to manually send mail using sendmail:
451 4.3.5 Error getting LDAP results in map ldapsx: Unknown error 325
sxadmin-scalix@scalix... Deferred: 451 4.3.5 Error getting LDAP results in map ldapsx: Unknown error 325
All of this occurred after I changed my DNS suffix on my new router. To fix the problem, I updated the OMHOSTNAME setting in /etc/opt/scalix/instance.cfg to what the fully-qualified name was et voila! All working when I use the following test code:
echo "Subject: test" | /usr/lib/sendmail -v my@email.com
Since you can’t use the cp command to create links to directories, I found another site with a great use of the find command:
find path_to_the_directories_you_want_to_link_to -type f -exec ln -s \{\} . \;
This should create a symbolic link for each of the directories it finds in the path provided. Brilliant!
I have been playing around with a way to get my Ubuntu box (that is running VLC on startup to stream our satellite TV across the network) to notify other boxes that it is awake and broadcasting. This is so that my wife can start the box up from a WOL script on the kitchen PC and then, once it is booted up, turn on the modded Xbox and run XBMC to connect to the stream and pick up TV downstairs.
Nice enough.
I managed to get it working using the following steps.
- On the PC that broadcasts TV, I added passwordless SSH (via this link) for the user that the kitchen PC runs under.
- On the kitchen PC, I created a script in the
/usr/bincallednotifierthat has the following in it:
export DISPLAY=:0 && export XAUTHORITY=/home/[KITCHEN COMPUTER USERNAME]/.Xauthority && sudo -u [KITCHEN COMPUTER USERNAME] /usr/bin/notify-send "TV is now broadcasting" 2>&1.Most of this is via this page.
- After adding the same user to the TV PC, I have a line in the TV PC
/etc/rc.localthat says
su [KITCHEN COMPUTER USERNAME] -c notifyKitchen
ThenotifyKitchenis a/usr/binscript that simply says
ssh [KITCHEN COMPUTER USERNAME]@[KITCHEN COMPUTER] 'notifier'.
Done and done. When the TV PC boots, it calls this command and the Kitchen PC gets a pop-up notification that TV is running.
So, being the holidays and everything, I thought it would be useful to be able to dial-in to my home network and get access to all my local network resources. I first tried to do this when I was in San Francisco over Putty SSH. Can I just note for everyone reading this that this is not a good idea because if anything goes wrong (like when trying to create a new bridged interface), your network connection goes down…and so does your SSH connection!
But I’ve had a bit of better luck following the howto on OpenVPN.net and have got it so that I currently have a routing connection (not bridged) up and running. So an internal IP address now accesses my server, and I’m able to access the Samba shares, and the VOIP network as well!
Now, I’m just going to work on bridging the network…when I get home!