TUTORIAL: Stand alone Squeezebox server and player for BBQ

Intro

This summer it was our turn to organize the neighbourhood barbecue. So we had to arrange food, drinks and of course music!
Now, the place were we held the barbecue was just out of reach of our WiFi network. This meant I couldn’t use my Raspberry Squeezelite setup (a software version of a squeezebox, see: link), because it wouldn’t be able to connect to the LMS server running on my NAS.
I could just use CD’s and a portable CD player, but we are not living in the nineteens any more!
Connecting a MP3 player to the aux in of the CD player would be the easiest thing to do, but where’s the fun in that?  😎

So, I decided to create a stand alone Squeezebox player and LMS server setup with a WiFi access point on the Raspberry Pi. That way I can control the music with my phone, without having to walk to the portable radio.

Demo video

Here is a video of it:

(royalty free music used in the video provided by Kevin MacLeod: incompetech.com )

The components explained:

BBQ Squeezebox player setup
This is a tutorial on how to install it all.
Be aware: not all WiFi adapters can be setup as an access point. Check it first, before continuing.
This tutorial was first posted at the Raspberry Pi forum, in this thread. Please use that thread for questions or comments.

What you need

See this page, and replace the PC speakers with a stereo.
Also read these Putty beginner tips, if you are not familiar with Putty.

Tutorial start

Install the latest Raspbian Stretch Lite image on SD card.
I like to use the Raspberry Pi headless, so I use telnet (SSH) to connect to the Raspberry using Putty. Then I can copy-and-paste the commands from my computer into Putty.
But you could use a keyboard and monitor connected to the raspberry too.

To enable SSH add an (empty) file called “ssh” (without extension) to the root of the SD card.
Now put the SD card into the Raspberry, connect it with a network cable and log in using SSH (Putty is my favorite SSH client).

Run raspi-config and perform the usual actions (resize SD card partition, setup regional settings, enable SSH, set hostname etc).

sudo raspi-config

(double click commands to select)

Do a reboot:

sudo reboot

Connect to the Pi again and do some updates:

sudo apt-get -y update && sudo apt-get -y dist-upgrade

Installing LMS (squeezebox) server

Execute these commands to install the Squeezebox Server (a.k.a. SLIM server) :

# install some libs
sudo apt-get install -y libsox-fmt-all libflac-dev libfaad2 libmad0 libio-socket-ssl-perl
sudo apt --fix-broken install -y
# get the latest nightly build (from downloads.slimdevices.com):
wget -O logitechmediaserver_arm.deb $(wget -q -O - "http://www.mysqueezebox.com/update/?version=7.9.2&revision=1&geturl=1&os=debarm")
sudo dpkg -i logitechmediaserver_arm.deb

Note: This uses a “nightly build” LMS server. This means that it is a development version. Mostly, this will work fine. But if you encounted problems, replace “7.9.1” in the first “wget” command with “7.8.0”. Allthough I am not sure if the current CPAN binaries will work with that version..

Installing Squeezelite

Install squeezelite by following my other tutorial, see: TUTORIAL: Installing Squeezelite player on Raspbian
BUT: Skip the first part, and start at “Installing Squeezelite“.
When you’re done, open the squeezelite script again by executing this command:

sudo nano /usr/local/bin/squeezelite_settings.sh

Search for this line:

#SB_SERVER_IP="192.168.0.100"

Remove the hash (#) and change the IP address to: 127.0.0.1
Save and close the script.

Setup WiFi access point

This part will setup a wifi access point with which you can connect to the Raspberry. It will not be able to provide an internet connection, i.e. bridging to the wired ethernet. If you do want this, I suggest investigating “bridge-utils”. I only want to connect to the LMS server on the raspberry, so I don’t need that here.

Before we begin, please note:
– dhcpd = dhcp Daemon
– dhcpcd = dhcp Client Daemon
In these instructions we will be editing the dhcpd.conf and dhcpcd.conf. The first one is for the dhcp server, the second one if for the dhcp client. These names can be confusing.

First we will have to install hostapd for the wifi access point. And then we will install isc-dhcp-server, which will hand out IP adresses to the devices that connect to the access point.

Access Point, hostapd

Install the hostapd package:

sudo apt-get install -y hostapd

And create a config file for it:

sudo nano -c /etc/hostapd/hostapd.conf

Put this content into it:

interface=wlan0
driver=nl80211
ssid=Planet_Express
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=futurama
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Change the ssid (Planet_Express) and wpa_passphrase (futurama) to your linking. I recommend choosing a funny SSID.. 🙂
NOTE: the password must be at least 8 characters long.
Also consider changing the channel (1). Install android app “WiFi Analyzer” and check which channel is free (or least busiest) in your neighbourhood.

Now we have to tell hostapd where to find the config file. Open this file:

sudo nano -c /etc/default/hostapd

And find setting #DAEMON_CONF. Remove the hash (#)  at the beginning and set the value to the config file path. It should now look like this:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Save and exit the file, start the hostapd service, and make it start at boot:

sudo service hostapd start
sudo update-rc.d hostapd enable

That’s the hostapd installed, onto the DHCP server.

DHCP server, isc-dhcp-server

We will have to assign a static IP address to the wireless network, wlan0. For this we will have to disable the standard wireless network clients. Open the interfaces file:

sudo nano -c /etc/network/interfaces

And comment all the wlan0 and wlan1 related settings, by adding a hash to the start of the line. Afterwards the wlan settings should look like this:

#allow-hotplug wlan0
#iface wlan0 inet manual
#   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

#allow-hotplug wlan1
#iface wlan1 inet manual
#   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Now we can set the static IP address in dhcp client configuration file, dhcpcd.conf:

sudo nano -c /etc/dhcpcd.conf

Add this to the end:

interface wlan0
static ip_address=192.168.42.1

Next, install the dhcp server:

sudo apt-get install -y hostapd isc-dhcp-server

We will have to do some settings in the dhcp server’s config file, dhcpd.conf:

sudo nano -c /etc/dhcp/dhcpd.conf

Find setting “ddns-update-style” and change value “none” to “interim”:

ddns-update-style interim;

Find and change “option domain-name-servers”, and make it look like this:

option domain-name-servers 192.168.42.1;

Make sure that the following settings are not commented (remove the hash at the beginning of the line):

default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

And add these lines to the end of the file:

subnet 192.168.42.0 netmask 255.255.255.0 {
option routers 192.168.42.1;
option subnet-mask 255.255.255.0;
range 192.168.42.5 192.168.42.150;
}

These last lines will tell the DHCP server which IP address range he can use for handing out IP adresses. I am using 192.168.42.5 to 150.

All that is left to do is tell the DHCP server he has to use the wireless network wlan0, and patch the server startup script.
Open the server isc-dhcp-server config file:

sudo nano -c /etc/default/isc-dhcp-server

Find setting INTERFACES and set it to wlan0, it should now look like this:

INTERFACES="wlan0"

When testing this all it turned out the server was starting earlier then the client. This meant the static IP address was not yet assigned to wlan0. To fix this, we will have to make a rather crude change in the dhcp servers startup script.
Open the script:

sudo nano -c /etc/init.d/isc-dhcp-server

And find the line that contains “start)“. Add this line after that line:

