Rio Receiver Hacking

Introduction

The Rio Receiver is a consumer-electronics device that sort of bridges the gap between computer-geeks and "normal" music lovers. It connects to an in-house computer network, either over ethernet or phoneline network, and provides music delivered from a central server via MP3 files. It's way cool. It was created by the great geeks at Empeg, who eventually got bought by SonicBlue, who then started marketing it under ther Rio name. It's all very confusing.

Update, July 8 2004:Making it even more confusing is the fact that the product has been out of production for some time, and recently (I think in 2002, though I'm not positive) SonicBlue got bought. There's still a community of people hacking the box, but not as many as before. Work now centers on JReceiver (the server) and, for many users, Trio (a complete replacement for the on-box client software). As such, much of my work from 2001 is now out of date. However, I'm leaving it available here for anyone who wants to hack the original software....

Extending the Capabilities (aka: Hacking)

Ever since I first got the receiver, I've been curious as to how exactly it works and whether I could get it to behave in a more "David-friendly" fashion -- that is, I wanted to tweak the menus around a bit and such to suit my personal preferences.

I quickly found a good start at a linux server, posted by Jeff Mock (www.mock.com), who's done a lot of hacking around at a low, hardware / OS level. More recently, I've stumbled onto the JReceiver project (jreceiver.sourceforge.net), which is building a totally database-driven, extensible MP3 server framework, with a client (server -- the distinctions get fuzzy) for the Rio receiver.

I've thus been recently re-energized, and have done some digging around into how the Rio works. In the near future, I'll try to better document all the bits and pieces of its protocol, most of which is only documented as a matter of comments in the source files for the various aforementioned server projects. For now, however, I've finally (as of December 29, 2001) broken most of the format of the layout files, and can describe here exactly how those are configured. At least mostly how they're configured. There are still a few mysteries lingering...