Slow or intermittent connection on Android #994

Closed
opened 2025-11-20 05:21:17 -05:00 by saavagebueno · 68 comments
Owner

Originally created by @JonathanHohimer on GitHub (Jun 19, 2024).

Originally assigned to: @pappz on GitHub.

Describe the problem

Slow or intermittent connection.

To Reproduce

Steps to reproduce the behavior:

  1. Connect to Netbird
  2. Try accessing resource.
  3. Resource attempts to load and stops multiple times after finally loading.

Expected behavior

Resource to load without issues.

Are you using NetBird Cloud?

I've tried this on both selfhosted and managed.

NetBird version

Android version 0.0.23

NetBird status -d output:

N/A

Screenshots

N/A

Additional context

I don't have this issue on my iPhone connected to the same Netbird network.

I'm using a Pixel 7 Pro running Android 14.

Attached redacted log.
netbird-1718764251475.log.redacted.txt

Originally created by @JonathanHohimer on GitHub (Jun 19, 2024). Originally assigned to: @pappz on GitHub. **Describe the problem** Slow or intermittent connection. **To Reproduce** Steps to reproduce the behavior: 1. Connect to Netbird 2. Try accessing resource. 3. Resource attempts to load and stops multiple times after finally loading. **Expected behavior** Resource to load without issues. **Are you using NetBird Cloud?** I've tried this on both selfhosted and managed. **NetBird version** Android version 0.0.23 **NetBird status -d output:** N/A **Screenshots** N/A **Additional context** I don't have this issue on my iPhone connected to the same Netbird network. I'm using a Pixel 7 Pro running Android 14. Attached redacted log. [netbird-1718764251475.log.redacted.txt](https://github.com/user-attachments/files/15908210/netbird-1718764251475.log.redacted.txt)
saavagebueno added the mobileAndroid labels 2025-11-20 05:21:17 -05:00
Author
Owner

@pascal-fischer commented on GitHub (Jun 20, 2024):

Hi @JonathanHohimer,

I don't see a clear indicator of why this happens. The permission-denied errors or the signal disconnects might be.
We released a new version that should handle the interface handling better. Could you download and test this version and send new logs if the issue persists? Thanks.

@pascal-fischer commented on GitHub (Jun 20, 2024): Hi @JonathanHohimer, I don't see a clear indicator of why this happens. The permission-denied errors or the signal disconnects might be. We released a new version that should handle the interface handling better. Could you download and test [this](https://github.com/netbirdio/netbird/releases/download/v0.28.0/netbird_0.0.24_0.28.0_app.apk) version and send new logs if the issue persists? Thanks.
Author
Owner

@RockSolidBrawler commented on GitHub (Jun 20, 2024):

I'm having some similar issue at least since a couple of weeks.
The "download speed" ist extremly slow. Like 100kbit/s while upload is as expected. It's leading to an extremely slow connection or even timeouts.
Tested in multiple networks (wifi an mobile data).
No problems with "plain wireguard".

I got an Pixel 6a with Android 14.
On another Android Tablet (Lenovo) no Problems.
Maybe some Google Pixel specific issue?

Netbird
Screenshot_20240620-151020

"Plain wireguard"
Screenshot_20240620-151119

Edit: issue still occurs in 0.28

