Overview
Linux/Ubuntu has drivers already for the USB audio card and the HID (human interface device) (the remote
control) for the Logitech Music Anywhere (LMA) hardware and they work just fine. The problem is that there is no way for the user to map the controls
on the remote to specific functions on their Linux/Ubuntu computer. People have probably figured out
how to get the sound working through the device and that may be "good enough" - but that makes the LMA
device no better than a regular pair of wireless speakers. This is where lmalinux proves useful.
Once installed, a configuration utility will pop up every time you plug your LMA USB dongle into your
computer. This GUI will allow you to enter in specific commands that are executed whenever the associated
button on your LMA remote control is pressed. The defaults are to issue "audtool" commands to Audacious -
which is the music player I suggest. You can find out more about Audacious here:
http://audacious-media-player.org/
If you're using Ubuntu, just go to your Synaptic Package Manager and search for "audacious" to install it.
You can also install it via a command line:
sudo apt-get install audacious
Installation/Usage Instructions
- Install lmalinux as root - this package needs to add a UDEV rule, so root permissions are necessary
- Install Audacious if you don't already have it installed
- Plug your LMA USB dongle into your computer.
- The lmalinux configuration window should appear. You can leave the defaults as they are for now.
- Start Audacious and left click the upper-left corner where the 3 little horizontal lines are.
A menu window will appear - select Preferences. (You can also just press CTRL-P from the main screen.)
- Click on the Audio section in the left-hand pane.
- Click "Output Plugin Preferences" If this option is greyed out, change the "Current Output Plugin" to OSS
and then click "Output Plugin Preferences"
- "Audio Device" is a drop down list. Select the device called "Logitech Music Anywhere USB Tra:" or
"USB Audio 1" or something that has "hw:1" in the description somewhere.
Click OK.
- Exit Audacious and restart it. You must restart Audacious to ensure the output audio device changes
have been registered!
- Plug your LMA remote control into the wall and attach some speakers/headphones to it. Make sure
the lights on it and the USB dongle are blue. If they are red, then press the "Connect" button
on the remote control and wait for it to sync up and turn blue. If nothing you do seems to make
them sync, then hold down the button on each device for at least 10 seconds - wait for the lights
to start flashing before releasing the button. Do this on both of them and they should sync.
- Start up a playlist in Audacious and confirm that the sound is working.
- If you get no sound, then go back to step #8 and change the audio device until you have selected
the one that makes sound come out of your LMA. If that still doesn't work, go back to step #7 and try
changing the "Current Output Plugin" to something else like ALSA and continue to step 8 again. Remember
to restart Audacious each time you make a change to the output audio device!
- Click on the track advance button on your LMA. It should make Audacious go to the next track.
- You're done! You can go back to the configuration utility and change the commands to anything you
like.
Details
The commands you specify in the configuration window are invoked by the "lmalinux.pl" daemon that starts
running when you plug your LMA device into your computer. This deamon monitors the /dev/logitech_remote
device for button input from your LMA remote control and translates the data into the appropriate command.
This package makes use of UDEV rules to assign the appropriate permissions to the remote control device
that the Logitech Music Anywhere (LMA) system uses. Permissions will be set to the user who is currently
logged into the :0 XWindow. If nobody is logged into X, then permissions will be set to root. You can
change the permissions of the remote control device by issuing the following command:
sudo chown : /dev/logitech_remote
Note the colon after the username. The colon tells chown to also assign the user's group to the
device.
The configuration data for which commands to run are written to the current X user's home directory in:
~/.lmalinux.conf
This is a simple 4-line text file. Each command is on a separate line and is in the following format:
--------snip-----------
play/pause command
next track command
previous track command
stop command
--------snip-----------
If you don't wish to use the GUI, you can use your favorite text editor to change the commands to your liking.
However, if you don't use the configuration GUI, you will need to manually issue the following command:
killall -HUP lmalinux.pl
That will send a HUP signal to the lmalinux.pl daemon which tells it to reload the configuration file.