High packet loss in simple system

Hmm, what about EEE kicking in? (Energy Efficient Ethernet).

Please do on both the PC and RPi:

ethtool --show-eee eth0  # or whatever your interface is

If you find it turned on, try disabling it:

sudo ethtool --set-eee eth0 eee off

Thanks, it looks like that had an effect on the RPi.

The PC didnā€™t have it installed and when I installed it it looks like EEE status was enabled - inactive, but Tx LPI: 17 (us) is also listed. I tried tx-lpi off but that did not work (netlink error: invalid argument. However eee off set the status to disabled.

Have to check if it has any effect on the camera performance, the camera does not have an interface where we can access any eee.

You could theoretically disable EEE for the camera by plugging the gigablox between camera and ubiswitch. Just for a test :slight_smile:

I can confirm that works for the Pi, but do not have access to the camera right here. Using ethtool is a bit annoying as a permanent solution as it is not persistent after reboots of the Pi, but if that becomes the solution we will find a fix. I suppose there are no ways to configure the switch in this regard.

I guess this could be configured on the switch. But thatā€™s a question on @josh-elijah whether they will and can implement it in the firmware.

When can we expect to have a SW-fix for this bug, so the switch behaves as it should, so we get what we have paid for?
We need to ship products to customer within a day or so.

Interesting, so itā€™s an EEE issue? Turning that off completely solved the issue, right?

Thankfully, UbiSwitch has an update over UART feature, so itā€™s pretty easy to update.

What weā€™ll need to do is add this feature to the command line (something to toggle EEE).

Iā€™ll speak with @aaron and weā€™ll come up with a timeline. It wonā€™t be one day, no company will turnaround a firmware update in a day, but at least we now know youā€™re issue, we can implement a solution.

More info to come. @peci1 , thanks for your incredible investigative skills on this one!

Thanks for the quick answer.
Sorry for all time-questions, but when do you (in reality) think that we can have a new SW. We need to know this, a rough estimation, so we can plan, and know how to proceed.
And also, how come that it works good with your Gigablox?

My guess is because Gigablox uses a much dumber chip which doesnā€™t support EEE.

1 Like

One way of achieving this on the RPi/PC is to use your init service in your OS to run a script that runs ethtool to disable EEE. For example, if your OS uses systemd you can run a script after startup. Hereā€™s a guide I found to help with that.
However, that is no substitution for situations where you donā€™t have system admin access, like your camera. In this case, we will work on adding EEE config to the UbiSwitch in the latest update of BloxOsLite.

I want to debug that too! GigaBlox also supports EEE but Iā€™ve seen how differences in silicon differences can cause issues for different PHYs, often requiring errata fixes.

So, Iā€™m aware youā€™ve already emailed us directly but Iā€™m going to answer here for the benefit of others.

On the one hand, weā€™re a small team and we build all our software so weā€™re usually able to get software updates out quite quickly. This is helped by the fact that BloxOSLite (The firmware running on UbiSwitch and SwitchBlox Industrial) itself runs an ā€œupdate-over-UARTā€ mechanism, meaning you can update it with the newly released firmware just using the UART port (no need for any of this complicated firmware flashing business that we used to have to do on our older boards).

On the other hand, we like to be careful and considered when we release new firmware/software. We need to be sure that we donā€™t introduce new bugs or significant technical debt with each new release. We also like to stack up features for each release of BloxOSLite. For example, the planned next release includes SFP speed configuration, QoS and now, EEE toggling.

This is all to say, it wonā€™t be that we can release the software in a day, but itā€™s also not months away. Weā€™ll discuss this internally and get back to you on email (and here) regarding our timeline.

@aaron and I have discussed; we are aiming to release an update to BloxOSLite that adds EEE toggle-ability by the end of this year.

We are finishing up some work on Rugged SOM that will add (R)STP and multicast at present.