I followed the directions for creating a local package server found at https://arednmesh.readthedocs.io/en/latest/arednHow-toGuides/local-package-repo.htm My copy is a mirror of the downloads.arednmesh.org server. This way, the only thing I had to change was the IP address for my web server (which is sitting on the mesh network). The hardware I am using is a raspberry pi (an older model but it still serves web content just fine).
I updated the local mesh node to the pi so that it would get the: firmware, pkgs_core, pkgs_base, pkgs_arednpackages, pkgs_luci, pkgs_packages, pkgs_routing, and pkgs_telepjony. Whew, that was a lot of saving because the page refreshes with each save click. I rebooted the mesh after making the changes just to be sure the changes were set.
If I press the Refresh button for either Firmware Update or Package Management, I get the same error: "Error: no route to Host". In the Apache logs, I have no entries for the node even attempting to connect. If I go to the Tunnel Client tab and click the "Click to install" button, I do see activity from the Apache logs but get a message of "ERROR: Package update failed!" In the Apache logs, all requests have a status of 200; there are no 404 or other errors being thrown.
My node is a Ubiquiti Nanostation Loco M5.
What have I done wrong?
Am I up in the night thinking the Loco M5 can do more than just the mesh? Can the Loco M5 be NAT'd through my home wifi to get Internet access for these updates?
I have 2 other mesh devices on order. They are a MikroTik hAP and a MikroTik RBLHG-2nD. These may arrive Feb 11 and Feb 10, respectively.
Thanks for all the hard work for this project. If I can get things working at my QTH, I am going to talk to my city manager to see about putting some equipment on the antenna tower at the city building.
73,
Matt
NA7RF
Hi, Matt:
I also have a RPi server on the local AREDN network.
Here is what I have:
aredn.@downloads[0].firmwarepath -> http://nc8q-mesh-server/mesh/downloads.arednmesh.org/firmware
gelmce@nc8q-mesh-server:/var/www/html/mesh/downloads.arednmesh.org/firmware $ ls -l > ~/0.txt
I cropped the output to -->
gelmce@nc8q-mesh-server:/var/www/html/mesh/downloads.arednmesh.org/firmware $ cat ~/0.txt
-rw-r--r-- 1 gelmce gelmce 6670450 Mar 27 2020 aredn-3.20.3.0-ar71xx-cpe210-220-v1-factory.bin
-rw-r--r-- 1 gelmce gelmce 7803493 Mar 27 2020 aredn-3.20.3.0-ar71xx-cpe210-220-v1-sysupgrade.bin
-rw-r--r-- 1 gelmce gelmce 6670450 Mar 27 2020 aredn-3.20.3.0-ar71xx-cpe220-v2-factory.bin
...
-rw-r--r-- 1 gelmce gelmce 6488870 Jan 24 11:59 aredn-3.22.1.0-ath79-generic-ubnt_nanostation-m-xw-squashfs-sysupgrade.bin
-rw-r--r-- 1 gelmce gelmce 6488476 Jan 24 11:59 aredn-3.22.1.0-ath79-generic-ubnt_rocket-m-squashfs-factory.bin
-rw-r--r-- 1 gelmce gelmce 6488846 Jan 24 11:59 aredn-3.22.1.0-ath79-generic-ubnt_rocket-m-squashfs-sysupgrade.bin
-rw-r--r-- 1 gelmce gelmce 281 Jan 24 12:00 firmware.airrouter.list
-rw-r--r-- 1 gelmce gelmce 8818 Jan 24 12:00 firmware.all-factory.list
-rw-r--r-- 1 gelmce gelmce 453 Jan 24 12:00 firmware.bullet-m.list
...
-rw-r--r-- 1 gelmce gelmce 287 Jan 24 12:00 firmware.wbs210-v2.list
-rw-r--r-- 1 gelmce gelmce 287 Jan 24 12:00 firmware.wbs510-v1.list
-rw-r--r-- 1 gelmce gelmce 371 Jan 24 12:00 firmware.wbs510-v2.list drwxr-xr-x 2 gelmce gelmce 4096 Jan 24 11:19 html
-rw-r--r-- 1 gelmce gelmce 81174 Jan 24 11:11 index.html
-rw-r--r-- 1 gelmce gelmce 2748 Apr 12 2021 list.tar.gz
gelmce@nc8q-mesh-server:/var/www/html/mesh/downloads.arednmesh.org/firmware $
-----
Firmware Update
Downloading firmware list from http://nc8q-mesh-server/mesh/downloads.arednmesh.org/firmware... Done.
-----
Package Management
Downloading http://downloads.arednmesh.org/releases/3/22/3.22.1.0/targets/ar71xx/generic/pac
kages/Packages.gz
Updated list of available packages in /var/opkg-lists/aredn_core
...
Downloading http://downloads.arednmesh.org/releases/3/22/3.22.1.0/packages/mips_24kc/telepho
ny/Packages.sig
Signature check passed.
-----
I hope this helps,
Chuck
Thank you for the response Chuck.
Here is what I have:
Here is the directory listing:
I should have said that I have version 3.22.1.0 already on the Loco M5. I got up this morning and realized I didn't give all the information.
Right now, my mesh island is not able to hear any other stations other devices. I am hoping to change that with the new hardware.
73,
Matt
So, your node does not have a route to http://10.118.68.3/firmware.
This needs to be fixed.
Is your web/file server on the local LAN?
If reserved, you can use the 'Hostname' in lieu of an IP address.
From a ssh circuit on the node, what does
ping -c 1 10.118.68.3
and
traceroute 10.118.68.3
return?
I added a DHCP reservation. I then made sure the node could ping the Pi by name and it can. I changed from the IP address to the host name and rebooted the node. I then tried to refresh the firmware and package management list and still got the no route to host.
Ping results: Traceroute results:
Is there a log on the mesh device I can 'tail' to watch what is happening (or look at later)? I have looked around but can't seem to find anything like that.
Thanks for the help and 73,
Matt
Just before I clicked 'Download firmware refresh', I did
gelmce@nc8q-mesh-server:~ $ sudo tcpdump -i enxb827ebfbff80 port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enxb827ebfbff80, link-type EN10MB (Ethernet), capture size 262144 bytes
17:02:33.431561 IP localnode.local.mesh.42128 > nc8q-mesh-server.local.mesh.http: Flags [S], seq 1211288154, win 29200, options [mss 1460,sackOK,TS val 1820117351 ecr 0,nop,wscale 3], length 0
17:02:33.431740 IP nc8q-mesh-server.local.mesh.http > localnode.local.mesh.42128: Flags [S.], seq 3141362952, ack 1211288155, win 28960, options [mss 1460,sackOK,TS val 4055485899 ecr 1820117351,nop,wscale 7], length 0
17:02:33.432291 IP localnode.local.mesh.42128 > nc8q-mesh-server.local.mesh.http: Flags [.], ack 1, win 3650, options [nop,nop,TS val 1820117352 ecr 4055485899], length 0
17:02:33.432670 IP localnode.local.mesh.42128 > nc8q-mesh-server.local.mesh.http: Flags [P.], seq 1:102, ack 1, win 3650, options [nop,nop,TS val 1820117353 ecr 4055485899], length 101: HTTP: GET /mesh/downloads.arednmesh.org/firmware/firmware.loco-m-xw.list HTTP/1.1
17:02:33.432797 IP nc8q-mesh-server.local.mesh.http > localnode.local.mesh.42128: Flags [.], ack 102, win 227, options [nop,nop,TS val 4055485900 ecr 1820117353], length 0
17:02:33.433273 IP localnode.local.mesh.42128 > nc8q-mesh-server.local.mesh.http: Flags [P.], seq 102:137, ack 1, win 3650, options [nop,nop,TS val 1820117353 ecr 4055485900], length 35: HTTP
17:02:33.433331 IP nc8q-mesh-server.local.mesh.http > localnode.local.mesh.42128: Flags [.], ack 137, win 227, options [nop,nop,TS val 4055485900 ecr 1820117353], length 0
17:02:33.437111 IP localnode.local.mesh.42128 > nc8q-mesh-server.local.mesh.http: Flags [F.], seq 137, ack 580, win 3795, options [nop,nop,TS val 1820117357 ecr 4055485901], length 0
17:02:33.437278 IP nc8q-mesh-server.local.mesh.http > localnode.local.mesh.42128: Flags [F.], seq 580, ack 138, win 227, options [nop,nop,TS val 4055485904 ecr 1820117357], length 0
17:02:33.437760 IP localnode.local.mesh.42128 > nc8q-mesh-server.local.mesh.http: Flags [.], ack 581, win 3795, options [nop,nop,TS val 1820117358 ecr 4055485904], length 0
You might install tcpdump on your RPi server and do a tcpdump on the node's IP address and port 80.
I am still baffled by the 'host not found' error.
:-|
Chuck
I installed tcpdump. I have used tcpdump back in the early 2000's at a company I worked for. I don't get any packets hitting port 80 when I click the refresh button. I think when it says "no route to host" the mesh really means it. Yet, it can get to the IP address just fine. I have verified this through a telnet to the mesh and then telnet to port 80 from the mesh.
I also put tcpdump on the mesh. When ever I click the refresh button, I can't see any network activity. Does my eth0.1 need to have an IP address? Here are the IP addresses from my mesh:
73,
Matt
I found the solution to the "no route to host". After checking tcpdump from the mesh, I discovered the script was not even trying to get out. I then looked in the code and found 1 line that was the key: Another line of code that works in conjunction with the above line is: So, I read that if you have a default gateway (I interpret this a having a WAN connection) or there are no entries in the /etc/opkg/distfeeds.conf file that have .local.mesh, then it will always give you "Error: no route to Host" message.
Once I changed the advanced admin settings to mesh-srv.local.mesh as the host name, I can not only get the firmware refresh button to work, but also the package refresh button.
I am not sure I would count this as a bug but adding information to the documentation would be helpful for future individuals. Taking a step back, is a check needed for an entry with .local.mesh or a default gateway? I can't answer that because I was not involved in coding the logic. Maybe this is exactly what the developer(s) wanted.
Thanks for the help! We can mark this as closed unless someone else wants to make somre more comments.
Matt