Raspberry Pi Multi Media Server

A very useful application for the Rasperry Pi is a Multi Media Center.

The most promising version looks like the XBMC distribution, see RaspBMC.

Update 2015-01-17: Version 14 (kodi) is out. The benefits you can read on the official web site. I will write about the bugs I found in kodi.

It looks like, that the analog Audio output (Headphone Jack 3.5 mm) in the Raspberry Pi B+ is improved, so you may no longer need an USB-Audio interface, see Links #12-14.

If you just want to listen to music, the Squeezelite player might be an alternitive, see Links #15.

Project XBMC, Media Server

A very good article was posted http://t3n.de/news/raspbmc-baust-mediaplayer-50-452902/ (in German).



The easiest and most flexible distribution is http://raspbmc.com, in version 12.2 (Frodo). Under menu Download you will find two options:

I decided for the recommended alternative and downloaded the file installer.img.gz (network image, 17.1 MB).

kodi bugs

Here I will describe, what bugs I found.

Network-Manager GUI missing

In order to work, you have to plug in a USB-WiFi/WLAN adapter, which is known to raspbian, see at WLAN.

Unfortunately the Network-Manager GUI I did not found in raspbian version 14 (kodi). That I am not alone, I could see at a forum thread, see at Links #3, titled Raspberry Pi network-manager zip download required. In post #5 I found a link to a zip archive Links #5, a Python Add-on, adopted to kodi. The download was successful:

$ wget --no-check-certificate https://github.com/downloads/vikjon0/script.linux.nm/script.linux.nm-0.1.4.zip
Saving to: `script.linux.nm-0.1.4.zip'

Then I tried with options->settings->Addons Install from ZIP file.

# select: Home folder
# select: script.linux.nm-0.1.4.zip
# Answer: The requirements are not fulfilled, contact your ...

What requirements are needed are not told. So, I tried an installation by an example of a provided add-on.

# move the zip file
$ mv script.linux.nm-0.1.4.zip .kodi/addons/packages

# change directory
$ cd .kodi/addons/packages/

# unzip archive
$ unzip script.linux.nm-0.1.4.zip -d ..

# reboot


Now you can find in Programm Addons the Network-Manager. It tells not compatible, but when you click on execute you get a window with the title WiFi Connections. When you click on Add, you get a list of Available Access Points, see the picture on the right (click to enlarge).

Double click on your own Access Point. The next window is titled Enter ecryption key. Enter with the virtual keyboard the WiFi/WLAN password and click on Ready/OK. Next click on X for closing this window.

In the mask Available Access Points click on Refresh. Under the field Name SSID you will see a > character in front of your Access Point if the password was OK. Next close this window with a click on the X. In the window WiFi Connections you will see now your Access Point, and click on X to close the window.

Next start Program->Settings and select in the Network Mode the mode Wireless (WiFi) Network. Then pull out the LAN cable and do a reboot.

Now have a look at Options->Information if you got another (WiFi/WLAN) IP number via DHCP.


Setup: per SSH:

# for example:
$ ssh pi@
password: raspberry

Change password:

# change password
$ sudo passwd pi
#type new password

Setup: Under System in the GUI you can localize XMBC:

Unfortunately the localization does not work, de_DE-UTF-8 is expected:

$ locale

# tried an update
$ sudo apt-get update

# from http://forum.stmlabs.com/showthread.php?tid=8545
# it says update: yes, upgrade: NO

keyboard layout: In order to change the keyboard layout you have to do -

$ sudo dpkg-reconfigure keyboard-configuration
Keyboard model: Generic 105-key (Intl) PC - OK
Keyboard layout: German - OK
Key to function as AltGr:  The default for the keyboard layout - OK
Compose key: No compose key - OK

# but you get an error message:
insserv: Service mountkernfs has to be enabled to start service keyboard-setup
insserv: exiting now!
update-rc.d: error: insserv rejected the script header

# searching by google gives:

$ sudo apt-get install initscripts
Preparing to replace initscripts 2.88dsf-34 (using .../initscripts_2.88dsf-41_armhf.deb) ...
Unpacking replacement initscripts ...
Processing triggers for man-db ...
Setting up initscripts (2.88dsf-41) ...
Installing new version of config file /etc/init.d/mountall.sh ...

# Then dpkg-reconfigure keyboard-configuration works without problem
# BUT the special keys, e.g. ÄÖÜß still did not work

Android Remote Control

It is possible to Remote Control XBMC via an Android App


As an USB WLAN dongle it was recommended Edimax EW-7811Un 150Mbps Wireless 802.11b/gn. You can plug in the WLAN dongle instead of the keyboard. First power down the raspberry pi, change device and power up again.

The first action is to install Add-on (Program) Network-Manager. Then start the Network-Manager and look for your WLAN Router. If you see it in the list, click on Add. Next you will be asked for the password. Enter that with the virtual keyboard. If it does not work, do a restart with the raspberry pi, and try again, or look in the troubleshooting section.


# First try a restart and check again the WLAN status in the Network manager.

# check for the USB device
$ lsusb
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]

# check for interface "wlan0", see if an "inet address" is there.
$ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:4a:3c:35
wlan0     Link encap:Ethernet  HWaddr 80:1f:02:82:2e:84
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::821f:2ff:fe82:2e84/64 Scope:Link
          RX packets:163 errors:0 dropped:222 overruns:0 frame:0
          TX packets:150 errors:0 dropped:1 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:35009 (34.1 KiB)  TX bytes:42778 (41.7 KiB)

# Have a look in the WLAN router, if the raspberry pi is seen in the WLAN section.


USB Audio

In order to connect the audio signal to an amplifier, HDMI is not very good suited. The Headphone Jack Analog Output (3.5 mm) is not so good, regarding sound quality. So, the solution is an USB-Audio interface. You can by them for under 10 EUR, see the pictures on the right. In order to find out, what it is, do:

$ lsusb -v
Bus 001 Device 005: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter
# Input Terminal
 wTerminalType      0x0201 Microphone
# Output Terminal
 wTerminalType      0x0301 Speaker
# AudioControl
  bDescriptorSubtype      4 (MIXER_UNIT)


To get it into use, you have to go to Options->Settings->System->Audio-Output.

Audio Troubleshooting

In order to see, if USB-Audio is working, do:

$ cat /proc/asound/modules
 0 snd_usb_audio
 1 (null)

If you have a stuttering in the sound, please see at the Links #6-11

Audio Mixer

In order to get an Audio-Mixer for the USB-Audio device, go to Options->settings->Addons. Then click on Search.

Type in the search mask: audio mixer, and you will get XBMC Audio Mixer (version 2.0.5, type: Script). Click on Install. The addon will be downloaded and installed.

You can control just the microphone input and the speaker output level.

Beware: Once you have started the program, you need a keyboard to stop it with the ESC key. With the mouse only you can not stop the program (GUI). In version 3 (Kodi Audio Mixer) you will find now an OK button to exit with the mouse, thanks to ronie.



An interesting article to that topic was found here. The mentioned Logitech K400 Bluetooth keyboard does not work with Bluetooth, see here. It uses its own USB HF transceiver.

Airplay is also discussed in the XBMC forum.

Another hint from a forum recommends to change the system name from XBMC (raspbmc) to raspbmc.local, and reboot. But that did not help to make Airplay work, it just shows the presence in iTunes.

A fix for enabling Airplay in Mac OS X iTunes is with the terminal, hint from and forum:

# show installed network services.
$ networksetup -listallnetworkservices
Gigaset Generic CDCACM Device
Ethernet Adaptor (en0)

# disable the IPv6 addresses
$ sudo networksetup -setv6off "Ethernet Adaptor (en0)"

# to switch IPv6 back on, or in System Preferences/Network/Options/ to "automatic":
$ sudo networksetup -setv6automatic "Ethernet Adaptor (en0)"

That finally helped to stream from iTunes (version 11.02, on Mountain Lion 10.8.3) to the raspbmc (version 12.2), see picture.

  1. Problems with raspbmc (German)

  2. Spiegel, raspbmc Multimediaplayer (German)

  3. Forum: Raspberry Pi network-manager zip download required

  4. Add-on Network-Manager for WLAN/WiFi

  5. script.linux.nm version 1.4, Zip file, Python Add-on

  6. Solved issue - XBMC Audio Mixer does not change volume

  7. Performance: video buffering, stuttering, choppiness

  8. Delay warnings when using USB audio on the Raspberry Pi

  9. Raspberry Pi Airplay Client

  10. Advanced Linux Sound Architecture, Crackling sound with USB devices

  11. Tuning USB devices for minimal latencies

  12. Model B+ Audio Experiences

  13. Sound quality of the Raspberry Pi B+, measurement of total harmonic distortions and noise

  14. Raspberry Pi Model B+ 3.5mm Audio/Video Jack

  15. TUTORIAL: Installing Squeezelite player on Raspbian

List of pages in this category:

-- RudolfReuter 2013-04-30 15:10:35

Go back to CategoryRaspberryPi or FrontPage

RaspberryPiXBMC (last edited 2015-01-19 17:27:05 by RudolfReuter)