Group,
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.
Thoughts?
1) Telnet or ssh into the node with 192.168.1.1 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?
Joe AE6XE
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.
Has anyone else purchased a new Rocket M2 in the last several months? These are expected to be XW devices or AR93xx chipset.
Joe AE6XE
Google for lots of FAQs out there on how to do this, e.g.:
https://learn.sparkfun.com/tutorials/terminal-basics/connecting-to-your-device
https://sudoroom.org/mediawiki/index.php?title=Mesh/Flashing_extender_nodes&mobileaction=toggle_view_desktop (see troubleshooting section)
Joe AE6XE
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
[ 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@192.168.1.20" (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.
Joe AE6XE
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.
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:
https://arednmesh.readthedocs.io/en/stable/arednGettingStarted/installing_firmware.html?highlight=tftp#ubiquiti-first-install-process
There would also be Ubiquiti install instructions somewhere on their support website. We're very close!
Joe AE6XE
https://drive.google.com/open?id=1w-3wB9ml0Tj6tpN_ATOB6_NQoJncGoZG
In your firmware update instructions it says to tftp the firmware to the 192.168.1.20 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!
Thanks for all the help Joe!!!
To be able to upgrade it, I needed to flash it with the Bullet firmware (aredn-3.20.3.0-ar71xx-ubnt-bullet-m-sysupgrade) 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! :)
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.
Bob W8ERD
v19 = 3.19.3.0
...
This might be an issue of limited RAM on these 32M devices and bigger firmware demands with newer versions. Sometimes the 3.19.3.0 to 3.20.3.0 path may take a few tries -- see the release notes for the steps and issues.
Joe AE6XE
Thanks,
Denis KD1HA
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 3.20.3.0 or later should only be used. There was a bug in 3.19.3.0 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 3.20.3.0 or later.
Joe AE6XE
Thanks Joe, it's running fine on 3.20.3.0 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.
Denis
Bob W8ERD
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.
Suggestions?
Bob W8ERD
Bob W8ERD
No explanation.
Bob W8ERD
Joe AE6XE
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 192.168.1.20 IP address?
Please follow the recommended installation instructions.
https://arednmesh.readthedocs.io/en/latest/arednGettingStarted/installing_firmware.html#ubiquiti-first-install-process
"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 192.168.1.20 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,
Chuck
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. .
73,
Tim
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.
NC8Q, AB7PA –
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
Good Point!
Fix:
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:
tftp
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 http://mirror.pit.teraswitch.com/raspbian/raspbian 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 (2.7.6.1-2) ...
Setting up tftp (0.17-18) ...
gelmce@nc8q-mesh-server:~ $
I hope this helps,
Chuck
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