penma's corner on the web

My experiences with Philips WAS6050

We've recently (February 2009) bought a Philips WAS6050, which is a music player that can play UKW radio and internet radio stations. Here are my experiences with the device.

Positive aspects

The design of the box is just nice. It is a small black cubus with speakers going all around the box, with a subwoofer at the bottom. There is a display and some touchable buttons on the top.

Given the size of the box the sound quality is really good. The box can be turned quite loud while still giving a good sound quality.

Initial setup

The box is not really hard to setup. What is annoying is that the user interface is not really accessible to beginners. Especially the German translation makes heavy use of almost ununderstandable abbreviations (sometimes even when the so crippled line only takes up one of five available lines on the screen).

The error messages the device spit out are not exactly useful. One common example is Could not connect to internet server, see below when this happens. There is absolutely no hint on what went wrong.

Entering the wi-fi key really sucks. It is done over a remote control. Text input is done like on mobile telephones. Unfortunately, the RC is quite inertial and you see typed characters after about 300 milliseconds. When cycling through the available characters, it quickly happens that the box advances to input the next character while you actually have not finished typing in the first one, requiring you to restart.

How the box behaves in the local network

I've only tested the wi-fi functions because that is how the box is attached to the network. I once tested attaching it over Ethernet cables while trying to debug stuff.

First, you cannot configure the box to be in the same network on both interfaces. It is simply not even possible to have it use 192.168.0.7 on WLAN and 192.168.0.8 on Ethernet.

The box has IP autoconfiguration. Like I said, it has IP autoconfiguration because the IP address is the only thing it gets over DHCP. You have to enter gateway and DNS servers manually, always.

It is an extremely good idea to have a local DNS cache running, because the device does not remember any DNS entry. Sniffing the traffic it generated, I found out that it sometimes even requeried the same domain name after just one fifth of a second. The queries were both successful by the way, as there was a full (encrypted) communication to the Philips server in between.

Internet Radio issues

Internet Radio requires registration on the Philips page. For everything under the menu entry Internet radio, internet access is required and connections to a Philips server (www.ecdinterface.philips.com) are made.

The set of available radio stations is really great. There are some stations that are normally only available to paying customers. Obviously Philips has some contracts running with them. The list is pretty large, maybe a bit too large. However, nothing allows you to add your own radio station to the list. You can only listen to Philips approved radio stations.

All of the communication with said Philips server is tunneled over HTTP. The payload is however fully encrypted with an unknown encryption scheme and an unknown key. However, I believe that the encryption that is used is RC4. I found the string src/rc4.c physically near other code and strings that deal with connecting to the Philips server. (It might just as well be a red herring or accidentally left over debug code, though.)

Thanks to the encryption, it is not even possible to set up your own Philips server (by propagating a false IP for the Philips server).

After a longer period, or more exactly, after some hours of residing in standby mode, the device fails to connect to the internet server with the message Could not connect to internet server, requiring the device to be unplugged from power multiple times until it works again. UKW radio is still functional, however, all internet radio facility is dead because it depends on the central Philips server.

Internet radio stations sometimes take a long time to start playing. It can take up to one minute until a selected stream starts playing.

Conclusion

Without discussion, the hardware is very great. If it would be more open to custom systems, it could be made a very good box. The sound quality is just cool and the look of the box is nice.

The coolness of the box is ruined by the fundamentally broken implementation. First, the configuration interface is not user friendly (remote control, broken DHCP client). Second, it does not care about DNS that much (no caching of results). Third, it cannot be customized (central server with encryption, no obvious way to get own systems running).

I would really favor such a box over a custom solution with some embedded system with external speakers and a monitor added to it. This is because the Philips cubus can be carried around easily, while the embedded computer system with speakers can't really be carried around without resetup on the new site.

Ideas for the future

One way to rebuild such a device would be to compile a small screen, some small but decent speakers, and some embedded board into a nice case. Shouldn't be too hard to do this.

I guess it would be easy to provide a much better implementation than what is currently there. A small web interface that allows you to add radio stations by stream URLs is not hard to code. Regarding DNS and DHCP, libresolv and dhclient3 are usually good choices. The frontend can be as little as a small fullscreen X or framebuffer app. Audio playback can be done using mplayer or mpd. It's all easy.

An idea I had for the remote control is to use a standard wireless mouse instead. Four buttons are sufficient: left button to select, right button to stop whatever you're doing, and a scroll wheel to select items on the screen.

The other solution would be of course to open up the WAS6050 and check how to flash custom systems onto it, but I do not want to void the warranty right now. And I don't think Philips will provide documents for this in the near future so I could do it safely.