Hello!
Bottom Lines Up Front:
- ROS has no functional interface to receive NMEA sentences from the GNSS interface of the modem. GNSS locks are achieved with valid NMEA sentences being generated but these are not accessible to the ROS GPS module/plugin. GNSS module functionaly has been validated in-situ using AT commands via at-chat.
- Broken/useless usb/serial 'port. The usb2 serial interface exposed by RouterOS for the modem has exactly 1 channel which is ‘dead’. No output is ever received via this interface nor does the modem seem to respond to any inputs to that channel.
Config:
- RB: RB3011
- RouterOS Versions: 7.01b06 through current 7.01.03
- Modem: Quectel RM502Q-AE
- Modem interface: USB3 to M.2 bridge equipped for 2x2 and 4x4 mimo (the earlier version of this enclosure from LTEFix / Wireless Haven plus 4 appropropriate antennas)
Firstly, this configuration has worked for data in MBIM mode with a static IP T-Mobile connection in the US. 5G/LTE connectivity performs very well and has been rock-solid, especially with ROS v7.01.03.
Note: I’m not going to complain here about the LTE APN configuration not having a “dual stack” IPv4/IPv6 option as was available in ROS6. I have another post about that from months ago which never received a reply from Mikrotik…
The issue I’m here to talk about is the ability to access GNSS/GPS/Galileo time data for me but, I’m sure, positioning data will be just as important to others.
Discussion:
We appear to be caught in a transition state with RouterOS where the very needed move to a standardized cellular API which enables high performance throughput from modern cellular modems instead of pptp interfaces via the virtual usb ports of the non-MBIM configs. However, while the data functionality of these modems via the MBIM stack is working swimmingly, the GNSS/NMEA interface has been left unattended to.
Unfortunately, we understand that there’s no specification-legal transitionary implementation of the MBIM interface permitted… “shipping code” must only provide MBIM-api interfaces with no virtual serial ports presented; they must be “not visible” in production code without a development driver installed.
However, the ROS GPS module hasn’t been updated to interface with the GNSS/NMEA interface(s) of the MBIM API; it still only understands “Serial Port” interfaces (either physical or virtual via USB).
Lastly, there is the ‘vexing’ presence of the “usb2” port being presented/visible the “/port print” output below:
[<redacted>] /port> print
Columns: NAME, CHANNELS, USED-BY, BAUD-RATE
# NAME CHANNELS USED-BY BAUD-RATE
0 serial0 1 Serial Console 115200
1 usb2 1 9600
Now, with the modem API/mode set to “Serial” instead of MBIM (with all-the-things rebooted afterward) then the 4-channels of usb2 are exposed and all four of them work as expected:
usb2 Channel 0 - Modem Data Port
usb2 Channel 1 - GNSS/NMEA Sentence output port
usb2 Channel 2 - Modem AT command interface port (also accepts GNSS/NMEA AT commands which is why at-chat still works in MBIM-mode)
usb2 Channel 3 - GNSS/NMEA AT command interface port (does not accept Modem AT commands)
Pointing the RouterOS GPS module at usb2 Channel 1 enables GPS time and location data to be received exactly as intended in this config.
Switching the Modem Mode/API back to MBIM returns to the high-performance data lte1 interface with a broken/useless usb2 port interface.
@Normis:
When can we hope to see a functional resolution to this where we can have both LTE data via the MBIM API and GNSS/GPS-time accessible by RouterOS from the same modem… maybe… possibly?
Anyhow, thanks for reading this far!
Have a great day!
Regards,
goodbye