Issue with Auto Upgrade / packages from another MikroTik device

Hi guys,

I’m trying to update a MikroTik device (named as “client” in the following case) with packages provided from another MikroTik device (“server”).

server (running on a x86 system; v6.46.4) provides this package:

> file print where type=package
 # NAME                                                  TYPE                                                SIZE CREATION-TIME       
 0 routeros-mmips-6.46.4.npk                             package                                             9.8MiB mar/25/2020 18:18:23

client is on mmips plattform running v6.46.3:

/system upgrade upgrade-package-source print 
 # ADDRESS       USER                                                                                                                      
 0 10.0.1.1      update

During “/system upgrade refresh” I can see that the client connects via winbox port to the server for several seconds.
But “Available Packages” on the client stays empty and download-all shows:

/system upgrade print 
 # SOURCE          NAME             VERSION      STATUS        COMPLETED

/system upgrade download-all 
failure: there is no newer full release version available

Any ideas why the client isn’t using the newer npk from the server?

Thanks!

This answer might be a little bit late, but I’m intrerested in this topic as well. I cannot get it working and always get an error message that the router could not determine which is the system package.

Hopefully someone from MT staff reads this and can give a quick answer. I cannot find anything in the documentation.

Shouldnt you be using /system/package/update/check-for-updates and /system/package/update/download ? Or is that v7 only?

Before answering, make sure you are talking about the same topic, obviously NOT.

Sure, but sometimes that’s not how learning new things work. And aren’t we all here to learn things we didn’t knew yet?

Like the others wrote that’s a completely different feature. The Auto-Upgrade menu the thread-creator and me we want to use is for using other ROS-Devices as upgrade source. For my setup I need it because the devices itself all reside within a management vlan that has NO access to the internet and thus the

/system/package/update/check-for-updates

won’t work because it will contact mikrotik’s servers.

Therefor I want to create a small mirror on my Edge-Router that has internet access by downloading packages manually or with a self-written script and then I need all other devices to pull the updates from this device.

I also followed the article some user mentioned in my thread about this topic:
http://forum.mikrotik.com/t/system-upgrade-menu/172617/1
But unfortunately I only get the login messages on the edge router but nothing happes.

Workaround: Initiate the upgrade of the “clients” via FTP and run the uploaded rsc-file automatically.

On the “clients”: Permit FTP access from the server.

On the “server”:

  1. Create a file “/flash/update.rsc” with the following content:
/system package update set channel=stable
/system package update check-for-updates
/system package update install
  1. Organise all the clients you want to upgrade into an Address List “upgrade_clients”, e.g. semi-dynamically using Static DHCP Leases and the parameter “Address List”.

  2. Execute the following script on the server:

:foreach ip in=[/ip firewall address-list find list=upgrade_clients] do={ [/tool fetch address=[/ip firewall address-list get $ip address] mode=ftp user=$USER password=$PASSWORD src-path=/flash/update.rsc dst-path=update.auto.rsc upload=yes]; }

Alternative method using scp instead of ftp is described at: http://forum.mikrotik.com/t/system-upgrade-menu/172617/2

Also note that the ftp service in ROS (as of writing 7.15.3 stable) doesnt support VRF so if you use VRF’s /ip/service/ssh with scp is the way to go.