sleep 10

Save and exit the file, and do a reboot:

sudo reboot

When the raspberry is booted again, it should now send out an access point and a device should be able to connect to it.

USB stick mounting

(the next instructions came from this raspberry forum thread )
First create a usb directory under /mnt:

cd /mnt
sudo mkdir usb

Put some MP3’s on a USB stick and plug it into the raspberry, or in the hub.
Now, find the uuid of the USB stick using the following command:

sudo blkid

This was my result:

/dev/mmcblk0: PTUUID="efa3f64e" PTTYPE="dos"
/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="22E0-C711" TYPE="vfat" PARTUUID="efa3f64e-01"
/dev/mmcblk0p2: UUID="202638e1-4ce4-45df-9a00-ad725c2537bb" TYPE="ext4" PARTUUID="efa3f64e-02"
/dev/sda1: LABEL="Music" UUID="18C6F806C6F96502" TYPE="ntfs"

Search for the line that starts with “/dev/sda1“, that’s the USB stick. Now copy the hex number thats behind “UUID=“, and also note the value behind “TYPE=“.
Now edit this file:

sudo nano /etc/fstab

And add this line to the end of it:

UUID=copied_code /mnt/usb copied_type defaults,nofail,dmask=000,fmask=111 0 2

And change “copied_code” and “copied_type” to the values taken from the previous command. In my case it was: UUID=18C6F806C6F96502 /mnt/usb ntfs defaults 0 2

Save the file and do a reboot:

sudo reboot

Setup the LMS server

After the reboot the wifi accesspoint (I called it “Planet_Express”) should appear (it can take a while). Connect a device to it (smartphone, tablet or laptop) and browse to this URL:

http://192.168.42.1:9000

Or scan this QR code with your device:The LMS server web page should appear.
It will ask for a mysqueezebox.com email and password, but you don’t need it, just press “Skip“, at the bottom of the page.
On the next page navigate to:

/mnt/usb

And press “next“.
Choose a folder for the playlists, /tmp might be a good one?
Press “next” and then “Finish“.

If you press “Settings” in the right bottom corner, you can change the previous set settings and other things. The language was set to “Dansk” (Danish) in my case.. which I changed.
Here you must also rescan the media library, this will take a while.

Install android app for remote control

Install android app “Squeezer“: google playstore link.
Start it, and go to “settings” in the settings menu. Now choose “Server Address“, and press the “Scan” button. It should now detect server “192.168.42.1“. Choose OK, and go back to squeezer.
Now go to “Players” in the settings menu. It should show your player name (I called it “BBQjukebox”), choose that one. Now press squeezers’s “Home” button (top left corner) and choose something under “My Music“, it should start playing. These actions are shown in the youtube video too.

TIP: To safely shutdown or reboot the raspberry, use android app “ServerAssistent“: google play store link.
Add server 192.168.42.1, and add a reboot (sudo shutdown -r now) and shutdown (sudo shutdown -h now) command.
When connected to the raspberry’s wifi, you can use that to shutdown the raspberry properly.

Have fun!  😎

BONUS: streaming video with DLNA server

You can now simply expand the functionality of this stand alone server by installing a DLNA server, and put some movies on the USB stick. This will enable you to stream movies to your Android device.
This could also be used as in-car entertainment for the kids in the back seat. Put the raspberry in your car, and power it with an onboard USB power socket.
Then install the Bubble UPnP app (you might need VLC too) on your kids Android tablets, connect the tablets to the Raspberry’s WiFi access point, and they can watch video’s for hours. 🙂

This is how you install the DLNA server:

sudo apt-get install -y minidlna

After installing, the settings file has to be changed, open it:

sudo nano -w /etc/minidlna.conf

