You are here

Brand New Ubiquity M2 Rocket

40 posts / 0 new
Last post
Kf7vol's picture
Brand New Ubiquity M2 Rocket


I just picked up a brand new Ubiquity Rocket M2. I have flashed half a dozen of these with zero issues. This is the first one I have done that was brand new. It had a hard time taking the firmware. I think it's uploaded but when I go to http://localnode.local.mesh:8080 the first AREDN screen only comes up for half a second then goes away.

Not sure what had happened I went back in to see if it went back to stock but it's not there either. At the moment I can't access it regardless.

I have tried resetting it several times and would try tftp new firmware to it but can't seem to get the right IP address in the 10. range.


Did you check the board for
Did you check the board for XM / XW - did you load the proper software?  May have to TFTP.
AE6XE's picture
Try,  if AREDN firmware was
Try,  if AREDN firmware was loaded into flash:

1) Telnet or ssh into the node with IP address, can you log in wit default password?
2) a minute after it has powered on, hold reset button for 5 seconds.   Did it reboot on its own?

Kf7vol's picture
When you ssh in what port #
When you ssh in what port # do you use? I tried 22 and it didn't respond.
nc8q's picture
When you ssh in what port # ?
Not that easy to find. :-| I knew what I was looking for and it was still somewhat obtuse. ;-) Chuck
Kf7vol's picture
No response in putty to ssh
No response in putty to ssh to on port 2222. 

When I did the reset it did look like it rebooted but it was hard to tell.

PS thanks for working with me on this one.
K6CCC's picture
Port 2222
AREDN uses port 2222 for SSH.
AE6XE's picture
There is another report of a
There is another report of a brand new Rocket M2 not responding.  Suspect there may be a new hardware Rev or something changed in firmware.   I'm going to have to put attach to the serial console to follow the image load and kernel boot up process to see where it is going wrong.     Andre K6AH has one in this boat and is going to send it to me to trouble shoot.   However, if you are interested and can pull the cover, attach to the serial port to capture this output and send, we might be able to speed up the process.

Has anyone else purchased a new Rocket M2 in the last several months?    These are expected to be XW devices or AR93xx chipset.

Kf7vol's picture
If you walk me through what I
If you walk me through what I need I will give it a try.. 
AE6XE's picture
you'd need ether a rasbpi or
you'd need ether a rasbpi or a 3.3v (UART TTL) serial port to a computer serial port 5v or USB adaptor.    The rasbpi has 3.3v UART serial chip, the same as the Ubiquiti, just need jumper wires between the devices.   

Google for lots of FAQs out there on how to do this, e.g.:   (see troubleshooting section)


Kf7vol's picture
Looks like I am heading in
Looks like I am heading in the right direction. Now I need to figure out how to do it.
Image Attachments: 
Kf7vol's picture
What is the pin layout? Tx Rx
What is the pin layout? Tx Rx Ground.. not finding it online.
Image Attachments: 
Kf7vol's picture
Ok. I have everything wired
Ok. I have everything wired up and it is really close to working... I think. I am trying to access the serial string through putty. I navigate to the serial/then the com port I'm using/then 9600 baud. Once I get in it shows me all kinds of jibberish. do I need to change my baud rate or something bigger?
Kf7vol's picture
  YAHTZEEEEE!! I got it.....
  YAHTZEEEEE!! I got it..... it was the baud rate. Boot string bellow.

   Image Name: MIPS AREDN Linux-4.14.171
   Created:      2020-02-27  21:05:12 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    1340946 Bytes =  1.3 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum at 0x9f050040 ...OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

