TFTP to Flash Ubiquiti UniFi nanoHD

I’ve spent about 14 hours on this today. It hasn’t been entirely bashing my head into failed commands and errors. A good part of the “pre-game” was soldering a USB to serial cable to the AP’s J2 port that had no preinstalled header… and I basically had a curling iron and a blow dryer to get the harvesting of donor header parts and installation to the AP’s board… fun lol!

ANYWHO, EOS does not come with TFTP installed. So I installed it (I think with yay but I REALLY don’t remember; it’s been a long day; --edit-- this one: https://wiki.archlinux.org/title/TFTP ). The instructions to initiate the flashing process of the AP via tftp is explained on Ubiquiti’s site (here: https://help.ui.com/hc/en-us/articles/360043360253-UniFi-Recovery-Mode ). The problem is when I try to “put” the file, I either get a “No such file or directory” error or a “Transfer timed out.” error.

I CANNOT for the life of me understand how to properly get the image file transferred to the AP via TFTP. There seems to be some kind of permissions or settings or something I’m missing. I’ve n00b-faced it as far as I can and am just stumped. What am I missing? (Thanks all in advance!)

Are you sure you are properly specifying the path to the file?

I’ve tried “put filename”, “put /srv/tftp/filename”, and “put /home/user/firmwares/filename” and all of those generate “No such file or directory”.

If I further enhance the put commands with a destination (like “put filename destfilename”, and so on), I get the “Transfer timed out” error.

Where is the file you are trying to send stored? What is the full path?

It is located in both /srv/tftp/ and ~/firmwares/

What is the filename?

lol BZ.mt7621.v3.9.27.8537.180317.1220.bin

What does the command file /srv/tftp/BZ.mt7621.v3.9.27.8537.180317.1220.bin return?

HIT archive data

When you reach the put stage are you doing put /srv/tftp/BZ.mt7621.v3.9.27.8537.180317.1220.bin ?

Keep in mind it is case sensitive.

yeah, I copy/paste the filename.

Thank you very much for taking a stab at this with me, @dalto . This would have been a tough one to figure out just through text (forum posts) lol! Check this out.

I broke down and switched over to a windows machine to attempt this. (I’m a new migrant from the M$ plantation to Planet Linux lol). I had 2 major problems going on.

  1. I connected the RX wire of my UART cable to the RX pin of the J2 header, and likewise the TX wire to the TX pin. NO WONDER I wasn’t getting anything from the console lol!

  2. Once I was able to see console output, I then learned my previous attempts to put the device into TFTP mode were actually insufficient. By being able to observe the console output, I was able to see just exactly how long I needed to hold that pesky reset button. Once I ACTUALLY got it into auto-TFTP mode, everything was smooth sailing with Pumpkin and Putty.

Now I just have to use the console to facilitate copying openwrt over and installing it and I should be good to go. I’m guessing I need to use the console connection to enable SSH, then I can SCP the openwrt file over. Anyway, thanks all for the input! :slight_smile:

(Of course, my propensity to not be happy until I’ve mastered something, I’m going to be ordering another one of these AP’s and getting the job done with a Linux box next time lol! Assuming it will be a glowing success, I should document it. The info might help someone else sometime.)

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.