Since updating to 7.12beta9 I’m having issues with my hAP ac3 that works as WifiWave2 CAP. After a few hours of uptime, some of the devices connected to hAP ac3 stopped having internet connectivity. This issue does not happen to devices connected to my hAP ax3 that is CAP to the same CAPsMAN.
Great work! It works* and there are docs for it, too! “on-message” script works, even UTF-8 encoding passes through okay. “#” wildcard seem to work in quick test.
*minor issues:
In some quick test (script below), it always seems to lose the first received message. /iot/mqtt/publish side works, since I get those on another host, just the /iot/mqtt/subscribe seem lost the very first one – then fine. Adding delays etc doesn’t seem to change the “first lost” issue.
Winbox shows the new settings, but seem if you delete at CLI, it doesn’t always get reflected in winbox. Closing windows/reopen shows any removes.
Perhaps reasonable. But the variable “msgTopic” and “msgData” in the "on-message="are a departure in y’all naming conventions — but the docs has example, and showed camelCase – just example $topic :).
Related, MQTT subscription message’s broker=/$msgBroker and time=/$msgTime aren’t included in “on-message” While those can be inferred… time= might be different if MQTT was queue’d someplace…
Log topic is “script” which is normal for the “on-” scripts, but be nice it was under “mqtt” topic for filtering from /system/script etc…
There is no “disable”, only remove – so no way to for a disconnect/reconnect.
The “first” script initiation failure happens because of the “different” MQTT packet sequence. You can inspect it using the WireShark.
Basically, what happens, is that when you do “subscribe” and then “publish” immediately after, RouterOS sends:
MQTT “connect” packet - to establish MQTT connection.
MQTT “publish” packet - to send the message.
And only then MQTT “subscribe” - to subscribe to the topic (which is too late, as the “publish” was already sent before the “subscription” happened).
The correct way would be, to do “subscribe”, then do a manual connect “/iot mqtt connect broker=broker_name”, and then “publish” the message. In this case, the sequence would be:
MQTT “connect” packet is sent.
MQTT “subscribe” packet is sent.
And only then the “publish”.
We will look into Winbox, broker/time variables, and your other suggestions! Thank you for the feedback!
Well I didn’t read the WHOLE page. ;). Adding a “/iot/mqtt/connect broker=” after subscription before publish fixed the “lost first message” problem. Thanks!
But, in my defense, using root /iot/mqtt with a broker= for CLI is kinda odd… I only looked in /iot/mqtt/broker, which is where “connected=yes” is shown – but was documented :).
It also be nice if “connected” status showed as a field in winbox in IoT>MQTT>Broker list. I guess winbox could have connect/disconnect button & show the /iot/mqtt/subscription/recv queue in a tab — but just showing if a broker is connected in winbox that be handy.
Glad to hear it worked!
We will be improving GUI to match CLI configuration options! As of this moment, most of the new MQTT features are just CLI only (for now).
I opened a support ticket [SUP-129558], but I’m going to post it here, too.
On both builds 7 and 9, when attempting to add any kind of dynamic interface (bridge, VLAN, bonds, IPIP/EOIP tunnels, etc.) from within Webfig, I get an error that the interface type is not supported.
This is happening on hAP AX3 and CCR2116, with completely different base configurations.
Just dared to install the beta (9) on a CRS309, and sad to report that Ubiquity 10GbE SFP modules are still not recognized correct (model UACC-CM-RJ45-MG, still reported as “RX Loss”, support case open for many months…).
Just logged in to report that after upgrading to latest 7.12b9 my SFP module refuses to work. It’s like it is not plugged in at all. All is fine after reverting back to 7.11 stable. Not sure if it has been reported before, too many occurences of “sfp” word in this thread to read it all
name: sfp-sfpplus1
status: link-ok
rate: 2.5Gbps
full-duplex: yes
tx-flow-control: no
rx-flow-control: no
sfp-module-present: yes
sfp-rx-loss: no
sfp-tx-fault: no
sfp-type: SFP/SFP+/SFP28
sfp-connector-type: SC
sfp-link-length-sm: 20km
sfp-vendor-name: Hisense-Leox
sfp-vendor-part-number: LXT-010S-H
sfp-vendor-revision: 1.0
sfp-manufacturing-date: 22-08-27
sfp-wavelength: 1310nm
sfp-temperature: 54C
sfp-supply-voltage: 3.357V
sfp-tx-bias-current: 16mA
But we need more details to reproduce this issue in our labs. The sfp-sfpplus monitor actually shows that “status: link-ok”. Can you share supout.rif file when the issue is active and send it to support@mikrotik.com? If not, can you specify what device are you using, show the full output of the monitor command and printout from “/interface ethernet export”?
The output comes from the 7.11 firmware and I posted it to show what SFP module I am using. My device is RB5009Upr+S+In. Using 7.12b9 there is no obvious reaction when inserting SFP module. No light, no indication in the winbox that something has been plugged in - there is no checkbox next to “Module Present” in SFP interface status.
Sorry I didn’t make it clear in the first post - I was posting that in a rush
If supout.rif file is going to provide something useful in this scenario, I need to find convenient time to break internet at home again