Ability to replace a feeder site with a new Pi

Hi there, a quick feature request and my justification:

I just upgraded my original 3 year old PiAware Pi B+ to a brand new Pi 3, and the SD card from U1 to U3 (to reduce I/O waits). Adding a new site to my account is super easy, but I really didn’t want to add a new site. There’s an old discussion in which FA Staff says that this should actually be a new site ( post179982.html ) but I don’t agree. Here’s why.

I started my feeder with a PiB+ and a homemade indoor antenna, Since that time, I have slowly done the following to my setup over years:

  1. Move homemade antenna to roof (5-stories up)

  2. Add signal amp

  3. Switch to FA 6fb antenna (huge range increase)

  4. Add FA bandpass filter (huge messages increase – lots of cell towers here)

  5. Switch to FA 8db antenna

  6. Switch to FA dongle/SDR (up to 91% CPU use on PiB+ now)

  7. Upgrade to Pi 3 (modest range/message increase – CPU drop to 7%)

From this time my site ranking went from the several thousands, to #10 globally. Replacing the Pi was really just one more component upgrade – and not even the most impactful change… When a contributor adds a new feeder, they should have the option of replacing an existing feeder or creating an additional new feeder. The game-ification of the FA system is what makes it so viral and fun!

Anyway, it is possible to trick FlightAware into recognizing a new site as an existing site – effectively replacing the existing site. Here is how to do it:

Connect both Pis to your network and this same sequence of commands on both Pis

First, get the MAC of the other Pi, and save it locally.

  • Correct the IP address of your pi
  • You’ll be prompted for your password
  • The MAC will be printed to confirm

export MAC=`ssh pi@10.0.1.100 "/sbin/ifconfig eth0" | awk -F "HWaddr " '{if(NR==1) print $2}'`; echo "Other MAC is $MAC"

Next, set the desired MAC to spoof into the boot script.

  • The previous version of /boot/cmdline.txt will be saved in ./cmdline.txt.orig

cat /boot/cmdline.txt | tee cmdline.txt.orig | sudo awk -v mac="$MAC" '{ print "smsc95xx.macaddr=" mac $0 > "/boot/cmdline.txt" }'

Now repeat these steps on the other Pi. It is critical that the network machine address codes are changed on both machines so that there is no conflict.

If you do


cat /boot/cmdline.txt

it should begin with


smsc95xx.macaddr=<MAC> 

Finally, reboot both Pis at the same time.


sudo reboot

For reference, my /boot/cmdline.txt:


smsc95xx.macaddr=<MAC> dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline cgroup_enable=memory rootwait

My setup needed an intervention from fa to put my old key back onto my device. Same hardware, same mac, but still intervention needed.
funny that you can do that on a pi and that i had to wait days/weeks to achieve te same, without copying your unique key.

Yup, I agree. The FA team should consider this use case as our feeder hardware begins to age out. It’s good for them to promote upgrading as it gives them more room to innovate with the feeder images.

This has been covered in 100 other threads. It’s not a broken system but is on the list of things to be added as a feature in the future. You don’t need to be all complicated to change your MAC address, on the new Pi simply edit:

Thee /boot/cmdline.txt file and adding the following to the end of the line smsc95xx.macaddr=##:##:##:##:##:##

where ##:##:##:##:##:## is the MAC of your previous pi.

Doesn’t need to be as many steps as you even made it seem it needs to be. Get the MAC address off the box of your new Pi or if you don’t have it you can always type ifconfig at the command prompt and it will be listed as HWaddr under eth0.

Just curious, is the plan to use a sharing key rather than use the clients eth0 mac address?
It would make it easier to upgrade hardware.

It sure would!