-
Notifications
You must be signed in to change notification settings - Fork 70
PiAware Release Notes
- Require a tcl-tls version that has the fastpath workaround
- Add Buster build support
- Retire wheezy build support
- Add build rule for Ubuntu Disco (not officially supported)
- Correctly recognize Pi 4 wifi/ethernet interfaces by MAC address
- Add "network-config-style" configuration option (used in sdcard images only)
- Remove "flightaware-user" and "flightaware-password" configuration options; PiAware sites should be associated with user accounts by visiting the appropriate claim URL on the FlightAware website
- Remove support for configuration files on removable USB media
- When using an alternative configuration file (specified via "-config"), ignore the standard configuration files entirely (/boot/piaware-config.txt, /etc/piaware.conf)
- Updates to the client/server communication protocol
- Use faup1090 from dump1090-fa 3.8.0
- Use faup978 from dump978-fa 3.8.0
- SkyAware renaming
- Relax itcl package requirement
- Fix misleading 'Couldn't open socket' piaware-status error
- Make piaware-status only report on enabled receiver types
- Remove obsolete piaware-config "-status" option
- Add Stratux dongle support
- Separate receiver and uat-receiver-type config types
- Fix gpsd bug
- Add Mode S/UAT program status in status.json
- Add support for separate Mode S and UAT radio indicators
- Support for 978MHz UAT ADS-B via dump978-fa
- Add a config option 'use-gpsd' to allow disabling the use of gpsd location info.
- Use faup1090 from dump1090-fa 3.7.0
- Fixes bug in the port 30003 output format
- Supports new SkyView updates in latest dump1090 that include "extended Mode S" data
- A new data feed option is available for getting data from your device. This option provides JSON data in the same format as FlightAware’s commercial “Firehose” product. This is only for advanced users that want to write custom software that uses the data from their device in this format.
- SD card image now supports Raspbian Stretch
- Bug fixes and improvements
- Bug fixes and improvements
- piaware: Fix a file descriptor leak when running on some non-Pi hardware
- piaware: Report current feeder ID from piaware-status
- fa-mlat-client: Fix complaints about out of order timestamps when mlat results are looped back
- fa-mlat-client: Fix a minor unit conversion error
- fa-mlat-client: Increase the size of socket listen queues to avoid false synflood detection
- PiAware – make connections to FlightAware more robust for scalability/reliability
- SD card image updated new kernel/bootloader packages (this adds support for the Pi Zero W)
- SD card image and package-based install updated to add PiAware Skyview user interface (dump1090 map view)
- Supports latest Skyview changes in dump1090
- New config option: mlat-results-anon (default “yes”). Set to “no” to disable sending MLAT results for blocked aircraft.
- New command-line options: -configfile, -cachedir. Can be used to run multiple copies of piaware on a single host by pointing each piaware at a different config file and cachedir.
- Updated Mode A/C support:
- New config option: allow-modeac (default “yes”). If enabled, dump1090-fa will decode Mode A/C if a client requests it via the Beast command protocol. Decoding Mode A/C requires additional CPU; this option may need to be disabled on low power devices. Upgrades on a Pi Zero or Pi 1 will set this to “no” during the upgrade. There is no display of Mode A/C data on the dump1090-fa web interface.
- Major improvements to the Mode A/C decoder. Greatly reduced dump1090 CPU load when processing Mode A/C data in a busy environment.
- Updated FlightAware’s aircraft static data export used by dump1090.
- Allow skipping the web map history load on slow connections by appending “#nohistory” to the map URL.
- Replacing the desktop login prompt, after booting a simple text-mode status screen will be displayed
- The sdcard image no longer enables ssh by default for security reasons.
- Various other bug fixes and tweaks.
- piaware-config.txt now supports configuration values with special characters by enclosing them in quotes. This is primarily to support WiFi configuration. See comments in piaware-config.txt for details.
- Improvements to data decoding to prefer Extended Squitter data over non-ES Mode S data when both are available; this improves accuracy of reported data.
- Improved reliability of air/ground detection.
- Various minor bug fixes and tweaks.
- And the Big News: major improvements to the dump1090 web interface!
- Add NEXRAD weather layer (USA only)
- Aircraft information moves to drag-able pop-up
- Data table (sidebar) is resize-able and expandable/collapsible
- New and improved hyperlinks to flightaware.com 82 aircraft data
- Configurable units of measure display (Imperial, metric, aeronautical)
- Filter aircraft by altitude
- Option to show all aircraft tracks
- Improved aircraft icons on map
- Improved aircraft type/registration database to include more publicly available data
- Computed aircraft registration numbers (from ICAO address) for countries with predictable mappings (e.g., USA)
- Various look and feel improvements for usability
- Auto upgrade from 3.0.3 supported.
- Added support for additional wireless devices’ firmware.
- Added support for hidden wireless network SSIDs.
- Integrated WiFi support – Easy wifi configuration without requiring attached monitor/keyboard/mouse or wired network connectivity
- New OpenLayer Maps for local flight mapping - Avoids requirement for users to obtain Google Maps API keys and adds local map support for users in China
- Range rings and aircraft distance from receiver site
- Country flags
- Aircraft type and registration, when known
- Updates dump1090 to align with the latest dump1090-mutability release which includes a substantially better Mode S decoder than PiAware 2
- Adds support for receiver devices other than RTL-SDR dongles such as Beast, Radarcape and other external receivers (for advanced users)
- Adds a new configuration utility to ease setup and customization (for advanced users)
- Improves the update capabilities so you can easily receive future enhancements
- Adds a new PiAware status web page for easy status review at-a-glance and quick access to the local map view (for advanced users, this is on HTTP port 80 and port 8080 redirects here)
-
Start the liveness timer immediately on login. (Otherwise if we lose the connection in the time between logging in and receiving the first alive message, we might never notice.)
-
Correctly handle errors that happen during socket creation such as DNS lookup failures.
-
Make connection attempts asynchronously.
-
Overhaul connection timers to make them more robust.
-
Report ID / VERSION_ID / VERSION from /etc/os-release to provide for concurrent support of both the current "wheezy" version of Debian and the future "jessie" version.
-
Catch failures of get_default_gateway_interface_and_ip as they are nonfatal for us. (We just get a little less info.)
-
Install new SSL CAs.
-
Log more data in the event of TLS negotiation failures.
-
Add modern SSL validation; support expanding network/hostnames.
-
Failed SSL certificate validation no longer causes piaware to terminate.
-
Clean up and improve log messages.
-
Change the default port for MLAT output to 30104. This fixes it so we don't automatically connect to a local dump1090 that wasn't built to understand MLAT and misinterpret what it tells us.
-
Reset locale settings before running netstat so we get predictable output. (With a non-English locale netstat might report unexpected values for the connection states, confusing piaware's netstat parser.)
-
Provide extra protection against looping back MLAT results.
-
Pass --stdout to faup1090 to provoke an error if it's an old version.
-
Run helpers from /usr/lib/piaware/helpers/
-
When piaware is restarting itself, remove the pidfile first thing so the restart can replace it.
-
Changed name of query_dpkg_name_and_version function to query_dpkg_names_and_versions, making it report on all dump1090-alike packages.
-
Clean up dpkg querying.
-
Use advisory file locking of the piefile to avoid running duplicate piawares.
-
Include dump1090 package version in the login message piaware sends when connecting to the server.
-
Set system service file to not be chmodded "executable" as it is not required for them to be.
-
Fix the system sservice script to reference FlightAware as one word.
-
Update "failsafe" IP addresses used to connect when DNS lookups are failing.
-
After a successful login, start again from the beginning of the host list the next time we try to login.
-
Try piaware.flightaware.com twice before using the failsafe IPs. (Often the very first connect attempt after a reboot will fail because the network is not fully up yet. Trying the DNS name a second time a bit later, after the network is up, tends to work, and avoids using the failsafe IPs unnecessarily.
-
Update docs.
-
Add piaware-config -mlatResultsFormat argument. This takes a list of output formats to pass as --results parameters to fa-mlat-client. Each item is passed as a separate --results argument. If provided, overrides the default ("beast,connect,localhost:30004"). Setting it to "default" resets it to the default.
-
Don't wait on the "die" variable if it's already set.
-
Cleanup obsolete status checks on port 10001 and fix piaware-status program accordingly.
-
Minor doc updates.
-
Add --retry 5 arguments when we run the Linux start-stop-daemon so we check that piaware actually died and kill it if not.
-
When piaware is restarting itself, the currently running program hangs around and waits to be killed by the new one. It used to use the sleep system call to wait but this caused problems receiving the signal from the newly started program. We now use after and vwait to keep the event loop alive while waiting.
-
Added mlatResults config option, default on.
-
CPU load is now reported in the health message.
-
Update fa-mlat-adept arguments in support of the new option parsing.
-
Preserve clock from faup1090 and include as sent_at if the faup1090 timestamp is >1 second different from the current time.
-
Always run faup1090 -- this assumes the new version of faup1090 that writes to stdout is used and starts it via a piped open.
-
Considerable simplification of the restart/connect logic now that it doesn't have to worry about various combinations of who's on which port.
-
Separate the read, write, and behavioral parts of location updating so we can read the config on startup, write it when it changes, and trigger behavior as needed easily.
- No code changes; this release was probably due to a CDN problem.
- Manually buffer output for up to 200 ms so we group writes together into fewer TCP segments to reduce upstream bandwidth usage.
-
Do a better job of picking which dump1090 init script to run when more than one is present and invoke it in a more standard way.
-
Log full piaware version when starting.
-
Close config file after reading it.
-
Use native capability to delete a file rather than running a program.
-
Keep event loop alive active while piaware is downloading a file over http/https.
-
Raised http/https transfer timeout from 15s to 900s so sites on slow connections don't timeout while downloading software updates.
-
Site latitude and longitude are stored locally if provided by the server.
-
Detect and report if dump1090 is run with command line arguments known to cause packets containing errors to be accepted, producing erroneous position reports.
-
Various typo and grammar fixes, etc.
-
MLAT client now receives host/port/key list for UDP transport configuration from the server.
-
MLAT client start/restart code now more robust, closing a corner case where we sometimes started a second client by accident.
-
Ensure MLAT client logging respects log rotation. This keeps MLAT log messages from being lost after piaware has been up for a while.
-
Multilateration ("MLAT") now supported!
-
netstat now invoked with --numeric so it doesn't hang or timeout with slow or broken DNS.
-
piaware command line now accepts "-serverhosts" argument to facilitate testing new server code.
-
A double-reconnect scenario that can occur after a connection failure has been fixed.
-
MLAT message payloads are now compressed.
-
Makefile improvements in support of packaging.
-
Identified version now pulled from the package itself.
-
Server connections are now made to a DNS CNAME of piaware.flightaware.com
-
default password for "pi" account changed away from the Raspberry Pi default one.
-
offsets between pi clock and server-sent "alive" messages are now logged.
-
More robust/compatible recognition of listening processes bound to localhost
-
typo and grammar fixes
-
Greatly improved range and message rate by configuring dump1090 to use auto-gain rather than max gain (--gain -10 added to dump1090 arguments). Sites allowing remote upgrade will be upgraded automatically. People running their own copies of dump1090 are advised to add --gain -10 to their dump1090 command line arugments to obtain these same improvements.
-
Allow piaware to upgrade a package (piaware or dump1090) even if the current version can't be determined, like when it isn't installed. Since previous versions of the piaware bootable image shipped with dump1090 but dump1090 wasn't installed as a dpkg, piaware versions prior to 1.20 can't upgrade dump1090 through the manual (user-triggered) or automatic (flightaware-triggered) upgrade process.
-
Make piaware exit if it asks for a restart of itself but didn't die. In some cases upgrading could leave two copies of piaware running at the same time.
-
piaware's process ID number is now logged in piaware shutdown messages so the log isn't confusing if the old version is still exiting while the new one is already running. (People upgrading from 1.19-3 will still see the potentially confusing messages; future upgrades from 1.20-1 will have clearer log messages.)
-
When piaware is looking for a dump1090 control script in /etc/init.d, make sure it prefers like fadump1090.sh to fadump1090.sh.dpkg-old.
-
Bug fix to make renaming /tmp/piaware.out to /tmp/piaware.out.yesterday to be more likely to occur on the UTC day boundary.
-
"pi" user's password on SD card image has been changed from the default raspberry to flightaware to help thwart possible automated attacks against Raspberry Pi devices running Raspbian with the default account and password.
- The 1.19-2 package was corrupted. We always bump the version for every change due to CDN caching and whatnot.
- Compress the ADS-B messages, not just the non-ADS-B messages.
-
New compression techniques reduce upstream bandwidth by 2/3rds without filtering any additional messages.
-
Disconnect from the server after many unrecognized server messages.
-
Report full version when running piaware -v to get version number.
-
Remove raspi-copies-and-fills from dependencies. This makes the piaware Debian package compatible with more systems not based on Raspberry Pi.
-
Principally this release is to bump the version number because the 1.18-1 SD card image zip file was corrupt.
-
Reload adept config on update request in case piaware-config has been run and used to change something since piaware last started.
-
Fix "too many nested evaluations" error on systems without an eth0 device.
-
Include full piaware version (like 1.18-1 vs just 1.18) in login message.
-
Cache the mac address once it is known, for performance.
-
Fix bug in reconnecting after receiving an unrecognized message from the server.
-
Get a mac address from alternate source like wlan0 if no eth0 is present
-
Don't invoke rpi-update as part of a full update.
-
Disconnect/reconnect after detecting an error in a server message. Although we don't believe the runaway logging is caused by a server message, whatever the cause this should interrupt the runaway.
-
After disconnecting from the server wait 60 seconds before reconnecting. Again the goal here mainly is to slow things down.
-
Don't continue through the server message handler if we get an error reading from the server socket.
-
Don't try to log errors about messages theoretically received from the server, back to the server.
-
Add a -showtraffic option to piaware to aid debugging.
-
Improved connection / re-connection handling and stability (important update)
-
Do not consider issuer of SSL certificate, in light of potential changes during SSL cert renewal.
-
Reworked problem detection and restart logic: Piaware will now reliably attempt to restart dump1090 if no messages are received in an hour and piaware can find a startup script for dump1090 in /etc/init.d to restart it with.
-
Piaware will now attempt to start dump1090 if no ADS-B producer program is seen listening for connections on port 30005 (the "Beast" binary data port) for more than six minutes.
-
Most piaware messages logged locally are now also forwarded to FlightAware. This will greatly help with debugging and users will soon be able to retrieve the last few hours of log messages via the FlightAware website.
-
New remote update capability for updating Raspbian and piaware. Automatic and manual updates are supported. Both can be enabled or disabled on the device using piaware-config and auto updates can be disabled by the user through the FlightAware website. If enabled the user will be able to issue manual updates through the FlightAware website, updating PiAware, other Debian packages, and the operating system and boot firmware as well as rebooting and restarting piaware and dump1090.
-
If the connection is lost with the FlightAware server then the reconnect interval is randomized between 60 and 120 seconds rather than hard-set at 60 seconds to ease the server load when the adept server is restarted and a thousand plus piaware hosts all reconnect at the same time
-
Piaware will now attempt to restart dump1090 if no messages are received in an hour.
-
Multiple adept servers are now tried, round-robin. The IP of the FlightAware server is now listed as well as the hostname. (This allows connection in some cases where there are DNS problems on the local host.)
-
Some addition versions of Linux are now supported. (thanks to github user brookst (Tim Brooks) for this)
Mon, 06 Oct 2014 16:50:47 +0000
- faup1090 now exits if it loses its connection.
Before this if dump1090 restarted for some reason then faup1090 would sit there idefinitely and passing no data to piaware, even after dump1090 came back. Hat tip to Oliver Jowett (github user "mutability") for the fix.
- faup1090 services table bug fix
A mistake in how the services table was defined in faup1090 caused faup1090 to go past the end of the table when initializing and manipulating the TCP listening port. It's a wonder it didn't cause a coredump. Hat tip again to Oliver Jowett for pointing out the bug...
-
Certificate validation failures on some other Linux systems' version of OpenSSL have been fixed. Hat tip to John Carroll (FA user johncarroll944) for the fix.
-
Picked up numerous upstream dump1090 improvements and bug fixes, mostly by Oliver Jowett, through Malcolm Robb's dump1090 on github:
-
Improved client EOF handling.
-
Check if bit correction happened before bailing out due to a bad CRC.
-
Prefer to use global CPR decoding where possible.
-
Add --stats-every option, add sample block counters
-
Better error reporting if dump1090 is unable to bind a listening port.
-
Mon, 30 Sep 2014 12:49:09 +0000
-
piaware can now login without a FlightAware user's username and password having been pre-configured on the Raspberry Pi.
-
Stop shipping librtlsdr as faup1090 doesn't need it.
-
Properly install non-executable files without executable bit set.
-
piaware package is now digitally signed with a FlightAware developers key.
-
Almost all Debian package "lintian" complaints have been fixed.
-
Fix typo in faup1090 lost-connection message (thanks to github user saiarcot895).
-
All programs installed by piaware (piaware, piaware-config, piaware-status and faup1090) now have manual pages.
Fri, 19 Sep 2014 15:17:09 +0000
-
Piaware 1.12 will correctly report version 1.12. 1.11 reported 1.10 and caused a fair bit of confusion. Sorry.
-
When piaware is up and successfully receiving and forwarding messages it should now log only the every-five-minutes traffic summary.
-
Any failure to determine the local IP address should no longer cause problems.
-
A few log messages shortened by having them not identify the function that issued them.
-
The net-tools package is now a prerequisite for PiAware. This comes installed by default on Raspberry Pi / Raspbian but may help people trying to get PiAware working on other versions of Linux.
-
If piaware can't determine the local machine's MAC address then it aborts at startup. This should only be relevant to people running PiAware on something other than Raspberry Pi / Raspbian as other versions of Linux may not provide the expected method piaware uses to figure that out.
Sat, 6 Sep 2014 17:13:29 +0000
-
Piaware now provides (hopefully) much more understandable log messages. For instance, while the prior message might have been reaped child 18593 SIG SIGHUP The new message is the system confirmed that process $pid exited after receiving a hangup signal
-
Piaware Now logs the number of ADS-B messages received in the reporting interval (5 minutes) as well as cumulative, which makes it easier to see how many messages you are getting without having to do arithmetic in your head.
-
When piaware is asked by the system to shutdown, its log messages now says that in a more clear way.
-
cryptic "not-connected-yet" logged in some cases as a message source replaced by the hopefully less cryptic "(not currently connected to an adsb source)", which may be true when we have been connected but are no longer.
-
we now log when we send a hangup signal and what process we are sending it to
-
Raise time limit before reconnecting for no msgs
Previously after five minutes if it hadn't received any messages piaware would kill and restart faup1090 and reconnect to it in order to get it to reconnect to dump1090 or modesmixer or whatnot, just in case there was a problem with the connection.
FlightAware user "fill" pointed out that in off hours it will be common for many receivers to not see any messages for more than five minutes.
The timeout is raised to one hour and the log message now better explains what's going on:
"no new messages received in $secondsSinceLast seconds, it might just be that there haven't been any aircraft nearby but I'm going to possibly restart faup1090 and definitely reconnect, just in case there's a problem with the current connection..."
6 Sep 2014 05:27:58 +0000
-
At midnight UTC, renames /tmp/piaware.out to /tmp/piaware.out.yesterday and starts a new /tmp/piaware.out
-
Local IP address is sent in login and health messages. With server-side software that has yet to be written it'll provide a way for people to figure out the local IP that their Pi is on.
-
Bug fixed where it would log not-connected-yet when it was connected.
-
The /etc/init.d/piaware script now references the full path to start-stop-daemon and piaware-config, making PiAware work with DarkBasic Minimal Rasbarian and being a better practice, anyway. (Hat Tip to FlightAware user PeterHR for the report.)
-
Periodic alive messages from the server are no longer logged after
Sat, 30 Aug 2014 14:15:54 +0000
-
piaware now figures out whatever program is serving beast data on port 30005 and is cool with it
-
new piaware-status program to inspect and report on the running state of the piaware toolchain
-
piaware will now disconnect and reconnect from the ADS-B source and restart faup1090 if messages aren't received for a while
-
piaware now receives "alive" messages from the server (release 1.9 and above) and will disconnect and reconnect after a timeout if one is not received
-
piaware server now disconnects if it hasn't received anything from piaware for quite a while
-
piaware server now tells piaware when it is going down before it intentionally disconnects
30 Aug 2014 18:38:07 +0000
-
Fix traceback in piaware traffic report when no traffic has occurred.
-
Fix traceback in connect retry code when piaware has trouble connecting to FlightAware
Thu, 21 Aug 2014 05:49:14 +0000
-
Remove the Tk toolkit as a dependency.
-
Login failures are now successfully reported back to piaware and logged in /tmp/piaware.out.
-
Piaware will exit after a login failure as manual intervention to change the user name and/or password is probably required.
-
Piaware now starts receiving data sooner after startup, typically within about ten seconds.
-
Fix bug in keep_trying_to_connect that would cause it not to.
-
When piaware is trying to reconnect to FlightAware after losing its server conenction, its log messages are much more clear / descriptive.
-
Failure of piaware to initially connect to FlightAware within ten seconds resulted in piaware terminating. Failure of piaware to reconnect after losing a connection could result in a stuck piaware that was running but wouldn't reconnect or forward messages.
Piaware now retries connections after connection failures both at startup and after it has successfully connected. -
Piaware now logs in one log message the number of messages received from dump1090 and the number of messages sent to FlightAware, one minute after startup and every five minutes thereafter. Previously it logged for each thousand messages received and thousand messages sent the frequency of which could be highly variable based on location and time of day.