For anyone who is strugging with their Rio Receiver + YARRS + OpenBSD. It does work, I've just spent the last 3 nights fighting through the various (silly) problems.
In general the instructions out there for 'alternate' servers are based on Linux -- I happen to run OpenBSD systems at home, so that's what I chose to use as my server.
I believe I have a re-stickered Dell (Sonic|blue sticker in upper right corner). I picked this unit up earlier this year at the Overstock.com sell off. It has 1.04 software on it.
As an overview, the issues I had were
The SSDP Perl script. The YARRS script worked out of the box, but I had already been hacking around with Jeff Mock's and discovered that my $linux_request = "^upnp:uuid:1D274DB1-F053-11d3-BF72-0050DA689B2F"; didn't actually match the packet being sent. My Rio sends out 1D274DB1-F053-11d3-BF72-0050DA689B30. (note the last 2 digits). Again, the YARRS scripts don't have this issue.
The /etc/exports file. OpenBSD wanted me to specify /tftpboot/10.0.0.3 as the export, not /tftpboot as the doc suggests. This was tricky to figure out since the Rio doesn't really give you much of a hint as to what is wrong.
Then I got stuck on a stupid thing (I suppose these are all sort of stupid), the web server was getting the requests but giving me no songs back -- even after I had manually verified that the databases were created correctly. A good way to test this is stick a link like "http://10.0.0.101:81/query?artist=" into your browser. You should get the list of artists.. All I was getting was a blank list with "matches=" at the top of the page. The solution turned out to be that the contents and db directory trees were owned by root, not www:www. Duh. The YARRS document mentions the cron/rio-builddb-fix which does exactly the right thing about whacking permissions.
Well, hopefully that will help someone. You can contact me at email@example.com
if you have specific problems.