![]() | |||||
| main | install | faq | rio | redrat | sdk |
Hosting a Rio Receiver relies on both system and application services:
The Rio Receiver relies on three system services: DHCP for IP-address assignment; NFS for net-booting; and a webserver to obtain menus and mpeg audio.
Web application services are implemented as servlets, packaged in .war files and run in a servlet container such as Jetty. There are two webapps that the Rio relies upon: the Rio Driver (jrec_rio.war) and the JReceiver Server (jrec_serv.war).
The Rio Driver (jrec_rio.war) provides several services to the Rio:
As with the server-install tutorial, the emphasis is presently on Linux installation. Procedures for other operating systems will be included in a future release. (Please contribute if you can. Thanks.)
NEW! Windows Users take note: Dave Brand has created a Java-only Windows boot package for the Rio. It can be found here and may be incorporated into this Rio driver distribution at some point.
Note that this document describes setting up the Rio for a standard ethernet connection. I'm not sure it's possible to support the PNA phone-cable network from a Linux host, as Linux drivers for the PNA adapter are probably not available. (It may be possible to do so on a Windows host.)
There is also a troubleshooting help file located here: rio trouble
You can find support for installation and usage at: http://groups.yahoo.com/group/jreceiver_user. No registration required to browse the message archives.
If you have a question or experience a problem, please post to this list (req. free registration) rather than contacting the author directly. The author will be monitoring it along with other users who can probably answer your question more promptly.
Follow these instructions ENTIRELY AT YOUR OWN RISK. While a good faith effort has been made to ensure that these instructions are accurate, you must nevertheless take full responsibility should you damage your system or your network. As a precautionary measure with any installation, you should first back up all your critical data and configuration files.
![]() Kernel Support for NFSYou may need kernel support for NFS and must specify so during installation from a packaged Linux distribution or when recompiling the kernel. For example, installing Debian 2.2R3 (Potato), I chose a 'Simple' install with the following kernel module specified: [x] NFS Server Support (NFSD) Note that it may be possible to install an NFS server that runs entirely in user-space, thus avoiding any kernel support. |
192.168.100.113
If this IP (or subnet) won't work with your network configuration, you
must select another. Of course, you must adapt the remainder of this
document accordingly.
![]() DebianThe Debian distribution provides a DHCP server package. It can be installed using the Debian package manager:
apt-get install dhcp
SuSEThe SuSE distribution provides a DHCP server package. It can be installed by editing /etc/rc.config (case may be significant)
START_DHCPD="yes"
Add a reference to your network interface:
DHCPD_INTERFACE="eth0"
with eth0 being defined as the first active interface. Be aware that
interface numbers are allocated first to the kernel and then to the
modules. After editing rc.config run SuSEconfig to
update all relevant files and services.
RedhatRedhat provides a package, dhcp-XXXX.i386.rpm.More details on Redhat DHCP installation can be found in the message archives at the jreceiver_user Yahoo Group. GentooNote: You may have to rebuild your kernel with the common CONFIG_FILTER and CONFIG_PACKET options. The daemon will likely complain if you don't.
emerge dhcp
|
[Windows NT/XP]Still waiting on a volunteer to write up docs for Rio installation. |
[MacOSX]Still waiting on a volunteer to write up Mac OS X docs for Rio installation. One user has pointed out that the Fink UNIX tools were useful to installation. |
![]() The provided configuration file /etc/dhcpd.conf may have examples and settings that don't apply to your network configuration. If so, simply rename the file to something else to get it out of the way.
mv /etc/dhcpd.conf /etc/original_dhcpd.conf
Create a /etc/dhcpd.conf containing a typical allocation of IPs
for your subnet (you can restrict this later if you wish)
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.115 192.168.100.160; # original (115-160)
}
Debian/RedhatYou will have to enable the DHCP init script. To do so, edit /etc/init.d/dhcp and change
run_dhcp=0
to
run_dhcp=1
Start the DHCP server to test it
/etc/init.d/dhcp start
SuSEUse SuSEconfig to update the boot time init scripts for DHCP.Gentoo
rc-update add dhcp default
/etc/init.d/dhcp start
|
If you already know your Rio's MAC address, you can skip this step.
To find the Rio's MAC (aka ethernet) address, first unplug the Rio's power cord and connect its ethernet cable to your network hub.
![]() The easiest way to see the MAC seems to be to run the DHCP daemon in 'debug' mode, as in
dhcpd -d
Power on your Rio and watch for a message like this
DHCPDISCOVER from 00:90:00:11:5f:cc () via eth0
where
00:90:00:11:5f:cc
is the MAC address. Yours will be similar. Hit Ctrl-C to stop dhcpd. Alternatively you can check the system log for the message. |
![]() Update your /etc/dhcpd.conf and add
host rio_receiver {
hardware ethernet 00:90:00:11:5f:cc; # MAC
fixed-address 192.168.100.113; # Rio's assigned IP
max-lease-time 0;
default-lease-time 0;
}
replacing the sample MAC address with your own. Restart the dhcp daemon
/etc/init.d/dhcp restart
And you're set. Additional DHCP ConfigurationYou may need to adjust the DHCP configuration further to get it working with your network.The full documentation can be read with:
man dhcpd.conf
In my (Reed's) situation, the parameters shown below were added by an admin friend to get things working optimally:
ddns-update-style ad-hoc;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.100.1;
option routers 192.168.100.1;
Note that these settings may or may not apply to your particular situation but could help troubleshoot a problem -- for example, if attached systems suddenly cannot resolve names. |
Unfortuately there is no known way to extract the file from the .cab apart from temporarily installing the Windows host and grabbing the receiver.arf.
<MILD_RANT>Perhaps Sonic Blue/Empeg will see fit to support alternative hosts as JRec and provide this file outside a Windows-only archive in a future release.</MILD_RANT>
Note that receiver.arf contains the display app, which is presumably copyrighted by Sonic Blue, thus we cannot post it at the JReceiver site.
The Rio requires an NFS share from which to boot.
![]() Begin by making the following directory:
/tftpboot/192.168.100.113
with the commands
mkdir /tftpboot
mkdir /tftpboot/192.168.100.113
and extract the 'receiver.arf' tar into the directory
cd /tftpboot/192.168.100.113
tar fvx receiver.arf
broaden the read permissions
chmod -R u+r,o+r /tftpboot
Add the following line to your /etc/exports
/tftpboot/192.168.100.113 *(ro,sync,insecure,all_squash)
DebianInstall the NFS server package, if not installed
apt-get install nfs-server
It should start the nfsd daemon automatically. SuSEActivate the NFS server package, if not done so yet in /etc/rc.config
NFS_SERVER="yes"
And run SuSEconfig to activate the server.
RedhatAn NFS daemon is provided a package, nfs-utils-XXXX.i386.rpm.GentooNFS server and client can be installed with
emerge nfs-utils
rc-update add nfs default
/etc/init.d/nfs start
|
Test out your NFS installation by attempting to mount, preferably from another system.
![]()
mkdir /rio_temp
mount -t nfs HOSTNAME:/tftpboot/192.168.100.113 /rio_temp
ls /rio_temp
where HOSTNAME is your server IP and you should see
bin dev empeg etc il-binary.o proc sbin tmp zImage
un-mount with
umount /rio_temp
rmdir /rio_temp
|
![]() Download jreceiver-rio-0.2.5.tar.gz and extract
cd /usr/local
tar fvxz /download/jreceiver-rio-0.2.5
|
$JREC_HOME/etc/jrec_jetty.xml
and UN-comment the Rio configuration:
<!-- *** jrec_rio.war - RIO DRIVER ***
THE
CONFIG
LINES
-->
Fix up the leading and trailing lines so that you have
<!-- *** jrec_rio.war - RIO DRIVER *** --&rt;
THE
CONFIG
LINES
remaining.
Restart Jetty to enable the driver.
![]() Open a second terminal window to monitor Jetty's log as we restart it
tail -f $JETTY_HOME/logs/*
And then restart Jetty (using the JRec startu script)
$JREC_HOME/bin/jrec_jetty.sh restart
Try testing the forwarding from the root context
http://HOSTNAME:8080/tags
where HOSTNAME is your server name or IP. You should
see a list of strings: fid, title, artist, etc.
Next try booting your Rio. It should eventually say "Found Music Server" followed by the main display. Try playing some tunes. If so, congrats, you've made it. As mentioned earlier, if you have problems, check out rio trouble. |
Once you get everything mentioned above working for your Rio, you may want to consider installing Frank van Gestel's DisplayServer patch. See here to download the patch and a README for instructions on installing it.
To enable JReceiver support for this patch, click on the checkbox in Rio Settings and save. You should see control buttons for each Rio in the Status Panel.
A cautionary note: this is still a bit flakey as the DisplayServer host seems to drop the connection with the Rio driver and refuse a reconnect. This forces the user to reboot the Rio to get control working again.
Recommended procedure for rebooting the Rio: three(3) rapid presses of the power button on the front of the unit should suffice.
If anyone can diagnose this further and provide a fix, you'd be a hero!
For details on installation and configuration, see here.
| main | install | faq | rio | redrat | sdk |