Link not appearing when using a SwitchBlox Industrial with a SIYI camera and Herelink simultaneously

– Copied from customer email –

Hi, am connecting an IP camera made by SIYI (sorry, don’t have the model on hand right now), and a Herelink v1.1.

I need to have the Herelink plugged in first, then I get the green LED. Then I can plug in the camera and my video streams properly.

If I have them both plugged in, there is no green LED on the Herelink port, but there is on the camera port.

Is it expected to see the PoE LEDs light up when PoE isn’t enabled?

Thanks for the information.

Presumably, with just the herelink plugged in (no camera), do you see the link light turn on for it at power on?

The PoE LEDs will illuminate dimly, this is expected, as the gate transistors are lightly pulled and thus small signals on the ethernet lines will cause the LEDs to turn on. This does not affect the data transfer in any way.

– Copied from customer email –

Ok thanks, glad to hear it.

Yes, with just the herelink plugged in the link light is on.

It stays on when I plug the camera in as well, and the video stream successfully transmits to the herelink.

If I plug the camera in first, or if I power on while they are both connected, the herelink link light is off (though the PoE light is on).

That’s very strange behaviour.

There is a similar bug I have seen related to connecting two GigaBlox together using the same numbered port on each. Both ports use the same backoff algorithm and end up stuck in a loop where they do not connect. The workaround for that is to simply use different ports on each GigaBlox when daisychaining them together.

This bug seems different. Have you tried other ports on SwitchBlox Industrial?

– Copied from customer email –

Yes, I have tried multiple ports for each device, and I’m getting the same behaviour on both SwitchBlox boards.

That’s very interesting behaviour, and not something I’ve seen before. We have thousands of boards out on the market that use the same chip as on SwitchBlox Industrial (albeit not the industrial temperature range version), and this is the first time I’ve seen this behaviour.

There are two approaches here. We can replicate and attempt to solve, while also guiding you through using wireshark to see if any packets are received from the herelink (unlikely since the link light does not turn on), or we can just find a workaround.

Low level issues like this can be a huge timesink so I’m inclined to find a workaround.

Luckily SwitchBlox Industrial runs firmware that we can use to potentially solve this. I believe the issue is related to timing, and thus if we can find a way to delay the link up on camera programmatically, we may be ok.

We can achieve that by using the BotBlox ARIES software to load a non-volatile configuration into the switch over serial. This only needs to be done once.

Are you willing/able to try this? If so I will send over some instructions.

– Copied from customer email –

Yes, a workaround sounds great. I will install the gui now. Please provide instructions on how to add the link delay.

Great.

First let’s confirm you have the pre-requisites as detailed in the link below.

Then, we’re going to do an EEPROM write, follow up to step 4 of the link below (I’d recommend reading the remaining steps in this link just so you get a feel).

Now what we’re going to do is simply go to the “general” tab of the software, and record some writes of putting the camera port up and down. Then go back to the EEPROM tab, and write that to the EEPROM.

– Copied from customer email –

So I did all that.

I can see the camera link come up, and then shut off, and then the herelink link come up. About 50% of the time when the camera link comes back then herelink link dies. The other 50% of the time the video streams correctly.

Is there a way to increase the amount of time that the switch waits to bring the camera link back? I think a longer time would make it more reliable.

I can make do with a workaround for now to keep testing, but if I’m going to approve this product for the application I’m trialing it for I would need to resolve this bug.

Ideally we find the root cause and fix the issue in future, I don’t love living with timing issues.

What happens when you connect the Siyi directly to the Herelink?

– Copied from customer email –

The camera streams video to the herelink every time.
A little more detail, I’m running an application on the herelink that periodically requests an rtsp stream from the camera and waits for a response on a timeout.
When the camera receives the request it starts the stream.

Understood. And presumably you’ve tested with and without that request using the Switch, to no avail?

– Copied from customer email –

I didn’t, but now I have and I see the same behaviour.

I’ll note that the sequence at the moment is

  • Camera link turns on
  • Camera link turns off
  • Herelink link turns on
  • Camera link turns on
  • 50% herelink turns off and doesn’t come back
  • 25% herelink turns off and comes back after a few seconds with successful video stream
  • 25% herelink link stays on and successfully video stream

Ok, yes, it’s some low level interaction most likely.

Can you export your EEPROM table so I can check it. Most likely we’ll want to add some additional port power ups and downs to increase the timing

– Copied from customer email –

Is a screenshot ok?

Thanks, that’s fine. And to confirm, what were the settings you chose here, and was it just for one port?

– Copied from customer email –

I captured power down on 1-4 and then power up on 1- 4

Let’s do a capture on just the single port that is causing the issues, doing multiple power up and power down cycles.

Once you’ve tried that (if it doesn’t solve the issue), can you also try disabling autonegotiation and setting the port manually to 100Mbits per second. I want to remove autonegotiation as a potential cause of this issue if the timing delay doesn’t solve it.

– Copied from customer email –

I tried turning the port on and off 3 times in the EEPROM and it failed to stream 4 out of 10 times. I turned off autonegotiation on both ports and see it succeed about 1 in 5.

I cleared back to default settings just to double check the issue, and it actually worked about 8 in 10 times. So the error was still there, but at least on that run of power cycles it happened less frequently. I think I’m going to call it for the day, it’s getting late.

If I connect my computer over ethernet to the switch I should be able to wireshark the traffic on the switch right? If so, on Monday I’ll try that. Would you mind if I send you the capture file that I get from it? Thanks for your help looking into this, I really appreciate it!

– Copied from customer email –

Just wondering if it has something to do with MDI/MDIX negotiation.
Is Tx, as labeled on the switchblox, expected to be connected to device Tx or device Rx?