And find, uncomment (remove hash ‘#’) if applicable, and change these settings, to these values:

network_interface=wlan0

media_dir=/mnt/usb

presentation_url=http://192.168.42.1:8200/

Save and exit the file, and make the DLNA server rescan the content on the USB stick:

sudo /etc/init.d/minidlna force-reload

(or:  sudo /usr/bin/minidlnad -R)

This will start the scan process in the background, it will take a little while before it is finished. You can check how many files are scanned by accessing this url, with a device connected to the WiFi access point:

http://192.168.42.1:8200/

Or scan the QR code:When it’s done, start the Bubble UPnP app on your device, go to the settings menu, and select the raspberry DLNA server under “Library”.
Now close the settings, and you should see the video files in the library part of the app.

 

137 thoughts on “TUTORIAL: Stand alone Squeezebox server and player for BBQ”

  1. Ik wil je even complimenteren met je mooie tutorial.
    Ten opzichte van RaspyFi en Volumio of Runeaudio werkt dit echt fantastisch, eindelijk geen crashende MPD meer, een verademing.

    Alleen werkt je verwijzing naar (TUTORIAL: Installing Squeezelite player on Raspbian) niet meer, misschien slim om dat aan te passen voor de wat minder ervaren mensen.

    Groet,

    Mitchel

    1. Hoi Mitchel,

      Bedankt voor de vriendelijke woorden.
      Ik heb de link aangepast, het zou nu wel weer moeten werken.
      Bedankt voor de oplettendheid en het berichtje!

      Groeten,
      Gerrelt.

  2. Hi Gerralt,

    Great post. Unfortunately install of LMS crashed on my Bananian Pi with this error:
    logitechmediaserver depends on perl (>= 5.8.8); however: Package perl is not installed.

    Perl 5.14 is installed by default..

    Any idea?

    Kind regards,
    Aza

    1. Hi Aza,

      As I don’t own a Banana Pi, It’s hard to debug this.
      Which version of LMS are you trying to install?

      Greetings,
      Gerrelt.

  3. HI awsome tut. However I have a problem everything is working. But my problem is I have an EDIMAX EW 7811Un wifi adapter and hence I followed the different tut for creating the access point.

    http://www.daveconroy.com/turn-your-raspberry-pi-into-a-wifi-hotspot-with-edimax-nano-usb-ew-7811un-rtl8188cus-chipset/

    I can successfully create the access point. But the moment I do that I loose connectivity with rpi via SSH or any IP which it gets. Access point is working perfectly but I can not open LMS on the ip it gets (192.168.1.123). Same with SSH I cannot connect to rpi via SSH. If I remove the access point I can very well access LMS over the same ip (192.168.1.123)……. so independently both LMS and Access point are working but not when I enable both. In that scenario only access point works as I cannot browse to LMS IP neither can I SSH to rpi ……..can you help me resolve this issue.

    1. Hi Sammy,

      It might be a long shot, but the article you are referring to is more then a year old. Maybe the default hostapd is now supporting your wifi adapter.
      The problem with the Edimax is that is uses the RTL8188CUS chipset. So, maybe the current standard hostapd will support the chipset of your adapter.
      So just try the “normal” guide:
      http://elinux.org/RPI-Wireless-Hotspot

      And if that doesn’t work, here is a different how-to on using the RTL8188CUS chipset as an access point:
      http://raspberry-at-home.com/hotspot-wifi-access-point/

      Please let me know if you succeed.

      Greetings,
      Gerrelt.

    1. Hi Damiano,

      Yes, you can use that. But, doing the work yourself is more satisfying, and you might learn something along the way.
      Plus if you want to do some customizing, this tutorial explains how to get started.

      Greetings,
      Gerrelt.

  4. HI Gerrelt

    Thanks for the link …yes the second option you provided worked for me though I have to do quite a few manual changes as well, but access point is working and I can also SSH and open LMS as well. However I am now stuck with a different problem, I can not find the squeezelite player under LMS. Even thought I did the required step …

    pi@squeezebbq ~ $ cd /home/pi/squeezelite
    pi@squeezebbq ~/squeezelite $ sudo mv squeezelitehf.sh /etc/init.d/squeezelite
    pi@squeezebbq ~/squeezelite $ cd /etc/init.d
    pi@squeezebbq /etc/init.d $ sudo chmod a+x squeezelite
    pi@squeezebbq /etc/init.d $ sudo update-rc.d squeezelite defaults
    update-rc.d: using dependency based boot sequencing
    pi@squeezebbq /etc/init.d $ sudo nano squeezelite
    pi@squeezebbq /etc/init.d $ sudo ./squeezelite start
    pi@squeezebbq /etc/init.d $ ps -A |grep squeeze
    2237 ? 00:00:27 squeezelite-arm
    2531 ? 00:00:00 squeezeboxserve
    2536 ? 00:01:49 squeezeboxserve
    pi@squeezebbq /etc/init.d $

    as you can see the grp command returns that squeezelite is loaded, but I still can not find the player under LMS …. any idea what might be wrong … ?

  5. I thought I would try a reboot and see …… few strange things (we atleast for me ) happened

    The script at location cd /home/pi/squeezelite vanishes….. I had to download it again. The command sudo ./squeezelite start gives me squeexelite not found. Then I have to re do the below steps again …

    cd /home/pi/squeezelite
    sudo wget http://www.gerrelt.nl/RaspberryPi/squeezelitehf.sh
    sudo mv squeezelitehf.sh /etc/init.d/squeezelite

    cd /etc/init.d
    sudo chmod a+x squeezelite

    sudo update-rc.d squeezelite defaults

    now I can star the squeezelite player BUT I still cannot see the squeezelite player under LMS.

    If I do a reboot I loose everything regarding squeezelite including scrip stored in location cd /home/pi/squeezelite

  6. Hi Gerrelt

    Any assistance. I have tried everything in my tech power but I cannot seem to be able to get LMS get the player. The command ps -A |grep squeeze does give the outp which seems like squeeze player is loaded..

    2237 ? 00:00:27 squeezelite-arm
    2531 ? 00:00:00 squeezeboxserve
    2536 ? 00:01:49 squeezeboxserve

    But LMS does not show any player under the drop down …… May be I am missing something very basic……. need to guidance here … 🙂

    1. Hi Sammy,

      Did you set the LMS server IP address in the squeezelite script?
      Open the squeezelite script and look for these lines:
      # Uncomment the next line (remove hash) if you want to point squeezelite
      # at the IP address of your squeezebox server (-s option). And change the IP address of course..
      SB_SERVER_IP=”192.168.0.100″

      Set it to the IP address you assigned to your raspberry.

      Greetings,
      Gerrelt.

  7. Hi Gerrelt

    Yes I did change that, even thought the guide said to keep it 127.0.0.1, I tried changing it to my rpi’s address which is 192.168.10.1. LMS page opens on this IP only. I even rebooted after changing the ip. Ran ps -A |grep squeeze and it gave the same output as if squeeze player is running, but I still cannot see the player under LMS… 🙁 🙁

  8. OK another update If I manually run the below command, instead of using the script ..

    ./squeezelite-armv6hf -o front:CARD=Device,DEV=0 -s 192.168.10.1

    I get the below error ::

    [09:13:09.182669] test_open:124 playback open error: Device or resource busy
    [09:13:09.184990] output_init_common:373 unable to open output device

    Does that mean something .??

    1. It probably means that squeezelite is already running on your Pi, so the sound device is allready in use.
      What kind of sound device are you using?

  9. Its C-Media chip set sound card, the sound card is compatible coz I was able to get everything running by following you other tut “INSTALLING SQUEEZELITE PLAYER ON RASPBIAN” …… Its in the BBQ project where after configuring the rpi wifi dongle as hotspot I am not getting LMS to recognizance the player. even thought it partially involves the same tut. when I did TUTORIAL: INSTALLING SQUEEZELITE PLAYER ON RASPBIAN everything worked in the first go, with the same sound card ………..

    I am running shot of google attempts to figure out when has gone wrong here …..:(

  10. Anyhow I atleast should be able to see/get the player under LMS …right? …..even if the sound device has malfunctioned or what ever …… though I tried with another sound device as well, same result ……..

      1. Well initially it was 3 now its grown with every extra command I guess ….. below is the current result …

        2236 ? 00:02:50 squeezelite-arm
        2520 ? 00:00:00 squeezeboxserve
        2530 ? 00:02:51 squeezeboxserve
        17002 pts/5 00:00:00 squeezelite
        23835 pts/4 00:00:00 squeezelite-arm
        27284 pts/4 00:00:00 squeezelite-arm

        1. Run these commands to kill the extra processes:
          kill -9 2236
          kill -9 23835
          kill -9 27284
          kill -9 17002

          And then try to start squeezelite with this command:

          /usr/bin/squeezelite-armv6hf -o front:CARD=Device,DEV=0 -n TheSqueezelitePlayer -m 00:00:00:00:00:01 -s 127.0.0.1 -z

          Now go to the LMS server page, do a browser refresh, and see if the squeezelite player “TheSqueezelitePlayer” apears.

          1. Nope no luck .. 🙁 HOw ever if I now run ..
            ps -A |grep squeeze I get the below output…

            2520 ? 00:00:00 squeezeboxserve
            2530 ? 00:03:11 squeezeboxserve
            7844 ? 00:00:00 squeezelite-arm
            17002 pts/5 00:00:00 squeezelite

            I am not able to kill process

          2. Ohw, sorry, I forgot the “sudo” with the kill commands, try this:

            kill -9 7844
            kill -9 17002

  11. Apologies …. Yes Yes I did use SUDO, what I meant was I was able to kill all processed except

    17002 pts/5 00:00:00 squeezelite

    I than ran the command

    /usr/bin/squeezelite-armv6hf -o front:CARD=Device,DEV=0 -n TheSqueezelitePlayer -m 00:00:00:00:00:01 -s 127.0.0.1 -z

    NOw the output is ..

    ps -A |grep squeeze

    2520 ? 00:00:00 squeezeboxserve
    2530 ? 00:03:48 squeezeboxserve
    17002 pts/5 00:00:00 squeezelite
    26069 ? 00:00:07 squeezelite-arm

    The defunct process does not get killed with sudo kill -9 17002 command rest were killed ……

    But NO luck .. 🙁 No TheSqueezelitePlayer under LMS ….

  12. Hi Gerrelt

    UPDATE :::: I amnow sure hotspot is doing something that messes things up. This is what I did ……… a fresh start ……

    1. The very First step I did was to install squeezelite on a new memory card (ofcourse on raspbian image)

    2. Since I already have a running LMS on my NAS, I updated the squeezelite script with my nas IP (which is 192.168.1.106) and very well LMS sees the player and I can play the song as well.

    3. Now I installed LMS on the same card i.e on rpi following the guide here …

    http://allthingspi.webspace.virginmedia.com/lms.php

    4. Mounted the pen drive with some songs and updated the fstab

    5. Then changes the IP on squeezelite script to point to rpis address rather than my NAS (that my router was giving to rpi since it still connected to my home LAN) which is 192.168.1.123.

    6, opened the LMS page and All is good. I LMS on rpi can see the player and can play the songs on my pendrive …..

    7. Now the only step left was to make the hotspot ……. which I did following the guide here …

    http://raspberry-at-home.com/hotspot-wifi-access-point/

    and finally changing the ip in squeezelite script to 127.0.0.1 …. and rebooted …

    Hotspot is created, connected my laptop to the hotspot (192.168.10.1)and can open the LMS as well BUT BUT to my very disappointment no player this time under LMS, player just vanishes. I even changed the ip in squeezelite script from 127.0.0.1 to 192.168.10.1 (rpis address) and rebooted but nothing no player …

    SO I conclude that its the HOTSPOT that when created and runs and I connect my laptop independently to rpis network hotspot (i.e I am out of my lan) LMS does not see the player even thought squeezelite is running on rpi …….

    I have no idea why or what should I do to get this resolved …..

  13. just to fill in for the other people who might land up here …. EDIMAX dongle though works as an access point, it would not work with LMS, the squeezelite player would not get recognized …. I tried atleast 4 tut with EDIMAX, none worked for BBQ project. Finally when I changed the adapter to COMFAST and used this tut …

    http://elinux.org/RPI-Wireless-Hotspot

    Everything worked like a charm ….

  14. Raspberry Pi b+
    When i get to section 5 to install the bootstrap perl module of the Logitech Media server, i get the following error and so can’t go any further.

    Hunk #1 FAILED at 115

    Am i doing something wrong?

    1. Hi Leon,

      I don’t know. Did you do this update? :

      sudo apt-get -y update && sudo apt-get -y dist-upgrade

      I’ve installed it succesfully on a B-model last week, so I think it should also work on a B+.
      You’re using the normal Raspbian image?

      Greetings,
      Gerrelt.

      1. The patch also fails for me on an up-to-date system. (N.B. that /usr/share/perl5/Slim/bootstrap.pm is provided by logitechmediaserver 7.8.0 anyway.) The patch attempts to change

        if ( $arch =~ /^arm.*linux/ ) {
        ! $arch = 'arm-linux-gnueabi-thread-multi';
        $arch .= '-64int' if $is64bitint;
        }

        to

        if ( $arch =~ /^arm.*linux/ ) {
        ! $arch = 'arm-linux-gnueabihf-thread-multi';
        $arch .= '-64int' if $is64bitint;
        }

        However, the original file has

        if ( $arch =~ /^arm.*linux/ ) {
        $arch = $arch =~ /gnueabihf/
        ? 'arm-linux-gnueabihf-thread-multi'
        : 'arm-linux-gnueabi-thread-multi';
        $arch .= '-64int' if $is64bitint;
        }

        i.e. it will already set $arch to arm-linux-gnueabihf-thread-multi if $arch =~ /gnueabihf/… but I’m not sure what $arch is.

        1. Hi Pete,

          I’ve looked at the patch, and the code you provided, and it looks like the patch isn’t needed anymore.
          The patch just changes the gnuabi thingy to a “hard float” version of it, it adds “hf”. Raspbian Wheezy is hard float.
          The new code allready takes care of that, it checks if the system is a hard float version, and sets $arch accordingly.

          So it looks like you could just skip the patch.
          Could you confirm that? If it isn’t needed, I will edit the tutorial and add this as a remark.

          Greetings,
          Gerrelt.

  15. Hi,
    Fantastic work, I love the idea!
    I can only wish to have such skills like yours and to follow all the steps you have just described – but is not easy for me….
    On another hand I was wondering, if will be possible to make an image of the enitre system, with al lbuilds and software instals and tuneups you have done as one image file? this way you can promote your own distro. It will be much easier for other users to simply download the image and tranfer to sd card. I think this way will safe lots of trouble less technical people and promote greatly opensource…. Any way just a thought.
    thank you for your work….

    1. Hi Tom,

      I don’t plan to host my own distro. I don’t want the hassle of providing a download somewhere and keeping it up-to-date.
      Furthermore there is allready a distro that offers basically the same functionality, it is called “squeezeplug”.
      But, I would strongly suggest trying this yourself. Put a Raspbian image on an SD card, learn how to use SSH (or plug in a keyboard and monitor), and just follow the instructions in the tutorial.

      Greetings,
      Gerrelt.

  16. Hi Gerrelt, Great Tut! … just, of course, a minor question 😉

    i did follow the tutorial on allthingspi to install the LMS on my Pi. Also getting SqueezeLite to run worked like a charm ….. but LMS refuses to start automatically after a reboot. I have to manualy start with “sudo service logitechmediaserver start ” or “sudo /etc/init.d/logitechmediaserver start “.

    Do you might have a suggestion why it´s not working properly?

    best regards

    H.

    1. Hi Holle,

      Execute this command:
      grep -nrI Default-Start /etc/init.d | grep server

      This should return something like this:
      /etc/init.d/logitechmediaserver:19:# Default-Start: 2 3 4 5

      Greetings,
      Gerrelt.

  17. Hallo Gerrelt,

    Complimenten voor de goed te volgen tutorials welke ertoe hebben geleid dat ik hier in no time 3 Raspberry Pi‘s draaiende heb.

    Ik was op zoek naar een server invulling voor mijn Logitech Squeebox Touch en had net een artikel gelezen over de Raspberry Pi. Na wat grasduinen kwam ik op deze site terrecht, de eerste Pi snel besteld en na een weekendje hobbyen had ik mijn LMS server in de lucht. Vervolgens nog een externe hd eraan gehangen voor de muziekcollectie en Samba geinstalleerd voor de eenvoudige toegang vanaf de pc. De Squeezer app op de telefoon en het loopt als een dolle.

    Nummer 2 was al snel besteld want de ‘Unpluggable Tinycore’ moest maar in de keuken zorgen voor de nodige arbeidsvitaminen.

    Nummer 3, de KAOS mediabox, was er denk ik niet gekomen zonder de eerste stappen via jouw site. Dit beschouw ik toch echt als de plek ‘waar het allemaal begon’.

    Thnx en groet,

    Alfred

    1. Hoi Alfred,

      Bedankt voor je reactie, het is super om te lezen dat andere mensen er echt ook wat aan hebben!
      Pas op met die raspberries, voordat je het weet staat je huis er vol mee! 😉

      Groeten,
      Gerrelt.

  18. Hierbij de instructies voor het installeren op een Jessie systeem
    Samengevat:
    wget http://downloads.slimdevices.com/nightly/7.9/sc/9e8f670/logitechmediaserver_7.9.0~1448515994_all.deb
    sudo dpkg -i logitechmediaserver_7.9.0~1446619180_all.deb
    wget http://download1642.mediafire.com/21254jcg3adg/153ccfm16lb5ka2/logitechmediaserver_7.9.0_CPAN_5.20_armv6hf.tar.gz
    sudo tar xvzf ./logitechmediaserver_7.9.0_CPAN_5.20_armv6hf.tar.gz -C /
    sudo apt-get install libsox-fmt-all libflac-dev libfaad2 libmad0
    sudo service logitechmediaserver start

    Bron:
    http://forums.slimdevices.com/showthread.php?104515-Squeezebox-server-stopped-working-after-upgrade-to-Jessie-on-raspberrypi/page5

    Groet Martijn

    1. Hoi Martijn,

      Nog bedankt voor deze tip! Ik heb hiermee de tutorial aangepast. Deze werkt nu ook met de CPAN_5.20 fix en 7.9.0.

      Groeten,
      Gerrelt.

  19. Thanks for the great guide!
    For anyone who doesn’t want to do all of the work:
    I created an image of the finished product. Just use Win32DiskImager to flash the image to an SD Card. I optimized as best I can (reduced GPU memory to minimum, removed some unnecessary services, etc…) This image is using ALSA as the sound processor, if you get a DAC or USB Sound Card you’ll have to adjust the squeezelite settings sh file. You’ll also still have to mount your USB drive in /etc/fstab and configure the Wifi if you so desire. The image is from an 8GB SD Card, so don’t go under that size. You can get it here (I’ll try to keep it available for as long as i can):
    https://dl.dropboxusercontent.com/u/2841563/Squeezelite%20Server%20%26%20Player%20%28ALSA%29%20Public.img.7z

  20. Hi Gerrelt,
    thanks for this and the other Squeezing-Tutorials.
    I have got my own Raspberry Pi running in the unpluggable Tinycore-version you suggested (btw: It really is much greater fun, to do it yourself than just copying an image onto the SD-Card!) and am now looking for an old Radio to become its home.
    Reading this Tutorial I’ve asked myself if a combination would be possible – a unpluggable Tinycore running as slave in my home wifi playing music from my server and running as stand alone outside of my home wifi playing music from a built in HDD. Additionally i would try to automatically sync the music on the HDD with some folders on my server…
    Have you tried something like that with your stand alone version?
    I am just waiting for a Pi Zero and plan to try it all then..
    Thanks a lot and best regards,
    Timm.

    1. Hi Timm,

      In that situation, there would be two LMS servers in the network. A squeezelite player can only connect to one LMS server (as far as I know).
      What you could do: install two squeezelite players on the Pi. One squeezelite player will connect to your network LMS (if available) and one will connect to your Pi’s local LMS server.
      A potential problem with this setup is using the soundcard. I don’t know if it’s possible to use one soundcard when two squeezelite players are active.
      Another thing to note is that you would have to switch between the two LMS servers in the control app on your phone (for example Squeezer on android).
      For synchronizing the HDD, you could have a look at “rsync”. With rsync you can keep folders synchronized. I dont have any experience with rsync on the raspberry pi, but I’ve playes with it on my NAS.

      Greetings,
      Gerrelt.

  21. Your scripts are working great for me! One question: I would like to have LMS7.9/Squeezelite on Raspbian (Wheezy) default to random songs at system startup. Can you help with this?

    1. At the moment, I don’t think that is possible. Did you check the settings page in LMS?
      But it might be nice feature, maybe I will add it to the startup script functions.

  22. Hi,

    As it was possible to add a random song mix as an alarm sound I digged a bit deeper into it. I worked with the image as provided by Eric0321 (Thanks!).

    Since the player is started before the LMS server I changed the order by adding $all to the init info of /etc/init.d/squeezelite. Also I extended the timeout to 15 seconds instead of 10 as it takes 11 seconds in my case to get the player connected to the server.

    At the end of the do_start() routine in /etc/init.d/squeezelite a line with do_play_fav 3 got added (this is the number that the random songs are added to as favorite).

    1. Hi Willem,

      Thanks for the feedback!
      Maybe I will add a “play_random” function to the script, that just calls do_play_fav 3.
      I will change the 10 seconds to 15 in the script.

      Greetings,
      Gerrelt.

  23. Hi Gerrelt,

    Installation was easy to do, but unfortunately the LMS is not working.
    Opening server:9000 does not show anything .

    A view of /var/log/squeezeboxserver/server.log shows (every 5 seconds!):
    Logitech Media Server died. Restarting.

    netstat -tulpn does not show port 9000 linked to any process.
    (and no, I did not forget to start the service. The service is confirmed to be running)

    Raspberry Pi 2B, Raspbian Jessie Lite and all the other updates and software freshly downloaded today.

    Maybe there are other logfiles to check what the problem is?

    I hope you can help… !

    1. Hi Arjan,

      I think they fixed something in the daily build that makes the fixed CPAN libraries unnecessary.
      When I find some time, I will check if it’s changed.
      If you want to try it yourself, you would have to do the installation again, but don’t execute the two commands after this comment line:
      # download and install fixed CPAN (Perl) binaries

      Greetings,
      Gerrelt.

  24. Hi Gerrelt,

    I tried to set up the WiFi Access Point using your tutorial step by step. But after finishing this chapter I tried to connect to the AP, but faild. My knowledge about Linux isn’t good enough to solve those problems. Do you have any suggestions how get the AP working? I am using the Pi Hut WiFi Dongle. Could
    it be a driver Problem?

    Best regards

    Ruediger

    1. Hi Rüdiger,

      Is the AP visible, in other words, is it “on-air”?
      If yes, what does it say when you connect to it?

      Greetings,
      Gerrelt

        1. Hi Rüdiger,

          Do you see the WiFi dongle if you execute this command?:
          lsusb

          Owh, and another thing, the password you set for the AP must be at least 8 characters.
          I am talking about the wpa_passphrase setting in /etc/hostapd/hostapd.conf .

          Greetings,
          Gerrelt.

          1. Hello Gerrelt,

            I had no opportunity yet to try your notes. But I have read a bit in Google and there I found that some WiFi dongles can’t work as AP. So I ordered the same dongle what you are using. I will report after testing that.

            Greetings

            Rüdiger

          2. Hi Rüdiger,

            I’ve did some googling on the Pi Hut WiFi dongle, and I think it should be able to work as AP. You can probably determine which chipset it’s got with the lsusb command. Try searching on the chipset.
            I used the “WiPi” dongle from Farnell for the AP, not the “LogiLink Wireless LAN USB 2.0 Nano adapter” which I mention in the “What you need” part of my site.
            One thing that’s strange with this WiPi adapter is that it has to be plugged into the Raspberry Pi directly, not via a USB hub. Otherwise It wouldn’t work properly. I never found out why…

            Greetings,
            Gerrelt.

          3. Hi Gerrelt,

            no, I don’t see the WiFi dongle. Here’s the output of lsusb:
            “Bus 001 Device 004: ID 0bda:8179 Realtek Semiconductor Corp.
            Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
            Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. LAN9500 Ethernet 10 /100 Adapter / SMSC9512/9514 Hub
            Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub”

            Greetings

            Rüdiger

          4. Hi Rüdiger,

            It does show your WiFi dongle, this is it:
            Bus 001 Device 004: ID 0bda:8179 Realtek Semiconductor Corp.

            After some googling, it turns out it has a RTL8188EU chipset.
            I also found this thread for setting it up as an Access Point, but it doesn’t look good:

            https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=54946

            Maybe you should do some more googling on this chipset, maybe there’s an answer somewhere
            I can’t really help you here, because I don’t own a dongle with that chipset.

            Greetings,
            Gerrelt.

  25. Gerrelt,

    thank you for your tutorial(s). They helpt me a lot to set up two RPi’s [there will be more ;-)]:
    1. A squeezebox client connected with my old 70’s SABA kitchen radio.
    2. A car media server (still in prototype state) with LMS and squeezelite for listening music and streaming videos for the kids .

    The first RPi started with your squeezelite setup. I later changed to PiCorePlayer which does not need to be shutdown since it is a read only system. So I can now switch my old radio on and off switching the RPi on and off as well.

    With regard to squeezelite and LMS, I was wondering if you know that there is a squeezelite plugin (called “Local player”) which is based on squeezelite and which can be configured to start whith LMS? My LMS works like that so I did not need the extra squeezelite install as you describe.

    My prototype car media server is using this setup. But in order to make it working I had to do two things:
    1. I added the user ‘squeezeboxserver’ to the group ‘audio’ otherwise the squeezelite instance would not start.
    2. At the plug-in settings page I had to add -s 127.0.0.1 under ‘Additional options’ in order to make it working in stand-alone/access point mode.

    Thanks again for your tutorials.

    1. Hi Denny,

      Thank you for the kind words, it´s always great to hear that people found it usefull and are enjoying it. 🙂

      And thanks for the tip, I will have a look at the squeezelite plugin. I think I’ve allready seen it in the plugin page, but I haven’t investigated it yet.
      We tend to use what we are familiar with, 🙂 but I will check it out.

      Greetings,
      Gerrelt.

  26. Thanks for the guide! I needed to figure out how to get the LMS properly working on my RPi and this is the only guide I found that actually worked. Music on my freeBSD server, the LMS on my RPi (because getting the LMS working on freeBSD sucks majorly) and now my Duet is streaming like a happy little streamer. Thanks mate!

      1. Hey Gerrelt, do you think the Pi Zero is powerful enough to run the LMS with some 24/96 .flacs (that’s the highest quality I have – more than enough :-))? It’d be nice if I maybe could replace my 2B for a Zero, and use my 2B for RetroPi 🙂 Cheers!

        1. Hi,

          I don’t have experiences with .flacs. So I can’t tell you. Only one way to find out I guess… 🙂
          Luckily the zero isn’t very expensive.
          BTW, is the zero available again? It’s been a while since I checked..

          Greetings,
          Gerrelt.

  27. Hi Gerrelt,
    Thanks for your tutorial.
    I want to use only the lms, not the player. But I can’t get it working.
    The server.log gives me every 5 seconds “Logitech media server died, restarting”
    I have tried the suggestion from above (not install Cpan files), but still no success.

    Raspberry 3 with jessie-lite 2016-03-18

    Any suggestion or direction to look at?

  28. Hi Gerrelt,

    It’s working now.
    Tried to install the 7.8.0 version first, but that was not working. 7.9.0 is working.
    Think you still need the CPAN files for the 7.8.0.

    Thanks again, en de groetjes.

    1. Hoi Evert,

      OK, great to know it’s working now.
      Yeah, 7.8.0 might still need the CPAN files. But 7.9.0 seems to work great.
      Did you use the nightly build 7.9.0?

      En de groetjes terug, 🙂

      Gerrelt.

      1. Yes, I’m using the nightly build.
        It’s not working that good for me “Mediascan onverwacht beëindigd (Scanvoortgang)” [Scan unexpected aborted], has nothing to do with your excellent tutorial, but something with lms. So I’m trying 7.8.0 install again.
        I have 300000 tracks with 18000 albums, so scanning takes something like a day. Every step I take is waiting …….

        Groeten,
        evert

    2. Hi Evert,

      I had the dying LMS as well, but I eventually solved it by nuking everything LMS on my RPi and then following Gerrelt’s guide step by step. That’s the only thing which worked for me, so it’s not odd that you had to go on the 7.9 branch to get it working!

      De groetjes van een vrolijke streamert!

  29. thanks for the tutorial, i have installed LMS 7.9.0 successfully on a Pi 3 today, everything went smoothly, music already on air !

    Sebastien

  30. I just wanted to thank you for the great work you did in creating this tutorial. I know it’s tedious to do this sort of thing, but it is such a great help and contribution to the community. I used your tutorial to add a music player to a RPI 3 system that I set up as a navigation system for my boat, using OpenPlotter. It works great. I’m continually amazed at the power of these little computers, particularly the new version 3.

    I’ll be thinking of you as I enjoy music while sailing!

    1. Hi Andy,

      Great you got it working and enjoying it! I will have to take a look at OpenPlotter, it sounds interesting.
      I am honored you will be thinking about me… 😆 😆 😉
      I wish you a safe journey.

      Greetings,
      Gerrelt.

  31. Hi, Gerrelt:

    Thank you so much for the instructions.

    Following your detailed instructions, I have successfully installed the Squeezebox server and Squeezelite on my RaspberryPi3; however, I can’t access the LMS server webpage, which has the ip of 192.168.1.118.

    I don’t have access to the router because our building provides free wifi access, so I have dynamic ips. Yes, my internal ip range is from 192.168.1.1 to 192.168.1.254.

    Do you have any suggestions? Thank you very much for your help.

    Charles

  32. Gerrelt,

    I, finally, figured it out–it was the internal network setup problem. Once again thank you so much for the great tutorial. Happy Holidays.

    Charles

  33. Gerrelt,

    Is it possible for my AP to gain access to outside network? For now, the access point works fine, but I can’t access the internet. Any idea? Thanks!

    Charles

    1. Hi Charles,

      It cannot be done with one WiFi adapter. You would either have to get a second WiFi adapter or use a wired ethernet (preferred).
      A while back I have been playing with a two adapter setup, but I don’t think I got it working.
      I did get it working with a WiFi adapter and a wired ethernet. But that was also quite a challenge.
      The thing you will need is package “bridge-utils”. With that you can create a bridge between two network interfaces.
      The same can be used with a two adapter setup.
      Do a search for “raspberry pi network bridge” (or include the worde bridge-utils) for more info. I am not an expert in this field. 🙂

      Greetings,
      Gerrelt.

  34. Dear Gerrelt,

    I had spent some time trying to get LMS to run on a Raspi3, basically with the allthingspi-tutorial, but it didn’t work. Just when I was about to abandon LMS I found your site and now I have LMS and squeezelite running on one Raspi and a synchronized squeezelite running on a second Raspi in a different room. Thanks a lot for your efforts and your great work!

    Best regards
    Christian

    1. Hi Niels,

      Thanks for the feedback. It’s been a while since I’ve used this tutorial (yeah, I use my own tutorials.. 🙂 , they are my notes ), the next time I will take this into consideration.

      Greetings,
      Gerrelt.

  35. Installed LMS and it is running well connected to a router in the house, however I have a problem to find the Pi on my network (using a MBP). When I try to connect to server I get “There was a problem connecting to the server “raspberrypi”. This file server will not allow any additional users to log on. Try to connect again later.” Was there a setting somewhere to allow access on the network? (Also the device name is coming up wrong in the routers devices list, odd).

    1. Hi Tony,

      How are you trying to connect to the raspberry?
      Are you trying to connect to the LMS management page, or are you trying to access the files on the raspberry?

      Greetings,
      Gerrelt.

  36. Hi Gerrelt,
    Thanks for the reply!

    I am looking for it in Finder where I would expect to see it listed as a device. That would then allow me to open up the file structure and drag and drop files, or rip music direct to it from the MBP and so on. This all worked fine with my previous LMS server which was running on a Seagate Dockstar. All other connectivity is fine, SSH, LMS management page. I have tried to initiate the connection in Finder using “Connect to server” and then nfs://ip/, but this is where I get the strange error message that I mentioned.

    1. Hi Tony,

      I don’t think that will work out-of-the box.

      You have two options:

      Use an FTP client app to get files to the raspberry.
      Normally I would suggest WinSCP, but that doesn’t work on Mac.
      I think filezilla is a commonly used FTP client too, and it is available for Mac.
      Connecting to the raspberry will be like connecting to the raspberry via Putty. You will need a username (default: pi) and password (default: raspberry).

      Or:
      You could install and setup a Samba server on your raspberry. I think apple’s Finder can connect to samba shares.
      I don’t have experience in installing a Samba server, but there are several online how-to’s.
      Here is one:
      https://www.htpcguides.com/create-samba-share-raspberry-pi/

      I might give this a try too…

      Greetings,
      Gerrelt.

  37. I’ve launched this and after the first command has completed the raspberrypi has appeared as a “shared” item in Finder, good start. I didn’t get very far after that though.. what is my “path to share” to be used in the second command? /mnt/usb?

    1. Hi Tony,

      At the end of the tutorial you have to add something like this to the end of the smb.conf file:
      [TV] #This is the name of the share it will show up as when you browse
      comment = TV Folder
      path = /mnt/usbstorage/TV
      create mask = 0775
      directory mask = 0775
      read only = no
      browseable = yes
      public = yes
      force user = pi
      #force user = root
      only guest = no

      The part between brackets, “[” and “]”, contains the share name. In this example it is “TV”.

      So the share should be:
      \\raspberrypi_name\name_between_brackets

      Greetings,
      Gerrelt.

  38. Hi Gerrelt,
    I have got to the bottom of it, Jessie lite seemed to be missing the ntfs-3g file, based on the following advice:

    Set ownership when you mount the drive. For example if your drive that you want to mount is /dev/sda1:
    sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/USBDRIVE/
    or if later you want to change permissions of files on the drive after mount, try to add a line to /etc/fstab something like this:
    /dev/sda1 /media/USBDRIVE ntfs-3g auto,users,permissions 0 0
    Note that ntfs-3g is a built-in package in Raspbian Jessie (but Not Jessie Lite), if you are using older distribution you need to install it before mount (sudo apt-get install ntfs-3g). You can check easily that this package has already installed: dpkg -l | grep ntfs-3g

    (from
    https://raspberrypi.stackexchange.com/questions/38723/ntfs-usb-hdd-read-only-how-to-enable-write-permissions)

    Cheers
    Tony

  39. I’m wanting to set up a Raspberry-pi-3 to act as LMS server and player, using a library on the SD card, and connecting bluetooth speakers to it (or failing that, using some sort of wireless multiroom speaker setup). Do you think that running all of this from a single RP3 with not external router/hub is possible?

    1. Hi Jason,

      I don’t entirely understand your question. Do you mean your raspberry will not be wired to your network?

      Greetings,
      Gerrelt.

  40. Hi Gerrelt,

    thanks for the tutorial, been looking for something like this to complement my home LMS set-up.
    However, the Squeezer app on my (android) phone doesn’t want to connect to the LMS server … very strange, because the squeezer app on my (android) tablet does. The phone complains that there is no internet connection (rightfully so when connected to the pi’s LAN) and thus Squeezer reports that scanning is disabled and doesn’t even want to connect when I enter the ip by hand.
    Anyone else familiar with this issue?

    ps: I tried a second android phone, same result.

    Kurt

    1. Hi Kurt,

      That’s strange indeed.
      But why do you setup the raspberry as an access WiFi point? If you use it for a home LMS setup, it’s better to connect the raspberry to your home-Wifi or wire it to your router.

      Greetings,
      Gerrelt.

      1. Misunderstood my comment. I have a full blown Lms setup at home, with 6 separate rooms, but want to use your setup when traveling with the family and in the car.

  41. I’ve completed the install on a new rpi3, but lms won’t run successfully. I have this in the server.log.
    2017-09-04 00:56:17 Logitech Media Server died. Restarting.
    2017-09-04 00:56:22 Logitech Media Server died. Restarting.
    2017-09-04 00:56:27 Logitech Media Server died. Restarting.
    2017-09-04 00:56:32 Logitech Media Server died. Restarting.
    2017-09-04 00:56:37 Logitech Media Server died. Restarting.
    2017-09-04 00:56:42 Logitech Media Server died. Restarting.
    2017-09-04 00:56:47 squeezeboxserver_safe stopped.

    And see these when I enter “squeezeboxserver”.
    The following modules failed to load: DBI EV XML::Parser::Expat HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name

    I tried the 7.8 version of LMS, but I get the same message.

    Everything else seems to work – I have the bubbleupnp server running and can access movies and music from the external drive I have attached to the pi.

    Any ideas?

    1. Hi Matt,

      Another reply… I did some more investigation, and it appears that Stretch is using a newer version of Perl.
      This version might not work with with LMS.
      See:
      http://forums.slimdevices.com/showthread.php?105022-LMS7-9-on-Debian-Stretch-(perl-5-22)

      You could try using the latest Jessie version.
      The latest Raspbian Jessie Lite version can be downloaded here:
      http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2017-07-05/
      (see for all previous versions here)

      The latest full Raspbian Jessie image can be found here:
      http://downloads.raspberrypi.org/raspbian/images/raspbian-2017-07-05/
      (see for all previous versions here)

      Of course, this is not a real solution, but it will get you going until LMS is changed so it can handle the newer Perl version.

      Greetings,
      Gerrelt.

  42. Never mind. I got it working by going back to an older version of the os. I randomly chose – 2016-11-25-raspbian-jessie-lite and everything works fine now.

    1. Hi Matt,

      Thank you for your reply, it’s good to know it works on Jessie and not (yet) on Stretch!

      Greetings,
      Gerrelt.

  43. Gerrelt – I just saw your reply. Thanks for getting back to me and for putting these instructions together. It seems to be working fine with the older jessie version.

  44. Hi Gerrelt, thought you might like to know that following the same install procedure for Jessie-Lite LMS installs on Raspbian Stretch-Lite.

    The only difference was this for the wget

    wget -O logitechmediaserver_arm.deb $(wget -q -O – “http://www.mysqueezebox.com/update/?version=7.9.1&revision=1&geturl=1&os=debarm”)

    sudo dpkg -i logitechmediaserver_arm.deb

    Also I had it up and playing without the permissions chown, but I did them anyway.

    groetjes

    Ronnie

    1. Hi Ronnie,

      Thank you very much for this feedback, that indeed works on Raspbian Stretch.
      I’ve changed the tutorial which your suggested changes.
      Also, I removed the chown, as it does not appear to be needed anymore.
      Thanks again! 😎

      Greetings,
      Gerrelt.

  45. HI Gerrelt-
    Just wanted you to know I built a tiny, retro music player based in part on your two tutorials for LMS and SqueezeLite installs. Thanks for the great work!
    If you want to see what I did, search on hackster.io for miniz (by thisoldgeek).

    1. Hi Bob,

      Yes, I found it:
      https://www.hackster.io/thisoldgeek/miniz-tiny-streaming-radio-based-on-classic-zenith-cube-cbbc3e

      Wow, that looks excellent!! Very nicely done! A 3d printed case with a screen on it, I am impressed.
      Thanks for sharing.
      I didn’t know about PyLMS either, interesting stuff. I’ve added some of that functionality to my script, because I didn’t know PyLMS existed.
      The script can now start and stop playing, play next favorite, and play next song, by calling a function in the script.
      But PyLMS offers more functionality.

      Greetings,
      Gerrelt.

  46. Hi there, just wanted to pay kudos for this excellent tutorial and I’ve got LMS up and running on my pi3 with the latest version of Raspbian.

    Thanks very much for making it so easy!

    cheers.

  47. I have used part of your tutorial to reach my goal: headless sbs (“squeezeboxserver”) + player on an rpi zero w, which connects to home network at home and when not at home, rpi automatically sets up a hotspot.

    Now, when running SBS+SqueezeLite on my home network, it works fine.
    But as soon as the rpi switches to hotspot-mode, I can no longer play the music.
    I can still connect to the server (after switching network to hotspot of course) but the player itself is not found.
    In the log of my squeezelite-player I find error-lines like this:
    “discover_server:830 error sending discovery”
    I suppose that is my problem but I have no idea how to solve this.

    The tutorial I used for the automatic hotspot is here: http://www.raspberryconnect.com/network/item/331-raspberry-pi-auto-wifi-hotspot-switch-no-internet-routing
    I am running Raspbian Stretch

    Could YOU help me with this?

    1. Hi Francis,

      Have you set the LMS server IP to the localhost (127.0.0.1) for squeezelite?
      Maybe you missed this step: Stand alone: Standalone: Installing Squeezelite

      The error-line you posted suggests you didn’t set it, and then squeelite will do an automatic network search for the LMS server.

      BTW: very interesting link on the automatic hotspot, thanks for posting it!

      Greetings,
      Gerrelt.

  48. Hello thanks for the answer, but I had solved it (almost by accident) allready. My setup was: squeezelite -s localhost:9000 and that didn’t work. Later I tried without the port and it worked.
    So I can confirm your answer.

  49. Hallo Gerrelt,

    Dank voor je fantastisch goede handleiding. LMS en client werken nu beide op mijn raspberry Pi 3B+ met raspbian stretch.

    Groet, Erik

  50. Hi Gerrelt,

    First, thank you for your excellent tutorial!
    I would like to install LMS 7.9.1. But with the following command I still get version 7.9.2.:
    wget -O logitechmediaserver_arm.deb $(wget -q -O – “http://www.mysqueezebox.com/update/?version=7.9.1&revision=1&geturl=1&os=debarm”)

    So what can I do?
    The reason for this older version is the support for CDPlayer and Inguz EQ plugins.

    regards,
    Paul

  51. Hi Gerrelt, excellent tutorial!

    I have used this in the past about four years ago with great success.

    However after a corrupt SD card issue, I have spend three days trying to get this to work and have drawn a blank.

    I use LMS to link to some jogglers with Squeezeplay (that part works fine) and also for my Heos and panasonic niether of which find LMS anymore. I’m thinking it’s down to the new version of Raspberry Pi OS?

    1. Hi Rob,
      How does the Heos and Panasonic connect to the LMS server? I don’t think they have support for it?
      Did you install a plugin in the old version of your LMS server? Maybe they connected through DLNA?

      Hmmm…I did some googling, you probably need to install the upnp bridge plug-in.

      Greetings,
      Gerrelt.

  52. Hi Gerrelt,

    I would like to stream music from my phone to the Bluetooth card on the Raspberry.
    And of course using Squeezelite at the same time.
    So I started with this link: https://www.raspberrypi.org/forums/viewtopic.php?t=247892#p1586035
    The trick seems to be to use a mixer between inputs and the output.
    The problem here is that Squeezelite locks the audio card.
    The following link (at the bottom) seems to have a solution: https://www.raspberrypi.org/forums/viewtopic.php?t=96071
    (In this script, I selected card=2 because that is the HifiBerry card.)

    Now Bluetooth is working, Squeezelite is running (is alive) but no sound is heard when using LMS.
    So, changing: SL_SOUNDCARD=”sysdefault:CARD=sndrpihifiberry”
    to: SL_SOUNDCARD=”default” seems to be an issue.
    Note: pulseaudio is not installed.
    Do you understand why and do you know of a solution for this?
    Thanks in advance.

    regards,
    Paul

Leave a Reply

Your email address will not be published. Required fields are marked *