Getting a FriendlyElec NanoPC-T6 to appear on the “My Spectrum” app


Last week I installed Armbian on a FriendlyElec NanoPC-T6 LTS and added it to my home network on Spectrum. DHCP worked fine out of the box and the router assigned an IP without issue, but the device never showed up on the Devices page of the My Spectrum app, preventing me from setting a stable IP or enabling port forwarding. After a dizzying labyrinth of guesswork and an uninspiring interaction with Spectrum support chat, it finally occurred to me as a last-ditch effort to try changing the MAC address.

For whatever reason, Spectrum seems to restrict visibility of devices on the network to those with officially registered MAC address vendor prefixes or OUIs. The NanoPC-T6’s real MAC address doesn’t meet that criteria, presenting a generic, auto-generated address stored on the boot media. This made the device completely invisible to the app despite being fully online and connected.

A MAC address has six colon-separated pairs (XX:XX:XX:XX:XX:XX). Apparently, the first three pairs identify the manufacturer; the last three are supposed to be unique to a specific device. I took the manufacturer prefix from another device on my network that Spectrum already recognized, and combined it with the last three pairs (the unique identifier) from the NanoPC’s actual hardware address. With the help of a robot slave, let’s call him Clark, I saved this new address in a netplan configuration file as follows:

/etc/netplan/99-end0-mac-override.yaml:

network:
  version: 2
  renderer: networkd
  ethernets:
    00-end0-override:
      match:
        name: end0
      dhcp4: yes
      dhcp6: yes
      macaddress: XX:XX:XX:XX:XX:XX
      set-name: end0

Replace end0 with your board’s actual interface name, and the MAC with your own spliced address. You should run sudo chmod 600 on this file as well.

The arbitrary key name “00-end0-override” used above is intended to alphabetically precede “all-eth-interfaces” (or whatever else is listed in /run/systemd/network/10-netplan* ) to take precedence — a file will be generated in that folder with with “10-netplan-” prefixed to it, and this one just needs to come first in the list.

Run sudo netplan apply as well as an optional reboot and the override should take effect immediately. You can can confirm it successfully overwrote defaults by running

networkctl status end0 | grep 'Network File'

After applying this, the device showed up in the Spectrum app immediately, with a normal IP reservation and port forwarding available like any other device.