Hoping to save building out a lab test just to answer this question. Using the new(ish) WiFi capsman, if I set to suggest same version but do NOT specify the file path, will the CAP pull the matching version from MikroTik presuming it’s newer than the current version and the CAP can reach the internet? Or does the cap only pull the package file from the CAPsMAN controller?
Example, I have a wifi CAPsMAN controller running v7.19.6, set to suggest same version, but has no package files downloaded to it and no path specified, and I connect a CAP AX to the network that’s running v7.15.1. Will the CAP pull v7.19.6 from mikrotik.com and install it?
I know this works if the packages are downloaded to the CAPsMAN and it transfers them directly to the CAP, but I’m trying to understand if there is a way to get the CAP to version match without downloading the package files to the CAPsMAN first.
CAPsMAN is little more than an interface to a protocol for setting up Wireless networks. It does allow traffic to be handled by the CAPsMAN, but that is it. When it comes to packages, each CAPsMAN device and CAP device sorts out its own packages. As I understand it, the CAPsMAN protocol is stable and there is no need to version match.
As far as I understand, CAP will pull ROS from CAPsMAN (the installed base) ... if CAPsMAN has same architecture as CAP and all required packages installed.
Or, in case there are packages available somewhere on CAPsMAN's storage and the path is specified, CAP will pull packages from that location.
AFAIK CAP will not go out to MT download servers to pull packages in this case (unlike manually running /system/package/upgrade which does), it'll only try to get packages from CAPsMAN server.
Correct, completely aligns with how I experience it on my installations.
Adding attention point:
in case your controller is a non-wifi device (like RB5009 e.g.), you also need to make sure wifi-qcom package is present in that update path or update via capsman will fail (and that's totally logical).
Indeed (and I've already stated that by saying "...and all required packages installed.").
The problem is if there are CAPs connected to same CAPsMAN which require different wifi packages. E.g. some devices are AX (and require wifi-qcom), some are AC (and require wifi-qcom-ac) ... both packages can not be installed at the same time AFAIK. And I'm not sure how mixes wifi-mediatek (for some BE devices).
Using separate storage place on CAPsMAN device and configuring package-path overcomes all of these obstacles ... including different CPU architectures etc. If this approach is used, then CAPsMAN can "upgrade" all kinds of CAPs, regardless the CPU architecture and/or wifi driver variety. The only drawback is that CAPsMAN administrator has to pull all the required packages from mikrotik download server manually.
yeah, that’s what I’ve done before on the older wireless capsman installs and it was fine, but that’s not possible for the project I’m working on right now. Was really hoping that the new wifi capsman had a better process to handle package updates, but it sounds like it’s a 1:1 copy of the old version in that regard…
All packages with different processor architectures or wifi drivers can be placed in the same folder. The CAP (I assume, might be the CAPS MAN) is smart enough to select the correct package.
Obviously all packages have to be downloaded.
In my opinion, as CAPsMAN is a huge added value since wifi-qcom(-ac) and newer drivers. Let's hope some day manual download is no longer necessary.
I opened a request ticket to try and get the cap to fall back to download the needed package from the web (download.mikrotik.com) in the event that the capsman doesn’t have the files added to a (hopefully soon) future release
For the use case I’m working on right now, downloading the files to the capsman isn’t a practical solution
With legacy CAPsMAN it was CAP which requested package files and CAPsMAN serving them (just like it's done with normal upgrades with downloading from MT's download servers). I'd be surprised if this changed with the new CAPsMAN.
So what basically CAPsMAN does do is it tells CAP which ROS version it's supposed to run. The rest of logic is up to CAP device.