Changing Firmware

From Sharpfin
Revision as of 10:50, 27 April 2008 by Philipp (talk | contribs) (→‎Licensing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Changing Firmware

Warning

This is a very Advanced Process, has has had very limited testing.

Licensing

The Reciva Radios use Encoder/Decoder algorithms (CODECs) such as MP3, Real and AAC. These CODECs require licensing. Reciva and/or your radio provider have paid these licensing fees on your behalf, and in turn, you have paid them when you bought the radio.

When / if a new CODEC comes out, Reciva and/or your radio provider need to negotiate a new license. It is your responsibility to ensure that you do not patch your radio with a firmware release that contains unlicensed CODECs.

The Upgrade Files

The Reciva radios all use the same 'core' barracuda module. Currently, there are several hardware releases of this board - these boards have different fit/no-fit components selected, and we do not really understand the differences.

Reciva build the firmware for all manufacturers, who check it on their hardware, and then request Reciva to make it available for their customers to upgrade. Not all manufacturers are pro-active in checking the firmware, and supporting upgrades, which is why there are some radios that are on very old releases.

The firmware process submits the hardware type, and Reciva provide an upgrade file if an upgrade is supported by the manufacturer and required.

The Process

If you want to apply a different version of the firmware, you need to skip the first step in the radio upgrade, which is the compatibility check.

This is now possible with the Sharpfin patchserver. If you are starting from scratch, this is a two-stage method.

We do not host the Reciva patches, or any proprietary Reciva software or firmware on the Sharpfin site. You need to apply the Sharpfin patch, and ensure you are using the latest webserver files.

  • If you haven't already done so, Download and Patch the Radio using the latest sharpfin-base (0.1) - see Enabling Login
  • Download and Patch the Radio using the latest sharpfin-www (>= 0.4)
  • Click on the 'New Firmware' link on the Sharpfin Radio Webserver
  • Enter the firmware you wish to download (see table below)
  • The radio will download the patchfile from Reciva, offering it to your PC via the Webbrowser
  • Save the patchfile and readme file to your hard drive (save BOTH files!)
  • Run the patchserver, using the downloaded patchfile
  • Follow the patching instructions on Enabling Login
  • Don't be surprised if the radio sits there downloading the patch for ages
  • The radio will print on the screen "Do not unplug" and give progress when the actual writing is taking place.
  • After update is complete and radio reboots, do not be surprised that it has lost the WiFi and Network settings; these can be re-entered manually.

Note that whilst your radio will now have different firmware, it has maintained its hardware ID. So, to the Reciva websites, it is still the same hardware as it always was. One consequence is if you then perform an "update firmware" operation from the radio's menu interface, the radio will request the latest firmware for its particular hardware ID. In many cases this will be the firmware you had decided to replace with the above process !!

Successes / Failures

If you use the process to change your radio, please record the outcome. It helps if we know how many people have used it, which radio, and the outcome.

A table showing which firmware versions have been tried with which radios can be found on the Radios Page.


The facts about firmware releases

  • Your serial number and hardware number are stored in a separate support device, not the main flash memory, so they are retained during any patching.
  • There is no such thing as the Ipdio firmware, Logik firmware or Imp firmware - the releases to-date support all radios available at the time of the firmware release, and are shipped with all configuration files for all hardware releases.
  • Configuration files are stored in /root or /root/hwconfig depending on the firmware release. The configuration files contain options such as menu configurations, alarms etc... The files also contain information on which drivers to load, so don't go copying one over another, you need to carefully edit them.
  • The flash memory is partitioned (into 4 partitions). These are boot, root, debug and config. Firmware patches definately provide new boot and root partitions, but may not overwrite the debug and config partitions. the debug partition is where the sharpfin webserver files are stored (not the application, though), and the config partition is where your chosen config is stored. So this is why some upgrades will retain your configuration.

Features changed/improved with new firmware

Based on an IR-100, Pre-update firmware (ie. official upgrade): 255-c-158, post update firmware: 257-a-421-a-057.

Changes:

  • Navigation through "stations - location" now skips out the continent step.

Additions:

  • Stations stored in "my stations" offer all stream types and their "on demand" content. (Previously only had default live stream). Probably the most useful additional feature.
  • WiFi Signal strength meter.

Performance Improvements:

  • Podcasts no longer seem to suffer from the 'stop and restart' problem of the Logik firmware.


Quirk?

  • Seems to enable pause and FFW and REW buttons when playing BBC listen again streams in Realaudio - these are also the only streams I have come across with time data displayed - perhaps the radio cannot pause other streams due to an inability to retrieve time data? BBC live streams can be paused on PC as can streamed podcasts.

Observation by NC; I don't think its quite as you report. I think the pause/ffw/rew function is part of a "listen again" stream, not Real Audio. What you see on your PC is just the player offering pause/ffw/rew, in most cases the PC player is trying to buffer the entire file as fast as it can collect it from the server

Hi NC, thanks for the reply, that does make more sense, the result of pressing either ffw or rew on my IR100 is to skip 15 secs in the chosen direction, the same behaviour as the BBC web player, so maybe the beeb do add something to LA streams. Once done, you can then use the select knob to zero in on any point in the stream in either direction.

After a bit more investigation, I can only deduce that the list of Listen again programmes is put together by Recieva, and that they somehow get the radio to play the stream through the BBC web player, while it is accessible via the BBC web player (now Iplayer) the file will pause etc, but the same stream accessed from the programme page after 7 days, which does not go through the web player will not pause. I assume therefore, that the fact that current streams can be manipulated in this way is a result of work done by Recieva regarding compatibility with the BBC player, rather than any property of the stream.

This would also explain why streams accessed via Nigelcliffe's excellent podcast workaround, which I suspect also accesses files directly cannot be paused etc.

Comment from PW: Reciva generate the On Demand listing by running a Perl script to parse some pages from the BBC website. They have previously made a version of that Perl script available (when On Demand broke). It generates a list of show names and links to the RealAudio streams. i.e. it is independent of the BBC web player (or iPlayer) but it is accessing the same underlying stream repository as listed on the BBC site.

  • I came across this feature when trying to bind a stream to Preset 5 - it may be present from the off or may need a 4 or 5 second press on a relavent button to 'wake up' the feature. As far as I can tell, the buttons are preset only in all other modes at present.


Based on an IR-100, Pre-update firmware: 257-a-421-a-057 (IPdio), post update firmware: 257-a-297-a-007 (Roberts).

  • this works, but no changes to alarm (multiple alarms and wake to radio are available in the Roberts, this was the main reason for trying this version. It has since become clear that this option can be obtained by editing the config file), no WiFi Meter and suffers from the podcast problem. Felt very, very similar to the Logik firmware - NOT RECOMMENDED - I also experienced connection problems and warnings on my IR100.
  • reverted to 257-a-421-a-057 after about an hour, but interestingly, all my settings made previously (WEP key etc) were retained.

Edit It Yourself Features

Even with the old firmwares, there are many features of radios which are disabled. to enable these features, you may not even have to upgrade the firmware, but you will have to be familiar with Linux Command Line and the editor 'vi'.

Further details in Config.txt File