I picked up an iReceiver, a cheap WiFi audio receiver that supports AirPlay and DNLA. It works with the stock firmware, but I want to get OpenWRT running on it so I can take care of some stupidity in the networking configuration, and so I can use shairport-sync, instead of a dated version of shairport.
From my teardown, I know that it is based on a Ralink RT5350F, with 32MB RAM and 8MB of flash.
Using the serial headers I found, I've obtained access to the UBoot console, and, once linux boots, gained access to a root shell, which led me to a telnet server and a hidden webpage that I can use to fire it up.
From here on, I'm going to proceed cautiously because the device doesn't have an ethernet port, making recovery from a botched firmware more difficult. I am planning on building firmware that enables WiFi by default.
I guess my first question is whether I should do something about the bootloader. The stock uboot looks is based on Ralink's uboot version.
U-Boot 1.1.3 (Apr 23 2014 - 10:15:13)
[...]
============================================
Ralink UBoot Version: 4.2.S.1
It includes the loadb command to load an immage over serial using kermit, which I think should let me recover from a bad firmware version by loading a known-good version into over kermit and booting it. Unfortunately, it looks like loadb is/was broken in Ralink's u-boot.
Does anyone know if the bug is fixed in the version I'm using? Or, barring that, can anyone point me to a compiled bootloader with a working loadb for RT5350F boards that I can install?
I think that's it for now, though once I'm confident I can recover from a bad firmware, I may have more questions. Thanks!
(Last edited by eas on 6 Jun 2016, 06:57)