Radarcape:DebianSupport

From Beast Wiki
Jump to: navigation, search

Scope

At the time of development, the operating system of the underlaying Beaglebone was a Linux Kernel 3.8 with Angstrom distribution. We found this was very stable in most use cases, just some networking issues came up, which we were able to fix with SW workarounds.
Another fault of this distribution was that due to a hardware misconfiguration the Linux system time did not run correctly. This was corrected by exclusivly using the GPS time within the Radarcape's application. However, some external tools and addons suffered from this.

You need to know that a distribution not only consists of Debian or Angstrom, there is a 2nd part with same importance, which is the Linux kernel itself. You may recognize this if we're now telling that the kernel version is 4.1.4-ti-r9 and the Debian distribution version 8.1. The kernel provides all functions which permit access to the hardware by the applications that are provided by the distribution. Somehow like a bios on a PC, just far more powerful.

Unluckily the support from Angstrom was discontinued. This meant that no longer general tools and applications were neither maintained nor updated. No more a new compiler, no longer any updates in the networking tools, and not at least, no support for the ARMHF architecture. What is ARMHF? Simply said it is the software interface to the floating point unit of the ARM processor. The ARM CPU on the Beaglebone has a floating point unit, but access to it was such a pain that direct software processing was about the same effort. With ARMHF this was corrected. (Note: CPU load of the Radarcape under ARMHF is nearly half as before)

The Beaglebone community decided to swap to Debian. We've started early trying to get a Beaglebone working based on Debian. At this time, also some changes were introduced into the kernel. In kernel 3.8 and 3.14 we found that the serial port performance was degraded significantly, confirmed about 2 months later: someone had applied a patch which did not make use of the serial port FIFOs. Waiting again - the cycle time is around 2-3 months per change - in about June 2015 we found that the latest release 4.1 fulfils all requirements, but is unstable. In a tremendeous community project the error became identified and corrected and now we have a stable kernel 4.1.4-ti-r9 which supports Debian 8.1 distribution.

Further Support Of Angstrom

Users of the Radarcape will now ask: "Do I need to change to Debian?"
Answer: With our Major 2 Software Release, we are no longer able to provide all services for the Angstrom based Radarcape:

  • Radarcape MLAT requires openssl, but the Angstrom distribution provides Dropbear-SSL. There might be a hell of incompatibilities and problems having both installed. Additionally, the Angstrom distribution was not updated for several years now, however stable, we don't think it has got the latest updates and security fixes.
  • FlightAware feeder 'piAware' suffers from the same problem. The Angstrom still uses software floating point, a library which is pretty old and outdated. And, in comparison to the Radarcape, it requires many external resources so it might be unstable or incompatible

Debian Installation

If in the text we're using "Debian", remember that this also includes the 4.1 Linux kernel. 4.1 is defined as a long time support (LTS) version.

Properties and Advantages of Debian

  • Kernel 4.1 / Debian 8.1 is the latest (Mid 2015) state of the art Linux distribution
  • Networking/LAN is much more stable and error corrections applied
  • Due to the ARMHF architecture, CPU load is nearly half of the previous installations.
    • This should give headroom for others, like Flarm decoding.
    • We're now able to use latest compilers, which are far more efficient and easier to handle
  • 2nd level tools no longer need to support the 3 years old operating system of the Radarcape
  • Linux system time is correct and even using NTP as a standard.
    • As time of writing this, NTP Stratum 1 using the 1PPS pulse is already working but we've found a bug in one of the tools that are required.

How to install

Important Points:

  • The installation is different wether you have a Radarcape based on Beaglebone-White or Beaglebone-Black.
  • Before starting the installation, please write down, copy or print your configuration settings, as they will get lost during this process.
  • If beeing asked for a login name and password from the web pages of the Radarcape, use Administrator and radarcape.
  • Basically nothing can go wrong, as this recovery procedure can be repeated as often as you want. We're using the same procedure in production and testing, and it has been done successfully several thousand times.
  • In difference to the Angstrom recovery, the Debian recovery already contains a working Radarcape application. There is no need to install the latest version manually.
  • The Radarcape applications contained in the images are eventually different and later than those released for public, but changes are only internal and not significant for public. The internal software update however is broken in this version, so any later Radarcape software release must be done manually.

About end of September 2015 we will offer the two types of recovery SD cards in our shop.

Beaglebone White Installation

Beaglebone White Radarcapes can be identified by

  • the serial number starts with 1302
  • on the back side, you inside see green LEDs and not blue

Beaglebone-White based Radarcapes require reprogramming or swapping of the SD card that is accessible behind the Radarcape front panel.

  1. Download RC-BBW-Debian-4.1.30-ti-r60-181116.1000.02.zip Packed size is around 151MB.
  2. unzip the file, so you get an IMG file.
  3. using Windiskimager or Etcher, write the IMG to a SD card, minimum size is 4GB. See also Radarcape:SD_Card_Howto#Restoring_an_SD_card_with_Windows. Remember, not all 4GB cards are the same size, a Kingston 4GB may be too small, the reference is the 4GB Sandisk which comes delivered with the Radarcape. No problems are known if you're using a larger SD card.
  4. Remove power from your Radarcape
  5. Remove the front panel from the Radarcape. The screws are Torx TX10. Please do not use crazy tools and please do not use drills.
  6. Swap the SD card
  7. Apply power, wait for about 15sec, and after your front panel LEDs are showing ADS-B and GPS like before, use a web browser and access http://radarcape for verification
  8. The current image for BB-White recovery may not contain the latest firmware version. There may be new releases meanwhile, please read Radarcape:Software_Features_Major2 or simply browse to Configuration - Software Maintenance - Upgrade Radarcape Software and press the button [Update]
  9. It might be useful to update the Linux system to latest state. Login as user root to the shell and execute "apt update && apt upgrade -y".

Beaglebone Black Installation

Beaglebone White Radarcapes can be identified by

  • the serial number starts with 1304
  • on the back side, you inside see blue LEDs flashing

Beaglebone Black contain an internal eMMC card, which must be flashed from a separate SD card. This separate SD card can be removed afterwards and kept for any later help or reused for any other purposes.

  1. Download RC-BBB-Debian-4.1.30-ti-r60-181116.1000.02-Writer.zip, size around 320MB
  2. unzip the file, so you get an IMG file.
  3. using Windiskimager, write the IMG to a SD card, minimum size is 4GB. See also Radarcape:SD_Card_Howto#Restoring_an_SD_card_with_Windows
  4. proceed like shown in Radarcape:EMMC_Howto#Recovery_Process
  5. Afer applying power, wait for about 15sec, and after your front panel LEDs are showing ADS-B and GPS like before, use a web browser and access http://radarcape for verification
  6. The current image for Radarcape recovery may not contain the latest firmware version. There may be new releases meanwhile, please read Radarcape:Software_Features_Major2 or simply browse to Configuration - Software Maintenance - Upgrade Radarcape Software and press the button [Update]
  7. It might be useful to update the Linux system to latest state. Login as user root to the shell and execute "apt update && apt upgrade -y".