Herelink Ethernet

hi @Michael_Oborne
Am confused with this steps
so the basics look good to me, the next trick is getting adb access to confirm (gcs)

the stock image includes

to update the boot image via usb (i asume you have adb access already/developer mode)

adb reboot bootloader
fastboot flash boot boot.img “”"
can You please help. I need to connect jetson board with air unit and ssh with ground unit.
I cant able to get the the boot.img file for flashing.
Thanks in advance

Hi @Michael_Oborne
I’m trying to create a ethernet connection between Ground Unit and Air unit. But I have some problems about it.

My first setup is Ground Side > Ethernet adapter > Ethernet adapter > Air side
But when I did this setup my both devices couldn’t get ip with eth0
I saw from ifconfig;
lmi40 with and
br-vxlan with and

After that I updated my setup and add an router between ethernet adapters.
New setup is Ground side > ethernet adapter > router > ethernet adapter > Air unit
Now I can get ip via dhpc from router to Ground side.
And also I manually run dhcpcd in Air unit and it get ip address via dhcp too.

Now I have data communication on my custom app in Ground Unit, between both devices and I have 192.168.0.x ip on eth0.
But I cant get video stream from eth0 and I cant find any information about it.

PS : I cant install any app to air unit and I cant make my our video stream bridge.
Do you have any idea or advice about this setup??

please update your GCS unit to the new beta release a few days ago

It helps for me, thank you!

Hello @Michael_Oborne,
is a new beta version available for Herelink?
Or what do you mean by GCS system?
How can I install the beta (Current version on Herelink BRU01210730)?
Thank you!

You can look at here :

You can update your system with those steps.

Just you will need to use Product Key.

1 Like

Perfect! thank you!

Hi @Michael_Oborne , me again. I create my setup again with ethernet cable bu I have a new problem.

As I define before I have a setup like:
Ground Side > Ethernet to USB adapter > Ethernet Cable > Ethernet to USB adapter > Air side.

Now I have a problem on this connection, LOOP.
I setup the ethernet connection and it runs on ethernet. But there is a point, wireless connection do not stop and still continue to send data. It causes a loop on my connection and it causes unstable connection on this setup.

1st step, I tried to down wireless connection(lmi40) from air unit from shell, I reached stable connection. But it opens itself automatically.
2nd step, I tried to down wireless connection(lmi40) from GCS but it doesn’t give permission to me (bcz there is no root). (I tried “ifconfig lmi40 down”)
3rd step, I tried to install a script autostart on air unit but I can’t install it too. It gives permission to down wireless connection(lmi40) from shell but doesn’t give permission to install any script or apk.

How can I solve this problem? Is there any idea about it?

Thanks for replies.

why are you looping it? i dont understand the requirement.

I dont want any loop in it. System does it itself. If both connection (wireless with lmi40 and eth0) are up, my connection is not stable.
I tried to down lmi40 on air unit with “ifconfig lmi40 down”, it closes the wireless connection between air unit and GCS. Then, I see stable connection with only eth0.

I can’t do the same thing on GCS because there is no root and “ifconfig lmi40 down” is not permitted.

I still don’t understand why you are connecting the 2 directly to each other via ethernet

what is you intent? with what you are describing, a loop is exactly what i expect, and by design.

I’m trying to send and recieve data over Ethernet. As far as I can see, it is trying to exchange data with both Ethernet(eth0) and Wireless(lmi40).

My problem starts when I plug in the Ethernet cable, I see huge losses in the connection and video stream. I can see that it missing data when i ping

When I enter the Herelink settings, I can see that the “Uplink Rate” has reached its Maximum value(16000-17000). I unplugged the Ethernet cable, everything goes back to normal.


The problem is smilar to the one in this link.
Switching loop - Wikipedia

I got a strange issue
I build a raspberry pi test payload and connected it correctly trhough ethernet bridge
I can ping it from every where inside or outside the brvxlan (air unit remote unit or pc) every thing works fine
here 's my network config

strange things happends when I try to connect real payload witch is not a linux ( so I cant have a ssh access)

board is a SLA3000C video processing unit

I can only rely on a dedicated app

to set corrects params
I set the fix ip and gateway same as my fictive payload
I can ping it from adb shell on air unit I can ping it from remote unit but I can’t get any ping from my PC host

from adb shell on air unit

$ ping
PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=64 time=0.304 ms
64 bytes from icmp_seq=2 ttl=64 time=0.482 ms
64 bytes from icmp_seq=3 ttl=64 time=0.493 ms
64 bytes from icmp_seq=4 ttl=64 time=0.510 ms
--- ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3048ms
rtt min/avg/max/mdev = 0.304/0.447/0.510/0.084 ms
$ exit

from adb shell on remote unit

optimus:/ $ ping
PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=64 time=38.2 ms
64 bytes from icmp_seq=2 ttl=64 time=16.8 ms
64 bytes from icmp_seq=3 ttl=64 time=15.0 ms
64 bytes from icmp_seq=4 ttl=64 time=18.1 ms
64 bytes from icmp_seq=5 ttl=64 time=16.5 ms
--- ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 15.010/20.960/38.281/8.719 ms
optimus:/ $ exit

from pc


Pinging with 32 bytes of data:
Request timed out.

Ping statistics for
    Packets: Sent = 1, Received = 0, Lost = 1 (100% loss),

as payload manufacturer has no experience on herelink I got no usefull informations from him
may be some of you can bring me few idea ???

Have you tried to set gateway

yes I tried different things


edit :
after few more tests I dont realy know why it was not working first time but now it looks to work with as gateway

again this is by design, your use case does not make sense. and has no practical use the way you have drawn it.

there is no plan to add any spanning tree to the bridge.

i think either your not showing the entire story, or im missing the reason you need this in the first place

the only way to see that ip from the GCS unit is to use ethernet out on the GCS unit. the ip range is not routed via wifi etc.

I’m sorry but when trying with a USB<->ETHERNET on the remote it’s not working never
but when connecting PC on Android acess point it’s working great

Actualy, we need bonding(active-backup) on two side.Wired connection will be main and wifi connection is backup. Are there any way to do this. Because our vehicle is indoor-ground-vehicle and sometimes wireless connection is lost. In such cases, we want to use the wired connection.

I am using the Ethernet function for talking to the companion computer that is on the drone. But I want to eliminate some parts for weight saving. Our current setup:

Herelink Air unit -> USB to ethernet adapter -> USB to ethernet adapter -> Linux companion computer (without JR45 eth socket)

This system works perfectly, but it takes weight and space and it looks quite stupid, because it is just micro USB to micro USB with 2 of the same USB to ethernet adapters in between with a very short ethernet cable. Is there a way to make this smarter? Like using just micro USB to micro USB? With some changes in Linux?