@RockSolidBrawler commented on GitHub (Jun 20, 2024): I'm having some similar issue at least since a couple of weeks. The "download speed" ist extremly slow. Like 100kbit/s while upload is as expected. It's leading to an extremely slow connection or even timeouts. Tested in multiple networks (wifi an mobile data). No problems with "plain wireguard". I got an Pixel 6a with Android 14. On another Android Tablet (Lenovo) no Problems. Maybe some Google Pixel specific issue? Netbird ![Screenshot_20240620-151020](https://github.com/netbirdio/netbird/assets/78257383/72186304-bb83-4880-a009-1d03d83bd3c7) "Plain wireguard" ![Screenshot_20240620-151119](https://github.com/netbirdio/netbird/assets/78257383/26539d49-0fb0-4007-9482-e5252223f5d3) Edit: issue still occurs in 0.28
Author
Owner

@JonathanHohimer commented on GitHub (Jun 20, 2024):

@pascal-fischer

netbird-1718891876523.log.redacted.txt

This is from the debug apk on 0.28.

@JonathanHohimer commented on GitHub (Jun 20, 2024): @pascal-fischer [netbird-1718891876523.log.redacted.txt](https://github.com/user-attachments/files/15915286/netbird-1718891876523.log.redacted.txt) This is from the debug apk on 0.28.
Author
Owner

@purepani commented on GitHub (Jun 21, 2024):

I'm using a pixel 6 and have noticed similarly slow behavior
netbird-1718987482120.log.txt

@purepani commented on GitHub (Jun 21, 2024): I'm using a pixel 6 and have noticed similarly slow behavior [netbird-1718987482120.log.txt](https://github.com/user-attachments/files/15930450/netbird-1718987482120.log.txt)
Author
Owner

@bc547 commented on GitHub (Jun 21, 2024):

Also similar behaviour here on a pixel 6 with android 14: unusable slow connection to other netbird peers since a while.

@bc547 commented on GitHub (Jun 21, 2024): Also similar behaviour here on a pixel 6 with android 14: unusable slow connection to other netbird peers since a while.
Author
Owner

@JonathanHohimer commented on GitHub (Jun 21, 2024):

Strangely enough, I also have a pixel 5a on android 14 and this doesn't happen. Maybe only affects pixels after the 5?

@JonathanHohimer commented on GitHub (Jun 21, 2024): Strangely enough, I also have a pixel 5a on android 14 and this doesn't happen. Maybe only affects pixels after the 5?
Author
Owner

@DalaMicke commented on GitHub (Jun 23, 2024):

I am also experiencing this problem.
I have a Samsung Galaxy S22 with Andriod 14.
The download speed is very slow when I am using NetBird

I also have a Galaxy S10 with Android 12, and with that phone everything works as it should. The speed is normal.

So for me, if I'm using a phone with Android 14, the download speed is really slow.
If I use a phone with Android 12, the speed is OK

@DalaMicke commented on GitHub (Jun 23, 2024): I am also experiencing this problem. I have a Samsung Galaxy S22 with Andriod 14. The download speed is very slow when I am using NetBird I also have a Galaxy S10 with Android 12, and with that phone everything works as it should. The speed is normal. So for me, if I'm using a phone with Android **14**, the download speed is really slow. If I use a phone with Android **12**, the speed is OK
Author
Owner

@RockSolidBrawler commented on GitHub (Jun 23, 2024):

At first it was ok with Android 14. So maybe some of the latest security patches?

@RockSolidBrawler commented on GitHub (Jun 23, 2024): At first it was ok with Android 14. So maybe some of the latest security patches?
Author
Owner

@purepani commented on GitHub (Jun 23, 2024):

This has been happening for me basically since I installed the app a long time ago, so it's possible that code that was originally on pixels has been pushed to general android in the android 14

@purepani commented on GitHub (Jun 23, 2024): This has been happening for me basically since I installed the app a long time ago, so it's possible that code that was originally on pixels has been pushed to general android in the android 14
Author
Owner

@JonathanHohimer commented on GitHub (Jun 28, 2024):

Update: I've wiped my pixel7pro and installed the latest Lineage OS and I still have the same issue. So I'm not sure what it could be. :(

@JonathanHohimer commented on GitHub (Jun 28, 2024): Update: I've wiped my pixel7pro and installed the latest Lineage OS and I still have the same issue. So I'm not sure what it could be. :(
Author
Owner

@otaconix commented on GitHub (Jun 29, 2024):

Not sure this helps, but I have a few things to add:

  1. It doesn't necessarily happen with every peer.
  2. Depending on the connection my phone is on, a connection to a peer may be absolutely fine, or slow as molasses. Meaning: I could be having a fine experience connecting to peer X on WiFi, but then have a very slow connection to X when on mobile data, or vice-versa.
  3. As far as I can tell, it doesn't seem to be impacted by whether the peer connection is "relayed" or "P2P" (I checked by doing netbird status -d --filter-by-names android-peer-name on the host I'm connecting to). At first I thought it might, because the first time this happened to me was when I was on mobile data, so I thought it could have something to do with my TURN servers.
@otaconix commented on GitHub (Jun 29, 2024): Not sure this helps, but I have a few things to add: 1. It doesn't necessarily happen with every peer. 2. Depending on the connection my phone is on, a connection to a peer may be absolutely fine, or slow as molasses. Meaning: I could be having a fine experience connecting to peer X on WiFi, but then have a very slow connection to X when on mobile data, or vice-versa. 3. As far as I can tell, it doesn't seem to be impacted by whether the peer connection is "relayed" or "P2P" (I checked by doing `netbird status -d --filter-by-names android-peer-name` on the host I'm connecting to). At first I thought it might, because the first time this happened to me was when I was on mobile data, so I thought it could have something to do with my TURN servers.
Author
Owner

@OminousLama commented on GitHub (Jul 3, 2024):

I also see this issue. No problems at all on iOS, Linux or Windows devices as far as i can tell, but on Android traffic is unbearably slow and basically unusable.

@OminousLama commented on GitHub (Jul 3, 2024): I also see this issue. No problems at all on iOS, Linux or Windows devices as far as i can tell, but on Android traffic is unbearably slow and basically unusable.
Author
Owner

@brunogrcsada commented on GitHub (Jul 5, 2024):

Experiencing the same issue as well unfortunately!

General traffic seems ok, but whenever I try to ping any peer it's extremely slow - it gets there but it is unusable.

@brunogrcsada commented on GitHub (Jul 5, 2024): Experiencing the same issue as well unfortunately! General traffic seems ok, but whenever I try to ping any peer it's extremely slow - it gets there but it is unusable.
Author
Owner

@RxnNode commented on GitHub (Jul 7, 2024):

Facing the same issue here. Any thing but android works.

@RxnNode commented on GitHub (Jul 7, 2024): Facing the same issue here. Any thing but android works.
Author
Owner

@fzob commented on GitHub (Aug 2, 2024):

Same here with Pixel6a on latest Android14.
I tested with the self hosted and managed Version of Netbird.

@fzob commented on GitHub (Aug 2, 2024): Same here with Pixel6a on latest Android14. I tested with the self hosted and managed Version of Netbird.
Author
Owner

@MarS0K commented on GitHub (Aug 2, 2024):

Same with OnePlus 11 on Android 14. Can't use my self-hosted Jellyfin server. I tried netbird connection Wifi from same network, Wifi from another network and mobile internet. Connection is unstable.
ZeroTier and Nebula working fine btw.

@MarS0K commented on GitHub (Aug 2, 2024): Same with OnePlus 11 on Android 14. Can't use my self-hosted Jellyfin server. I tried netbird connection Wifi from same network, Wifi from another network and mobile internet. Connection is unstable. ZeroTier and Nebula working fine btw.
Author
Owner

@ricardoespinobon commented on GitHub (Aug 11, 2024):

Same for me, the routes works well in Ubuntu, Debian, Docker, Windows, Mac and even my Pixel Tablet with the latest (August) update. But in my Pixel 8 and Pixel 7 works extremely slow, basically unusable. I tried a lot of things but nothing seems to work.

@ricardoespinobon commented on GitHub (Aug 11, 2024): Same for me, the routes works well in Ubuntu, Debian, Docker, Windows, Mac and even my Pixel Tablet with the latest (August) update. But in my Pixel 8 and Pixel 7 works extremely slow, basically unusable. I tried a lot of things but nothing seems to work.
Author
Owner

@mlsmaycon commented on GitHub (Aug 12, 2024):

@ricardoespinobon, @MarS0K Could you enable trace logs in your device and share them with us? See the guide below:

  1. Access the app’s advanced menu and then tick the Enable trace log level
  2. After that you should, disconnect and connect again.|
  3. Test the connection issue while the app is running.
  4. Go back to the advanced menu and click on Share logs.
drawing
@mlsmaycon commented on GitHub (Aug 12, 2024): @ricardoespinobon, @MarS0K Could you enable trace logs in your device and share them with us? See the guide below: 1. Access the app’s advanced menu and then tick the Enable trace log level 2. After that you should, disconnect and connect again.| 3. Test the connection issue while the app is running. 4. Go back to the advanced menu and click on Share logs. <img src="https://github.com/user-attachments/assets/360149c1-83aa-4325-9cc5-fe0bcf638c16" alt="drawing" width="200"/>
Author
Owner

@ricardoespinobon commented on GitHub (Aug 12, 2024):

Sure! Here they are. I don't know if it gives you any hint but in one of the tests I've done, when I activate the netbird server machine as my Exit node the local routes work in my Pixel 8.

PixelTablet.txt
PIxel8.txt

@ricardoespinobon commented on GitHub (Aug 12, 2024): Sure! Here they are. I don't know if it gives you any hint but in one of the tests I've done, when I activate the netbird server machine as my Exit node the local routes work in my Pixel 8. [PixelTablet.txt](https://github.com/user-attachments/files/16589434/PixelTablet.txt) [PIxel8.txt](https://github.com/user-attachments/files/16589435/PIxel8.txt)
Author
Owner

@FarisZR commented on GitHub (Aug 12, 2024):

Hey, I've been following project since the wiretrustee days
just moved my home network to Netbird and i faced this issue.

This does seem to be device related, as I tested this with another phone on the same network with the same peer and got expected speeds.
However, on my pixel I got 0.255 mbps, there's a bottleneck somewhere for sure.
Tailscale is working fine on the same device and doesn't have any issues.

06a95b00-d64e-4a5e-8f06-579967654968

logs:
netbird-1723488213883.log.txt
netbird-1723489601128.log.txt

@FarisZR commented on GitHub (Aug 12, 2024): Hey, I've been following project since the wiretrustee days just moved my home network to Netbird and i faced this issue. This does seem to be device related, as I tested this with another phone on the same network with the same peer and got expected speeds. However, on my pixel I got 0.255 mbps, there's a bottleneck somewhere for sure. Tailscale is working fine on the same device and doesn't have any issues. ![06a95b00-d64e-4a5e-8f06-579967654968](https://github.com/user-attachments/assets/714bcaf7-aff1-471a-b138-95ae78820667) logs: [netbird-1723488213883.log.txt](https://github.com/user-attachments/files/16591334/netbird-1723488213883.log.txt) [netbird-1723489601128.log.txt](https://github.com/user-attachments/files/16591355/netbird-1723489601128.log.txt)
Author
Owner

@MarS0K commented on GitHub (Aug 13, 2024):

@ricardoespinobon, @MarS0K Could you enable trace logs in your device and share them with us? See the guide below:

  1. Access the app’s advanced menu and then tick the Enable trace log level
  2. After that you should, disconnect and connect again.|
  3. Test the connection issue while the app is running.
  4. Go back to the advanced menu and click on Share logs.
drawing

Sure. I tried to open my Jellyfin web app, but connection speed seems too slow.
netbird-1723564157774.log.txt

@MarS0K commented on GitHub (Aug 13, 2024): > @ricardoespinobon, @MarS0K Could you enable trace logs in your device and share them with us? See the guide below: > > 1. Access the app’s advanced menu and then tick the Enable trace log level > 2. After that you should, disconnect and connect again.| > 3. Test the connection issue while the app is running. > 4. Go back to the advanced menu and click on Share logs. > > <img alt="drawing" width="200" src="https://private-user-images.githubusercontent.com/7747744/357006143-360149c1-83aa-4325-9cc5-fe0bcf638c16.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1NjQxNzEsIm5iZiI6MTcyMzU2Mzg3MSwicGF0aCI6Ii83NzQ3NzQ0LzM1NzAwNjE0My0zNjAxNDljMS04M2FhLTQzMjUtOWNjNS1mZTBiY2Y2MzhjMTYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgxMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MTNUMTU0NDMxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Yjg5YjIyNzI5MWQ2MTdlZjVmOTIyM2U0MGRkZWUwZGQyOWQzY2IwZmMxNWQzMWIyMGM4ZTNmYjIxMDE3ZTY3MyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.nmZPTx1cgAU85bYhqNMLLZxPL7BLb98Ybw1Z1UMKJPY"> Sure. I tried to open my Jellyfin web app, but connection speed seems too slow. [netbird-1723564157774.log.txt](https://github.com/user-attachments/files/16602117/netbird-1723564157774.log.txt)
Author
Owner

@simen64 commented on GitHub (Sep 1, 2024):

Has anyone found a fix or workaround for this?

@simen64 commented on GitHub (Sep 1, 2024): Has anyone found a fix or workaround for this?
Author
Owner

@debarkamondal commented on GitHub (Sep 12, 2024):

Facing same issue on my Samsung S21FE. I can't say about Android 13 as I started using netbird after I got android 14.

@debarkamondal commented on GitHub (Sep 12, 2024): Facing same issue on my Samsung S21FE. I can't say about Android 13 as I started using netbird after I got android 14.
Author
Owner

@Hylosium commented on GitHub (Sep 13, 2024):

Hi, I'm also facing this problem with a Xiaomi Mi 10 Android 12. I get speeds lower than 1Mb/s when using open speed test self hosted, and without the VPN I'm getting more than 200Mb/s. On my laptop I get the 200Mbps without problems connected to the VPN from another house to where my servers are.

@Hylosium commented on GitHub (Sep 13, 2024): Hi, I'm also facing this problem with a Xiaomi Mi 10 Android 12. I get speeds lower than 1Mb/s when using open speed test self hosted, and without the VPN I'm getting more than 200Mb/s. On my laptop I get the 200Mbps without problems connected to the VPN from another house to where my servers are.
Author
Owner

@Codixer commented on GitHub (Sep 15, 2024):

Has anyone found a fix or workaround for this?

So no idea if this solves it somewhat for people, but I had the exact issue with using DNS/Domain names. I tried using the direct IP of my services instead of their domain records I put in my DNS. Does that work for other people? Or is it slow over direct IP as well?

@Codixer commented on GitHub (Sep 15, 2024): > Has anyone found a fix or workaround for this? So no idea if this solves it *somewhat* for people, but I had the exact issue with using DNS/Domain names. I tried using the direct IP of my services instead of their domain records I put in my DNS. Does that work for other people? Or is it slow over direct IP as well?
Author
Owner

@simen64 commented on GitHub (Sep 16, 2024):

I am still having the same slow speeds when using direct IP.

@simen64 commented on GitHub (Sep 16, 2024): I am still having the same slow speeds when using direct IP.
Author
Owner

@debarkamondal commented on GitHub (Sep 16, 2024):

Has anyone found a fix or workaround for this?

So no idea if this solves it somewhat for people, but I had the exact issue with using DNS/Domain names. I tried using the direct IP of my services instead of their domain records I put in my DNS. Does that work for other people? Or is it slow over direct IP as well?

I was using the IP's already.

@debarkamondal commented on GitHub (Sep 16, 2024): > > Has anyone found a fix or workaround for this? > > So no idea if this solves it _somewhat_ for people, but I had the exact issue with using DNS/Domain names. I tried using the direct IP of my services instead of their domain records I put in my DNS. Does that work for other people? Or is it slow over direct IP as well? I was using the IP's already.
Author
Owner

@mlsmaycon commented on GitHub (Sep 17, 2024):

Hey folks, sorry for the delay in responding here.

There are a few things that can influence the performance for the Android client. One of them is the connection type between the nodes. So if they are using a relayed connection, is possible that the performance will be greatly reduced.

So far the files shared here didn't contain the events that could help us identify if a connection was relayed or not. For that reason, it will be great if you can enable the trace logs, wait a few seconds after the connection with the peers you are testing to be established and then export the logs. See guide here: https://github.com/netbirdio/netbird/issues/2158#issuecomment-2283570413

@mlsmaycon commented on GitHub (Sep 17, 2024): Hey folks, sorry for the delay in responding here. There are a few things that can influence the performance for the Android client. One of them is the connection type between the nodes. So if they are using a relayed connection, is possible that the performance will be greatly reduced. So far the files shared here didn't contain the events that could help us identify if a connection was relayed or not. For that reason, it will be great if you can enable the trace logs, wait a few seconds after the connection with the peers you are testing to be established and then export the logs. See guide here: https://github.com/netbirdio/netbird/issues/2158#issuecomment-2283570413
Author
Owner

@Hylosium commented on GitHub (Sep 17, 2024):

Hi @mlsmaycon, I simply made a connection to the Netbird VPN, waited for the other two peers to connect on the app, then went to my browser and verified that I had access to the
website via its hostname, then disconected the vpn.
I'm attaching the logs.
netbird-1726586191565.log.txt

@Hylosium commented on GitHub (Sep 17, 2024): Hi @mlsmaycon, I simply made a connection to the Netbird VPN, waited for the other two peers to connect on the app, then went to my browser and verified that I had access to the website via its hostname, then disconected the vpn. I'm attaching the logs. [netbird-1726586191565.log.txt](https://github.com/user-attachments/files/17030735/netbird-1726586191565.log.txt)
Author
Owner

@debarkamondal commented on GitHub (Sep 17, 2024):

Hey folks, sorry for the delay in responding here.

There are a few things that can influence the performance for the Android client. One of them is the connection type between the nodes. So if they are using a relayed connection, is possible that the performance will be greatly reduced.

So far the files shared here didn't contain the events that could help us identify if a connection was relayed or not. For that reason, it will be great if you can enable the trace logs, wait a few seconds after the connection with the peers you are testing to be established and then export the logs. See guide here: #2158 (comment)

Both the devices are under CG-NAT or symmetric NAT which as far as I know would lead to the usage of TURN server. Only android speeds are affected.

@debarkamondal commented on GitHub (Sep 17, 2024): > Hey folks, sorry for the delay in responding here. > > There are a few things that can influence the performance for the Android client. One of them is the connection type between the nodes. So if they are using a relayed connection, is possible that the performance will be greatly reduced. > > So far the files shared here didn't contain the events that could help us identify if a connection was relayed or not. For that reason, it will be great if you can enable the trace logs, wait a few seconds after the connection with the peers you are testing to be established and then export the logs. See guide here: [#2158 (comment)](https://github.com/netbirdio/netbird/issues/2158#issuecomment-2283570413) Both the devices are under CG-NAT or symmetric NAT which as far as I know would lead to the usage of TURN server. Only android speeds are affected.
Author
Owner

@j007bond007 commented on GitHub (Sep 22, 2024):

I've also been experiencing this - only on Android. If I try to load a web app on android through NetBird's VPN it sometimes doesn't load or loads very slowly and I need to refresh a few times. Switching to normal wireguard, the web app loads instantly.

@j007bond007 commented on GitHub (Sep 22, 2024): I've also been experiencing this - only on Android. If I try to load a web app on android through NetBird's VPN it sometimes doesn't load or loads very slowly and I need to refresh a few times. Switching to normal wireguard, the web app loads instantly.
Author
Owner

@dfillingham commented on GitHub (Sep 28, 2024):

I was experiencing this, tonight when I went to grab the trace logs the speed has improved somewhat but is still significantly lower than expected.

Tracelogs attached:
netbird-1727520227860.log.txt

For my setup, there is two peers:

  • A smart phone
  • A server running the netbird docker image

The LAN on 192.168.1.0/24 is advertised to go via the server and masquerade.

Trace logs attached.
I've also attached some screenshots of speed tests:

  • A LAN speedtest on wifi with Netbird disabled
    • speeds as expected
  • A LAN speedtest on wifi with Netbird enabled
    • speeds are not as expected, massive drop when the packets would ideally be routed out the wifi interface not the netbird interface, since this is the home LAN
    • but even if packets are going through netbird tunnel, the massive drop in speed is not expected
  • A LAN speedtest on celluar with Netbird enabled
    • Speeds not as expected, massive drop in speed seen again
  • A public speedtest on cellular with Netbird disabled
    • Speeds as expected
  • A public speedtest on cellular with Netbird enabled
    • Speeds as expected

I have not configured an exit node and it seems that speed drops are only seen when accessing items on the LAN through the route advertised on the Netbird tunnel.

LAN speedtest wifi netbird disabled

LAN speedtest wifi netbird enabled

LAN speedtest cellular netbird enabled

![lan-speedtest-cellular-netbird-enabled]()

Public speedtest cellular netbird disabled

Public speedtest cellular netbird enabled

@dfillingham commented on GitHub (Sep 28, 2024): I was experiencing this, tonight when I went to grab the trace logs the speed has improved somewhat but is still significantly lower than expected. Tracelogs attached: [netbird-1727520227860.log.txt](https://github.com/user-attachments/files/17174178/netbird-1727520227860.log.txt) For my setup, there is two peers: * A smart phone * A server running the netbird docker image The LAN on 192.168.1.0/24 is advertised to go via the server and masquerade. Trace logs attached. I've also attached some screenshots of speed tests: * A LAN speedtest on wifi with Netbird disabled * speeds as expected * A LAN speedtest on wifi with Netbird enabled * speeds are not as expected, massive drop when the packets would ideally be routed out the wifi interface not the netbird interface, since this is the home LAN * but even if packets are going through netbird tunnel, the massive drop in speed is not expected * A LAN speedtest on celluar with Netbird enabled * Speeds not as expected, massive drop in speed seen again * A public speedtest on cellular with Netbird disabled * Speeds as expected * A public speedtest on cellular with Netbird enabled * Speeds as expected I have not configured an exit node and it seems that speed drops are only seen when accessing items on the LAN through the route advertised on the Netbird tunnel. ### LAN speedtest wifi netbird disabled <img src="https://github.com/user-attachments/assets/f7c130c5-3ff2-4b3e-b21e-ffe8c9b09b1a" width="125" height="250"> ### LAN speedtest wifi netbird enabled <img src="https://github.com/user-attachments/assets/c105418e-8f03-4598-98d4-d75822ba35e4" width="125" height="250"> ### LAN speedtest cellular netbird enabled <img src="https://github.com/user-attachments/assets/769c6ded-6dcf-478a-93c8-893c8ffcc6ff" width="125" height="250"> ![lan-speedtest-cellular-netbird-enabled]() ### Public speedtest cellular netbird disabled <img src="https://github.com/user-attachments/assets/ea7e3467-0482-4abd-a442-1f50de90ce1c" width="125" height="250"> ### Public speedtest cellular netbird enabled <img src="https://github.com/user-attachments/assets/7de87645-7355-4bae-aca3-878a6bb4b730" width="125" height="250">
Author
Owner

@JMacalinao commented on GitHub (Oct 8, 2024):

As per @dfillingham, the issue only affects Android devices assigned to regular network routes. Android devices assigned to exit nodes (even with same routing peers) and iOS/Mac/Windows/Linux devices (regardless of network route type) are not affected.

@JMacalinao commented on GitHub (Oct 8, 2024): As per @dfillingham, the issue only affects Android devices assigned to regular network routes. Android devices assigned to exit nodes (even with same routing peers) and iOS/Mac/Windows/Linux devices (regardless of network route type) are not affected.
Author
Owner

@jakob1379 commented on GitHub (Oct 12, 2024):

As per @dfillingham, the issue only affects Android devices assigned to regular network routes. Android devices assigned to exit nodes (even with same routing peers) and iOS/Mac/Windows/Linux devices (regardless of network route type) are not affected.

Adding an exit node, elbeit being the same as the peer i access solved it for me, though it doens't really make sense to me that it should be necessary.

@jakob1379 commented on GitHub (Oct 12, 2024): > As per @dfillingham, the issue only affects Android devices assigned to regular network routes. Android devices assigned to exit nodes (even with same routing peers) and iOS/Mac/Windows/Linux devices (regardless of network route type) are not affected. Adding an exit node, elbeit being the same as the peer i access solved it for me, though it doens't really make sense to me that it should be necessary.
Author
Owner

@simen64 commented on GitHub (Oct 12, 2024):

Adding an exit node, elbeit being the same as the peer i access solved it for me, though it doens't really make sense to me that it should be necessary.

This allows me to reliably access the peer which the exit node is on, however speed on any other website google, spotify etc is completely unusable.

@simen64 commented on GitHub (Oct 12, 2024): > Adding an exit node, elbeit being the same as the peer i access solved it for me, though it doens't really make sense to me that it should be necessary. This allows me to reliably access the peer which the exit node is on, however speed on any other website google, spotify etc is completely unusable.
Author
Owner

@j007bond007 commented on GitHub (Oct 17, 2024):

I setup a node as an exit node and speed tests shows things slow to a few mb/s speed on android... Despite even my upload being much faster

@j007bond007 commented on GitHub (Oct 17, 2024): I setup a node as an exit node and speed tests shows things slow to a few mb/s speed on android... Despite even my upload being much faster
Author
Owner

@silencer404 commented on GitHub (Oct 21, 2024):

meet simillar issue with andriod app.
logs as follow:
netbird-1729508247199.log.txt

netbird version : 0.0.24
android 14 with security patches version : 2024-07-01

@silencer404 commented on GitHub (Oct 21, 2024): meet simillar issue with andriod app. logs as follow: [netbird-1729508247199.log.txt](https://github.com/user-attachments/files/17460592/netbird-1729508247199.log.txt) netbird version : 0.0.24 android 14 with security patches version : 2024-07-01
Author
Owner

@kilimnik commented on GitHub (Oct 21, 2024):

Upgrading to Android 15 seemingly fixed the issue

@kilimnik commented on GitHub (Oct 21, 2024): Upgrading to Android 15 seemingly fixed the issue
Author
Owner

@simen64 commented on GitHub (Oct 21, 2024):

Upgrading to Android 15 seemingly fixed the issue

Did not for me on pixel 8 pro with android 15

@simen64 commented on GitHub (Oct 21, 2024): > Upgrading to Android 15 seemingly fixed the issue Did not for me on pixel 8 pro with android 15
Author
Owner

@ricardoespinobon commented on GitHub (Oct 21, 2024):

Upgrading to Android 15 seemingly fixed the issue

Did not for me on pixel 8 pro with android 15

Not for me either. Pixel 9 Pro Android 15

@ricardoespinobon commented on GitHub (Oct 21, 2024): > > Upgrading to Android 15 seemingly fixed the issue > > Did not for me on pixel 8 pro with android 15 Not for me either. Pixel 9 Pro Android 15
Author
Owner

@Codixer commented on GitHub (Oct 27, 2024):

Not here either, Pixel 8 - Android 15. Slow connection still

@Codixer commented on GitHub (Oct 27, 2024): Not here either, Pixel 8 - Android 15. Slow connection still
Author
Owner

@eiqnepm commented on GitHub (Oct 27, 2024):

Having the same issue on Android 15. NetBird is working flawlessly on all my other devices over LAN, but for Android simple HTML sites take minutes to load, I have no idea what is going on.

@eiqnepm commented on GitHub (Oct 27, 2024): Having the same issue on Android 15. NetBird is working flawlessly on all my other devices over LAN, but for Android simple HTML sites take minutes to load, I have no idea what is going on.
Author
Owner

@kabachuha commented on GitHub (Oct 28, 2024):

The android repo looks outdated in the other ways too, the last commit was 5 months ago

Screenshot 2024-10-28 at 11-16-58 netbirdio_android-client Connect your devices into a single secure private WireGuard®-based mesh network with SSO_MFA and simple access controls

@kabachuha commented on GitHub (Oct 28, 2024): The android repo looks outdated in the other ways too, the last commit was 5 months ago ![Screenshot 2024-10-28 at 11-16-58 netbirdio_android-client Connect your devices into a single secure private WireGuard®-based mesh network with SSO_MFA and simple access controls](https://github.com/user-attachments/assets/c7719aee-d01d-4b64-8e2b-b9916f65146d)
Author
Owner

@eiqnepm commented on GitHub (Oct 28, 2024):

Having the same issue on Android 15. NetBird is working flawlessly on all my other devices over LAN, but for Android simple HTML sites take minutes to load, I have no idea what is going on.

Just tested on my old Android 13 Samsung phone with June security patch and it works fine, but obviously I'm having issues with my current Pixel phone on Android 15.

@eiqnepm commented on GitHub (Oct 28, 2024): > Having the same issue on Android 15. NetBird is working flawlessly on all my other devices over LAN, but for Android simple HTML sites take minutes to load, I have no idea what is going on. Just tested on my old Android 13 Samsung phone with June security patch and it works fine, but obviously I'm having issues with my current Pixel phone on Android 15.
Author
Owner

@kilimnik commented on GitHub (Oct 28, 2024):

I'm using a Pixel 7 with Android 15 and it works

@kilimnik commented on GitHub (Oct 28, 2024): I'm using a Pixel 7 with Android 15 and it works
Author
Owner

@Codixer commented on GitHub (Oct 28, 2024):

I'm using a Pixel 7 with Android 15 and it works

What IP you do you use to connect? Do you use DNS/Domains? And what "works", can you connect to other servers on the vp?

@Codixer commented on GitHub (Oct 28, 2024): > I'm using a Pixel 7 with Android 15 and it works What IP you do you use to connect? Do you use DNS/Domains? And what "works", can you connect to other servers on the vp?
Author
Owner

@kilimnik commented on GitHub (Oct 28, 2024):

I'm using a Pixel 7 with Android 15 and it works

What IP you do you use to connect? Do you use DNS/Domains? And what "works", can you connect to other servers on the vp?

I have netbird installed on my router which exposes my whole home network via subnet routing. I can access all devices via the subnet as well as the router directly. I tried using DNS without any Problems too, though I'm not using netbirds DNS features.

All of the things I tried worked flawlessly on Android 15. On Android 14 everything was slow.

@kilimnik commented on GitHub (Oct 28, 2024): > > I'm using a Pixel 7 with Android 15 and it works > > What IP you do you use to connect? Do you use DNS/Domains? And what "works", can you connect to other servers on the vp? I have netbird installed on my router which exposes my whole home network via subnet routing. I can access all devices via the subnet as well as the router directly. I tried using DNS without any Problems too, though I'm not using netbirds DNS features. All of the things I tried worked flawlessly on Android 15. On Android 14 everything was slow.
Author
Owner

@eiqnepm commented on GitHub (Oct 28, 2024):

I just tried adding a route which uses the LAN IPv4 address of the peer I'm trying to connect to and uses that same peer as the routing peer—the issue persisted.

Obviously there isn't an issue with connecting to the peer as webpages load... eventually, but it's just so unbearably slow and I can't think why.

@eiqnepm commented on GitHub (Oct 28, 2024): I just tried adding a route which uses the LAN IPv4 address of the peer I'm trying to connect to and uses that same peer as the routing peer—the issue persisted. Obviously there isn't an issue with connecting to the peer as webpages load... eventually, but it's just so unbearably slow and I can't think why.
Author
Owner

@adasauce commented on GitHub (Oct 28, 2024):

Just adding another datapoint to say that it's effecting android 13 for me on one device but not another also running android 13. As soon as I added my device to a new group and set an exit node speeds went up dramatically, as well to resources which arent on that exit node. So it's not a specific android version that's causing this probably.

@adasauce commented on GitHub (Oct 28, 2024): Just adding another datapoint to say that it's effecting android 13 for me on one device but not another also running android 13. As soon as I added my device to a new group and set an exit node speeds went up dramatically, as well to resources which arent on that exit node. So it's not a specific android version that's causing this probably.
Author
Owner

@LouisVallat commented on GitHub (Nov 2, 2024):

Pixel 7, Android 15, app and phone both up to date, same issue.
Connection so slow I can't load a webpage on another peer through the VPN in P2P.

image

(the iperf server and the client are on the same physical LAN network)

@LouisVallat commented on GitHub (Nov 2, 2024): Pixel 7, Android 15, app and phone both up to date, same issue. Connection so slow I can't load a webpage on another peer through the VPN in P2P. ![image](https://github.com/user-attachments/assets/9cbc1aa1-57ff-434b-b4fa-17448a477995) (the iperf server and the client are on the same physical LAN network)
Author
Owner

@simen64 commented on GitHub (Nov 8, 2024):

Adding a debug point to this. Checking the GoLog through ADB on pixel 8 pro, this seems to be the error that is spitted out repeatedly.

11-08 20:53:54.956 E/GoLog   (12801): [ERRO] client/internal/dns/upstream.go:133 all queries to the upstream nameservers failed with timeout
11-08 20:53:54.972 E/GoLog   (12801): [INFO] client/internal/dns/upstream.go:240 upstreams [100.75.17.160:53] are responsive again. Adding them back to system

The ip in the info log is a peer that is set as the DNS server.

@simen64 commented on GitHub (Nov 8, 2024): Adding a debug point to this. Checking the GoLog through ADB on pixel 8 pro, this seems to be the error that is spitted out repeatedly. ``` 11-08 20:53:54.956 E/GoLog (12801): [ERRO] client/internal/dns/upstream.go:133 all queries to the upstream nameservers failed with timeout 11-08 20:53:54.972 E/GoLog (12801): [INFO] client/internal/dns/upstream.go:240 upstreams [100.75.17.160:53] are responsive again. Adding them back to system ``` The ip in the info log is a peer that is set as the DNS server.
Author
Owner

@petkov commented on GitHub (Nov 21, 2024):

Looks like a lot of people are affected. @mlsmaycon, is there any updates? Do you understand why this could happen?

@petkov commented on GitHub (Nov 21, 2024): Looks like a lot of people are affected. @mlsmaycon, is there any updates? Do you understand why this could happen?
Author
Owner

@mlsmaycon commented on GitHub (Nov 22, 2024):

Hello folks, we are preparing a new android client version.

It will have support for our new relay and network improvements.

@mlsmaycon commented on GitHub (Nov 22, 2024): Hello folks, we are preparing a new android client version. It will have support for our new relay and network improvements.
Author
Owner

@simen64 commented on GitHub (Nov 22, 2024):

Not to be that guy, but is there an ETA? As this issue has been quite prolonged i have started migrating to headscale and with these news i am wondering if i should stop...

@simen64 commented on GitHub (Nov 22, 2024): Not to be that guy, but is there an ETA? As this issue has been quite prolonged i have started migrating to headscale and with these news i am wondering if i should stop...
Author
Owner

@ricardoespinobon commented on GitHub (Dec 5, 2024):

The new Netbird Android App Version (0.0.27) Works perfect for me now on my Pixel 9 Pro, Android 15.

Thank you so much!

@ricardoespinobon commented on GitHub (Dec 5, 2024): The new Netbird Android App Version (0.0.27) Works perfect for me now on my Pixel 9 Pro, Android 15. Thank you so much!
Author
Owner

@MarS0K commented on GitHub (Dec 5, 2024):

Seems like newest Android application update fixes this issue for me.

@MarS0K commented on GitHub (Dec 5, 2024): Seems like newest Android application update fixes this issue for me.
Author
Owner

@RockSolidBrawler commented on GitHub (Dec 5, 2024):

Also for me.

@RockSolidBrawler commented on GitHub (Dec 5, 2024): Also for me.
Author
Owner

@mohamed-essam commented on GitHub (Dec 5, 2024):

Issue still occurs for me on Android 14, Samsung S21 Ultra, One UI 6.1.

Notably these log lines persisted from previous versions:

12-05 16:41:36.750  8144 12231 E GoLog   : [WARN] client/iface/iface.go:80 Failed to get interface by name tun0: route ip+net: netlinkrib: permission denied
12-05 16:41:36.997  8144 12231 E GoLog   : [DEBG] client/internal/stdnet/filter.go:31 trying to create a wgctrl client failed with: socket: permission denied

netbird-1733409704919.log.txt

100% willing to test any possible fixes on my device

@mohamed-essam commented on GitHub (Dec 5, 2024): Issue still occurs for me on Android 14, Samsung S21 Ultra, One UI 6.1. Notably these log lines persisted from previous versions: ``` 12-05 16:41:36.750 8144 12231 E GoLog : [WARN] client/iface/iface.go:80 Failed to get interface by name tun0: route ip+net: netlinkrib: permission denied 12-05 16:41:36.997 8144 12231 E GoLog : [DEBG] client/internal/stdnet/filter.go:31 trying to create a wgctrl client failed with: socket: permission denied ``` [netbird-1733409704919.log.txt](https://github.com/user-attachments/files/18025167/netbird-1733409704919.log.txt) 100% willing to test any possible fixes on my device
Author
Owner

@JonathanHohimer commented on GitHub (Dec 5, 2024):

I can confirm that the issue is resolved for me with the latest version of the android client.

@JonathanHohimer commented on GitHub (Dec 5, 2024): I can confirm that the issue is resolved for me with the latest version of the android client.
Author
Owner

@mohamed-essam commented on GitHub (Dec 6, 2024):

Regarding my issue here, it seems the issue is that Dynamic routes (Domain routes), do not work at all, since configureInterface in Android is called with only static routes, and I cannot for the life of me find where it updates/adds new routes (or whichever method it uses to add/update routes just doesn't work)

After a lot of struggling I was able to come up with a temporary workaround (works on my device at least, so I'm hoping this could create some insight into why it's not working)

--- a/client/internal/engine.go
+++ b/client/internal/engine.go
@@ -1225,6 +1225,34 @@ func (e *Engine) readInitialSettings() ([]*route.Route, *nbdns.Config, error) {
                return nil, nil, err
        }
        routes := toRoutes(netMap.GetRoutes())
+       var wg sync.WaitGroup
+       var mu sync.Mutex
+       for _, r := range routes {
+               for _, d := range r.Domains {
+                       wg.Add(1)
+                       go func() {
+                               defer wg.Done()
+                               ips, err := net.LookupIP(string(d))
+                               if err != nil {
+                                       log.Errorf("Error resolving domain %s: %v", d, err)
+                               }
+                               mu.Lock()
+                               defer mu.Unlock()
+                               for _, ip := range ips {
+                                       if len(ip) == net.IPv4len {
+                                               routes = append(routes, &route.Route{
+                                                       Network: netip.MustParsePrefix(ip.String() + "/32"),
+                                               })
+                                       } else if len(ip) == net.IPv6len {
+                                               // routes = append(routes, &route.Route{
+                                               //      Network: netip.MustParsePrefix(ip.String() + "/128"),
+                                               // })
+                                       }
+                               }
+                       }()
+               }
+       }
+       wg.Wait()
        dnsCfg := toDNSConfig(netMap.GetDNSConfig())
        return routes, &dnsCfg, nil
 }

(Note: IPv6 commented out just because I was tired and didn't bother to test it since I don't have IPv6 connectivity anyway)

@mohamed-essam commented on GitHub (Dec 6, 2024): Regarding [my issue here](https://github.com/netbirdio/netbird/issues/2158#issuecomment-2520568289), it seems the issue is that Dynamic routes (Domain routes), do not work at all, since `configureInterface` in Android is called with only static routes, and I cannot for the life of me find where it updates/adds new routes (or whichever method it uses to add/update routes just doesn't work) After a lot of struggling I was able to come up with a temporary workaround (works on my device at least, so I'm hoping this could create some insight into why it's not working) ```diff --- a/client/internal/engine.go +++ b/client/internal/engine.go @@ -1225,6 +1225,34 @@ func (e *Engine) readInitialSettings() ([]*route.Route, *nbdns.Config, error) { return nil, nil, err } routes := toRoutes(netMap.GetRoutes()) + var wg sync.WaitGroup + var mu sync.Mutex + for _, r := range routes { + for _, d := range r.Domains { + wg.Add(1) + go func() { + defer wg.Done() + ips, err := net.LookupIP(string(d)) + if err != nil { + log.Errorf("Error resolving domain %s: %v", d, err) + } + mu.Lock() + defer mu.Unlock() + for _, ip := range ips { + if len(ip) == net.IPv4len { + routes = append(routes, &route.Route{ + Network: netip.MustParsePrefix(ip.String() + "/32"), + }) + } else if len(ip) == net.IPv6len { + // routes = append(routes, &route.Route{ + // Network: netip.MustParsePrefix(ip.String() + "/128"), + // }) + } + } + }() + } + } + wg.Wait() dnsCfg := toDNSConfig(netMap.GetDNSConfig()) return routes, &dnsCfg, nil } ``` (Note: IPv6 commented out just because I was tired and didn't bother to test it since I don't have IPv6 connectivity anyway)
Author
Owner

@mlsmaycon commented on GitHub (Dec 6, 2024):

@mohamed-essam DNS routes are not supported yet because android has this requirement of needing to recreate the interface/vpn service to add routes. In the current version, we plan to add support for it, but I can't provide a good estimate yet.

As an alternative, you can use exit nodes for your android devices.

@mlsmaycon commented on GitHub (Dec 6, 2024): @mohamed-essam DNS routes are not supported yet because android has this requirement of needing to recreate the interface/vpn service to add routes. In the current version, we plan to add support for it, but I can't provide a good estimate yet. As an alternative, you can use exit nodes for your android devices.
Author
Owner

@mohamed-essam commented on GitHub (Dec 6, 2024):

@mlsmaycon I never saw a documentation for this limitation so that's why I thought it was just broken 😅

@mohamed-essam commented on GitHub (Dec 6, 2024): @mlsmaycon I never saw a documentation for this limitation so that's why I thought it was just broken 😅
Author
Owner

@mikaeleythor commented on GitHub (Dec 10, 2024):

This is still a problem on Android 13.

@mikaeleythor commented on GitHub (Dec 10, 2024): This is still a problem on Android 13.
Author
Owner

@chemicalsam commented on GitHub (Feb 21, 2025):

Also a problem on iOS

@chemicalsam commented on GitHub (Feb 21, 2025): Also a problem on iOS
Author
Owner

@B08Z commented on GitHub (Mar 27, 2025):

Any update on this at all.

Currently using JetBird which is good but would be nice to have a updated NetBird app hopefully with native WG VPN on android?

@B08Z commented on GitHub (Mar 27, 2025): Any update on this at all. Currently using JetBird which is good but would be nice to have a updated NetBird app hopefully with native WG VPN on android?
Author
Owner

@nazarewk commented on GitHub (Mar 27, 2025):

Any update on this at all.

Currently using JetBird which is good but would be nice to have a updated NetBird app hopefully with native WG VPN on android?

Rewriting Android client into a native application is getting higher on our priority list with every day, but it's hard to estimate a timeline here.

@nazarewk commented on GitHub (Mar 27, 2025): > Any update on this at all. > > Currently using JetBird which is good but would be nice to have a updated NetBird app hopefully with native WG VPN on android? Rewriting Android client into a native application is getting higher on our priority list with every day, but it's hard to estimate a timeline here.
Author
Owner

@Mpic commented on GitHub (Jul 2, 2025):

@mohamed-essam DNS routes are not supported yet because android has this requirement of needing to recreate the interface/vpn service to add routes. In the current version, we plan to add support for it, but I can't provide a good estimate yet.

As an alternative, you can use exit nodes for your android devices.

Using exit nodes means all traffic will pass through these nodes, right ? I'm eager to have split DNS working on mobile clients...

@Mpic commented on GitHub (Jul 2, 2025): > [@mohamed-essam](https://github.com/mohamed-essam) DNS routes are not supported yet because android has this requirement of needing to recreate the interface/vpn service to add routes. In the current version, we plan to add support for it, but I can't provide a good estimate yet. > > As an alternative, you can use exit nodes for your android devices. Using exit nodes means all traffic will pass through these nodes, right ? I'm eager to have split DNS working on mobile clients...
Author
Owner

@Spiritreader commented on GitHub (Jul 8, 2025):

The weird thing is that it's only slow for me if I use mobile internet.
But I don't think the wireguard protocol is getting throttled by my phone carrier.
If I initiate a wireguard tunnel to the same server (where netbird has a P2P srflx as well), then it works fine. I get 100+ Mbit.
But with netbird I only get 0.5Mbit.

As soon as I switch to Wifi, netbird is equally fast as raw wireguard.

@Spiritreader commented on GitHub (Jul 8, 2025): The weird thing is that it's only slow for me if I use mobile internet. But I don't think the wireguard protocol is getting throttled by my phone carrier. If I initiate a wireguard tunnel to the same server (where netbird has a P2P srflx as well), then it works fine. I get 100+ Mbit. But with netbird I only get 0.5Mbit. As soon as I switch to Wifi, netbird is equally fast as raw wireguard.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#994