PTP on BotBlox Hardware

– Copied from customer query –

I am looking for a switch with a similar form factor to BB-GGN-A-1, but it must support PTP (Precision Time Protocol, IEEE1588). I only see that feature listed on your larger devices.

When talking about PTP (IEEE1588), it’s helpful to define specifically you are looking for. In most cases, when talking about a PTP enabled ethernet switch, this means a switch that acts as a transparent clock. When acting as a transparent clock, the switch records the dwell time of a packet inside the switch, and then updates the PTP time correction field with that dwell time.

Another factor is whether the PTP is one-step or two-step. Here is a good link that explains this further.

At present, none of our hardware supports PTP, though it is something we are working on for release in Q2 2024. Getting PTP working is not trivial and requires a fair amount of testing. It’s also only possible on our more advanced switches (UbiSwitch). GigaBlox Nano uses a more simple ethernet switch chip that cannot support PTP timestamping.

The biggest difference is in the used delay mechanism. E2E works pretty much out of the box over many switches, including the Botblox ones. Without timestamping of packets inside the switch, you won’t reach nanosecond sync, but a microsecond sync is quite possible. From the current offer, Gigastax Rugged can be configured (via custom firmware) as E2E transparent clock, adding the dwell times to packets.

The situation is different with P2P. In this case, you either have just one pair of devices and a dumb switch, which works. But as soon as you add 3rd device or a switch that is PTP aware, the sync won’t work at all unless the switch is properly configured. This is currently not possible on any BB switches, but should be possible on Ubiswitch using custom firmware.

1 Like

@peci1 Did you write any custom firmware for the GigaStax Rugged in the end?

No, I did not. I just played around with the switch connected to I2C and directly wrote the register values. But when we discovered P2P is not possible without adding an RGMII-capable MCU, we gave up.

Got it. Thanks. UbiSwitch is where we’ll first target PTP because the marvell documentation is better.

Btw, we already have a CLU working on UbiSwitch for register access, so I don’t think it will be long.

1 Like

Sounds like a nice Christmas project. Could you share the CLI and relevant firmware with me? I wanted to look into it, but I’ve got overwhelmed with other work. But i should have time for this during Xmas :wink:

Are there any updates on this? Also, just to clarify @josh-elijah’s comment, are there any plans of having PTP support in Gigablox Nano (in a new revision perhaps)?
We are using the Gigablox Nano on a modified version of [2202.11055] RMF-Owl: A Collision-Tolerant Flying Robot for Autonomous Subterranean Exploration and would love to have this feature.

On GigaBlox Nano, it’s never gonna happen. The hardware lacks the key ability to do PTP timestamping in hardware.

It does look possible on UbiSwitch, and I expect we’ll have some news on that in the next few days.

Of course, UbiSwitch is bigger, higher power, and more costly…