[    0.000000] Linux version 4.14.171 (aredn@8f6a257f0aa9) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r10947-65030d81f3)) #0 Thu Feb 27 21:05:12 2020
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] SoC: Atheros AR9342 rev 3
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] random: get_random_bytes called from 0x80431740 with crng_init=0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  board=UBNT-RM-XW mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7552k(firmware),256k(cfg)ro,64k(EEPROM)ro console=ttyS0,115200 rootfstype=squashfs noinitrd
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 60120K/65536K available (3349K kernel code, 175K rwdata, 376K rodata, 316K init, 197K bss, 5416K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] Clocks: CPU:535.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:40.000MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7144898866 ns
[    0.000010] sched_clock: 32 bits at 267MHz, resolution 3ns, wraps every 8027976190ns
[    0.008321] Calibrating delay loop... 266.64 BogoMIPS (lpj=1333248)
[    0.094953] pid_max: default: 32768 minimum: 301
[    0.100111] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.107174] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.117355] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.127852] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.134934] NET: Registered protocol family 16
[    0.141415] MIPS: machine is Ubiquiti Rocket M XW
[    0.403164] clocksource: Switched to clocksource MIPS
[    0.409786] NET: Registered protocol family 2
[    0.415397] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.422833] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.429665] TCP: Hash tables configured (established 1024 bind 1024)
[    0.436601] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.442838] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.449905] NET: Registered protocol family 1
[    0.461510] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.474465] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.480674] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.503355] io scheduler noop registered
[    0.507538] io scheduler deadline registered (default)
[    0.513471] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.520668] console [ttyS0] disabled
[    0.544612] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 2500000) is a 16550A
[    0.553812] console [ttyS0] enabled
[    0.553812] console [ttyS0] enabled
[    0.561222] bootconsole [early0] disabled
[    0.561222] bootconsole [early0] disabled
[    0.574628] m25p80 spi0.0: found mx25l6405d, expected m25p80
[    0.584828] m25p80 spi0.0: mx25l6405d (8192 Kbytes)
[    0.589820] 5 cmdlinepart partitions found on MTD device spi0.0
[    0.595854] Creating 5 MTD partitions on "spi0.0":
[    0.600734] 0x000000000000-0x000000040000 : "u-boot"
[    0.607456] 0x000000040000-0x000000050000 : "u-boot-env"
[    0.615427] 0x000000050000-0x0000007b0000 : "firmware"
[    0.631843] 2 uimage-fw partitions found on MTD device firmware
[    0.637925] 0x000000050000-0x0000001a0000 : "kernel"
[    0.643901] 0x0000001a0000-0x0000007b0000 : "rootfs"
[    0.649776] mtd: device 4 (rootfs) set to be root filesystem
[    0.655625] 1 squashfs-split partitions found on MTD device rootfs
[    0.661919] 0x0000006b0000-0x0000007b0000 : "rootfs_data"
[    0.670770] 0x0000007b0000-0x0000007f0000 : "cfg"
[    0.677265] 0x0000007f0000-0x000000800000 : "EEPROM"
[    0.686015] libphy: Fixed MDIO Bus: probed
[    0.693011] libphy: ag71xx_mdio: probed
[    1.324452] ag71xx ag71xx.0: no PHY found with phy_mask=00000010
[    1.332014] NET: Registered protocol family 17
[    1.338896] 8021q: 802.1Q VLAN Support v1.8
[    1.351578] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[    1.360889] Freeing unused kernel memory: 316K
[    1.365438] This architecture does not have kernel memory protection.
[    2.067395] init: Console is alive
[    2.071130] init: - watchdog -
[    2.473174] random: fast init done
[    3.161464] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.211368] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.229741] init: - preinit -
[    4.419004] random: procd: uninitialized urandom read (4 bytes read)
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    6.793664] jffs2: notice: (341) jffs2_build_xattr_subsystem: complete building xattr subsystem, 36 of xdatum (2 unchecked, 33 orphan) and 182 of xref (22 dead, 131 orphan) found.
[    6.811306] mount_root: switching to jffs2 overlay
[    6.849448] overlayfs: upper fs does not support tmpfile.
[    6.862865] urandom-seed: Seeding with /etc/urandom.seed
[    6.969528] procd: - early -
[    6.972592] procd: - watchdog -
[    7.639548] procd: - watchdog -
[    7.643134] procd: - ubus -
[    7.793070] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.801658] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.808775] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.816629] procd: - init -
Please press Enter to activate this console.
[    8.968384] kmodloader: loading kernel modules from /etc/modules.d/*
[    8.988435] ipip: IPv4 and MPLS over IPv4 tunneling driver
[    9.106279] Loading modules backported from Linux version v4.19.98-0-gd183c8e2647a
[    9.114052] Backport generated by backports.git v4.19.98-1-0-g8204eb99
[    9.138531] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
[    9.301250] xt_time: kernel timezone is -0000
[    9.536741] ip_tables: (C) 2000-2006 Netfilter Core Team
[    9.874550] urngd: v1.0.2 started.
[    9.929398] ieee80211 phy0: Atheros AR9340 Rev:3 mem=0xb8100000, irq=47
[   10.052042] kmodloader: done loading kernel modules from /etc/modules.d/*
[   10.402739] random: crng init done
[   10.406281] random: 6 urandom warning(s) missed due to ratelimiting
[   25.161734] br-lan: port 1(wlan0) entered blocking state
[   25.167202] br-lan: port 1(wlan0) entered disabled state
[   25.172928] device wlan0 entered promiscuous mode
[   25.201902] br-lan: port 1(wlan0) entered blocking state
[   25.207368] br-lan: port 1(wlan0) entered forwarding state
AE6XE's picture
bingo, it can't find the
bingo, it can't find the Ethernet chip, or doesn't have a compatible driver compiled into the kernel:

[    1.324452] ag71xx ag71xx.0: no PHY found with phy_mask=00000010

Now, the trick is to figure out what chip is in this device.   We were expecting an AR8035 chip, commonly used in the Ubiquiti XW devices, but didn't find one.  The way to find out is to tftp load back AirOS and "ssh ubnt@"  (on default port 22).  Then capture the output of dmesg or the same boot up of the AirOS kernel.  We should be able to see in the output what chip is in there.  Alternatively, see if you can pull the part numbers of the chips to find it. 

Or you could just go-for-it and try tftp loading in the AREDN Nanostation XW or the loco XW image which have other Ethernet drivers built in, but are otherwise basically the same images.

Kf7vol's picture

The good news is we know what it is now... fewww....

I wish I was better at this stuff. I am game to do whatever you need but am very green. That said, how do I tftp it back to stock??

Which chip is the one you need a part number off of? I see at least 5 or 6 with numbers on them.
AE6XE's picture

If the resolution of the previously attached images was higher, we might all be able to help read the numbers off the chips.   Can you put the original higher quality pic on gdrive/dropbox/etc. and send a link, we can all help identify an Ethernet chip.   This chip may be one adjacent to the physical Ethernet port.  We were looking for an Atheros AR80?? chip.
Ubiquiti has some weirdness, there's an Ethernet switch with multiple ports built into the System-on-Chip along with the Atheros 802.11n and mips cpu-- see attached block diagram.    But for some reason, ubiquiti didn't use it and added another external chip on previous Rocket devices.  I suppose it's possible they removed this external and redundant Ethernet chip and we won't find the chip we are looking for.  They might be using the Ethernet implementation on the AR9342 SOC. 

Alternatively, download the latest AirOS firmware for this device from the ubnt support sites.   it is installed the same process as installing the AREDN 'factory' flavor of the image: 

There would also be Ubiquiti install instructions somewhere on their support website.  We're very close!

Image Attachments: 
Kf7vol's picture
Lets see if this workshttps:/
Lets see if this works

In your firmware update instructions it says to tftp the firmware to the address. When I plug this device in and ping that address nothing is there. I know I'm close but it seems like I am close but I feel I am missing something.

Thanks for all the help on this one Joe!

AE6XE's picture
That's the AR8032 Ethernet
That's the AR8032 Ethernet chip.   I've re-discovered that this isn't the first time this has been an issue :) .  on the downloads instructions for the release, see attached.  We're supposed to use the loco-xw image.
Image Attachments: 
Kf7vol's picture
And it worked....
And it worked....

Thanks for all the help Joe!!!
Image Attachments: 
@AE6XE I had similar problem
@AE6XE I had similar problem with a NanoStation M2 (XM version) not taking the V3.20.3.0 but it was taking perfectly. I first updated over the web GUI, the device updated and rebooted but once the reboot process has been done all lights (except power) shutted and the device been inactive.

To be able to upgrade it, I needed to flash it with the Bullet firmware (aredn- over TFTP.

It might be interesting to add some notes on the download page or remake the list to accommodate the changes that I guess came with the work in progress to migrate the firmware to ATH79.

I'm glade that this device was not on a remote site! :)
Another similar poblem
I have 3 bullets xm2. They were on V15. Tried to update one to V20.  It said that could not be done.  So I tried V19, which updated perfectly on all 3.
Then tried to update one to V20.  Worked fine.  Tried the second one. It failed and left the bullet unreachable.   Not sure of I should try the 
3rd one.

AE6XE's picture
v15 = 3.15.x.x aredn firmware
v15 = 3.15.x.x aredn firmware
v19 =

This might be an issue of limited RAM on these 32M devices and bigger firmware demands with newer versions.   Sometimes the to path may take a few tries -- see the release notes for the steps and issues.

KD1HA's picture
Joe, would you recommend
Joe, would you recommend upgrading a 32M to or leave it at I just update my Rocket today and it loaded fine but it is chipping away at the memory. 
Denis KD1HA
AE6XE's picture
I'd recommend going to 3.20.3
I'd recommend going to  The latest release is current with Security, Linux, and AREDN fixes, well a few things queued up for :) .    

There is one exception I have run across on 32M devices, and thus with an abundance of caution, always monitor for a period of time after making any change.     In this example here in SoCal we have compared 2 installs of a NSM3 and the nodes are configured identically, but only in one environment, it becomes sluggish and at times reboots.   These nodes are both only a few hops away over the same mesh network, so it is a mystery so far.  

The risk increases if the node is a tunnel server, meshchat, or something else, which requires more memory.  In all cases if taking this risk, run with it to know stability so there are no surprises when it counts.

Note, all the Rockets have 64M RAM, consequently if one runs our of memory, something else is going on.  We saw this on the hAP ac lites, and or later should only be used.  There was a bug in and before with the hap ac lite 5GHz wireless driver (some called it a feature needed for desktop devices with a lot of RAM), where it claimed too much memory to buffer data and didn't leave enough for the kernel to operate.  Make sure all these devices are upgraded to or later.

KD1HA's picture
Thanks Joe, it's running fine

Thanks Joe, it's running fine on and it will be providing an IP camera and a D2D node from a NetGear GS-105 ver2 connected to it and I don't expect any issues. I did have a problem remotely updating it and of course it failed at a secure site with limited access and I had to take it home to TFTP it back (not sure why the remote update failed). Hopefully I can get it back to it's home soon.  

1/2 second di[play
I have the same situation.

1/2 second etc
I tried installing v 3.20.3 on my bullet 3 times using tftp, with no success.
Then tried v 3.19.3 with tftp and it installed mostly fine.
The only problem is I cannot change the channel and bandwidrh.
Saving or rebooting just leaves the default values.


AE6XE's picture
bob, capture a support data
bob, capture a support data download from this device?
cannot change channel or bandwidth
Support file sent

Support File Attachments: 
K5DLQ's picture
appears to be the Nanostation
appears to be the Nanostation-M firmware loaded on this device.
cannot change... suddenly started working
After sending the support file, I tried one last time, and now it work correctly!
No explanation.

AE6XE's picture
I've found sometimes, I just
I've found sometimes, I just don't hold my hand just right and the moon is not in alignment :) .   This is sufficiently complex, that sometimes we never know. 

New Rocket M2 AREDN Install

I bought a new Rocket M2 from Ubiquity two weeks ago.  The "test date" on the radio box is 11/15/19, so I suspect there may soon be only M2ac Rockets.  I set a static IP addr on my R-Pi 4B (dhcp conf file), and logged into the radio.  The firmware version shows XW.v.6.2.0.  I then tried to upload AREDN 3.22.0 firmware (the loco factory version) using the Upload function on the radio System page.  Did not work.  Radio said was not proper firmware.

I was surprised to find that the R-Pi has no TFTP function, but I think I have fixed that by installing  xinetd.d/tftp  based on info gotten on-line. 

Is it correct that to upload AREDN firmware to the radio that I put the firmware file in the upload directory on the R-Pi, power up the Rocket M2 with RESET button depressed (for about a minute), then do the TFTP to the radio's IP address?  

nc8q's picture
Ubiquiti first install process

Please follow the recommended installation instructions.

"I was surprised to find that the R-Pi has no TFTP function,"
It is not the computer (Raspberry Pi) that has or does not have an application (TFTP); it is the operating system.
What O/S is on your computer 'Raspbian', 'Raspberry Pi OS',...)?

"Is it correct that to upload AREDN firmware to the radio that I put the firmware file in the upload directory on the R-Pi, power up the Rocket M2 with RESET button depressed (for about a minute), then do the TFTP to the radio's IP address?  "

The recommended procedure is in the documentation. 

Please try the recommended install procedure. If unsuccessful, return to this forum, post your issue;
including where in the recommended install procedure things went awry.

I hope this helps,

Rocket M2 XW Successful New Install

Yes, my R-Pi 4B has Raspbian.  The os-release command shows Raspbian GNU/Linux10 (buster).  The version command shows Linux 5.10.63-v7l+.  

I activated a tftp application (xinetd), tested it (while learning to use it), got the "factory" file from the web site, uploaded it to the radio, and did basic radio set up.  Hopefully I will soon have it mounted with an antenna  on my tower for some live testing.

With my minimal Linux skills and fact that some fine details are missing from the references you gave, almost none of this was easy.  I kept lots of notes and made a detailed procedure that I can use with my next Ubiquity radio and R-Pi 4B.  .



UBNT devices only require a TFTP CLIENT program

Tim, installing AREDN firmware on Ubiquiti devices only requires that you have a TFTP client program, not a TFTP server on your PC or laptop.  There is a big difference between a client and a server.  The latest installation procedure for Ubiquiti devices makes this distinction clear in the online documentation.  There is no need to use xinetd or go to any extra trouble setting up your Linux/Raspbian machine to install firmware on a UBNT device.  Also, there is no reason to login to your UBNT device to use its native AirOS during the install process.  Everyone should follow the latest installation instructions in the online documentation, rather than relying on outdated forum posts or other legacy steps you may find on the Internet.

TFTP and legacy Raspbian for New Rocket M2

Thank you for taking your time to provide inputs.    
The first paragraph of the current Ubiquity First Install Process that you have cited has the following:  “Your computer must have TFTP client software available. Linux and Mac both have native TFTP clients, but you may need to enable or obtain a TFTP client for Windows computers.”    
I am using Raspberry Pi processors with legacy Raspbian (GNU/Linux10 (buster) ver 5.10.63) operating systems.  Based on the Ubiquity First Install Process, I felt I had what I needed.  But when I did the tftp command (Process Step 4), the OS responded   tftp: command not found.  It appears that Raspbian operating system does not have a native TFTP client, despite the implication in the Process. 
If there are other limitations on what machines and operating systems can accomplish new installations in Ubiquity radios in accordance with the Ubiquity First Install Process, I think it would be good for the community to know what they are. 
--Tim K5RA

nc8q's picture
tftp: command not found.

Good Point!


gelmce@nc8q-mesh-server:~ $ sudo apt update
gelmce@nc8q-mesh-server:~ $ sudo apt install tftp
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 17.8 kB of archives.
After this operation, 61.4 kB of additional disk space will be used.
Get:1 stretch/main armhf tftp armhf 0.17-18 [17.8 kB]
Fetched 17.8 kB in 4s (3,922 B/s)
Selecting previously unselected package tftp.
(Reading database ... 155717 files and directories currently installed.)
Preparing to unpack .../tftp_0.17-18_armhf.deb ...
Unpacking tftp (0.17-18) ...
Processing triggers for man-db ( ...
Setting up tftp (0.17-18) ...
gelmce@nc8q-mesh-server:~ $

I hope this helps,

Latest Raspberry Pi OS Has No TFTP Client

Chuck -

Your mesh server looks like it does the job.

Just for grins, I used Raspberry Pi Imager to put the current Raspberry Pi OS on a microSD card and install it into my R-Pi 4B. After the set-up preliminaries,  commanding   cat /etc/os-release   shows   Raspbian GNU/Linus 11 (bullseye).     uname -r   shows   5.10.92-v7l+.  That should be current as of this morning.

Commanding   tftp  yields   tftp: command not found.  I guess that means that R-Pi OS   bullseye   does not have a native TFTP client.  Good to have your example to set one up. 

- Tim K5RA


Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer