# LAN Wi-Fi Manager > LAN Wi-Fi Manager is a free app for Windows and Ubuntu, with a macOS preview, that keeps you online when your computer is connected by both Ethernet (LAN) and Wi-Fi at the same time. It tests the internet through each adapter and, when the LAN fails or gets poor, makes Wi-Fi the preferred route, then switches back when the LAN recovers. This file is the full content of https://bilal-nasr.github.io/lan-wifi-manager/ and its guides, as plain Markdown. Last updated 2026-10-12, for version 2.3.0 on Windows, Ubuntu and macOS. ## At a glance | Fact | Value | | --- | --- | | Name | LAN Wi-Fi Manager | | What it does | Automatic Ethernet-to-Wi-Fi failover. It tests the internet through each adapter, makes Wi-Fi the preferred route when the LAN fails or gets poor, and switches back when the LAN recovers. Both adapters stay connected. | | When it helps | When the Wi-Fi has its own route to the internet: a phone hotspot, a second provider or a separate router. It doesn't combine the two connections. | | Systems | Windows 10 and 11. Ubuntu 24.04. macOS 13.6 or later as a preview, not yet tested on a real Mac. | | Price | Free for personal and work use. No ads, no paid tier, no account. | | Licence | Freeware, closed source. Please don't redistribute modified copies. | | Latest version | 2.3.0 for Windows, Ubuntu and macOS, released 2026-10-12. First public release: 1.5.0, 2026-09-25. | | Files | Windows: portable .exe, 1.1 MB, not code-signed. Ubuntu: .deb package, 7.2 MB. macOS: universal .dmg, 11.2 MB, not signed or notarized. | | Privacy | No telemetry. It contacts only your ping targets, your adapters' DNS servers, and the GitHub API to check for updates, which you can turn off. | | Developer | bilal-nasr, https://github.com/bilal-nasr. Questions and bug reports: https://github.com/bilal-nasr/lan-wifi-manager/issues | | Evidence | There are no ratings, reviews, user counts or press coverage yet. | ## The problem it solves Operating systems rank connections by their link, not by whether the internet behind them works. While the cable is plugged in and the Ethernet adapter has an address, Ethernet keeps the better priority, even if the router, the modem or the network behind the cable has stopped working. Windows may show "No internet" and still send traffic over Ethernet. Unplugging the cable makes the system fall back to Wi-Fi straight away; a cable that stays connected to a dead network often doesn't. LAN Wi-Fi Manager tests the internet through each adapter and moves the priority to Wi-Fi when the LAN stops answering. That helps when your Wi-Fi reaches the internet a different way, such as a phone hotspot, a second provider or a separate router. If both come from the same router and that router or the provider is down, there is nothing better to switch to. ## How it works - **It tests each link through its own adapter.** Every 30 seconds by default it sends 5 pings through the LAN adapter and 5 through the Wi-Fi adapter, to 8.8.8.8 or 1.1.1.1 (you can change the targets), and checks that DNS answers on each. - **It rates each link Good, Degraded or Down.** Down means no replies at all. Degraded means 50% packet loss or more, average latency above 500 ms, or DNS not answering. A jitter limit can be turned on too, and every limit can be changed. - **It switches only when that helps.** A dead LAN moves your traffic to Wi-Fi after 2 bad checks in a row. A poor LAN moves it only if the Wi-Fi is actually better. After 2 good LAN checks in a row it moves back. - **It changes priority, not connections.** Both adapters stay connected the whole time. The app only changes which one your system prefers, so the switch is instant, and it hands the priority back to the system when you quit. You can also pick Use LAN, Use Wi-Fi or Toggle by hand. With the default settings, a failover usually happens within about a minute of the LAN failing. Example timeline: the LAN stops replying at 2:00, the route moves to Wi-Fi at the second bad check (2:30), the LAN answers again at 4:00, and the route moves back after its second good check (4:30). ### What it changes on each system | System | How it switches | What you need | | --- | --- | --- | | Windows 10 and 11 | Sets the interface metric of the two adapters; quitting turns automatic metrics back on. | Administrator rights (the app asks when it starts). | | Ubuntu 24.04 | Lowers the Wi-Fi device's IPv4 route metric through NetworkManager (IPv6 is left alone). The change is temporary: a reboot undoes it. | Nothing extra. NetworkManager allows it for the signed-in user. | | macOS 13.6+ | Swaps the order of the Ethernet and Wi-Fi network services. | A small helper, installed once with an administrator password. | ## Other features - **Status tab:** a route map of the two connections. The thick line is the one carrying traffic, and every switch is marked where it happened. Latency, packet loss, jitter and DNS for both links, the mode (Auto failover, Use LAN, Use Wi-Fi), Toggle and Check now. - **Live speed in the taskbar:** download and upload speed next to the tray icons on Windows, and in the top bar on Ubuntu and macOS. - **Resources tab:** a CPU core strip and history, plus memory and swap, GPU, network and disk. Each opens a process list where you can end a task. - **Startup apps and Services:** see what starts when you sign in and turn it on or off, and start, stop or restart background services. Protected system services stay locked; on Windows, Store apps are managed by Windows. - **Manual modes:** Use LAN, Use Wi-Fi and Toggle, from the window or from the tray or top-bar icon. - **Runs in the background:** closes to the tray or top bar, starts at login if you want, notifies you when it switches, and keeps a daily log. - **Explains every switch:** the log tab lists each check that failed and why, for example packet loss or DNS not answering. - **Updates:** the Windows app updates itself. On Ubuntu and macOS it tells you when a new version is out and opens the download. You can turn update checks off. ## Download and install Version 2.3.0 for Windows, Ubuntu and macOS, released 2026-10-12. Free for personal and work use. Older versions and release notes: https://github.com/bilal-nasr/lan-wifi-manager/releases ### Windows 10 and 11 Portable, nothing to install. File: `LanWifiManager.exe`, 1.1 MB. Download: https://github.com/bilal-nasr/lan-wifi-manager/releases/download/v2.3.0/LanWifiManager.exe (always the newest: https://github.com/bilal-nasr/lan-wifi-manager/releases/latest/download/LanWifiManager.exe) 1. Run the file. It is a single portable program. 2. Allow administrator rights. Windows only lets admin programs change which connection it prefers. 3. If SmartScreen says "Windows protected your PC", choose More info, then Run anyway. Why the warning: the exe is not code-signed, so Windows doesn't recognise the publisher. To check the file, compare its hash in PowerShell with `Get-FileHash .\LanWifiManager.exe`. SHA-256: `fa9191ae6f56d038ee2368049e338accef0374c1df7a6d3da1d84f94e40a7ded` ### Ubuntu 24.04 64-bit .deb package. File: `LanWifiManager_2.3.0_amd64.deb`, 7.2 MB. Download: https://github.com/bilal-nasr/lan-wifi-manager/releases/download/v2.3.0/LanWifiManager_2.3.0_amd64.deb 1. In the folder you downloaded it to, install it: ``` sudo apt install ./LanWifiManager_2.3.0_amd64.deb ``` 2. Open LAN Wi-Fi Manager from the app list. Switching needs no password: NetworkManager allows it for the signed-in user. SHA-256: `2233ff002b2855210624c33d559e9f0f1a7ea455faa72247ba04527e613ad08d` ### macOS 13.6 or later (preview) Universal .dmg for Apple silicon and Intel. File: `LanWifiManager_2.3.0_universal.dmg`, 11.2 MB. **Preview: not yet tested on a real Mac.** Download: https://github.com/bilal-nasr/lan-wifi-manager/releases/download/v2.3.0/LanWifiManager_2.3.0_universal.dmg 1. Drag the app to Applications and open it. 2. When macOS says it could not verify the app, choose Done, then go to System Settings → Privacy & Security and choose Open Anyway. You need to do this again after each update. 3. Allow the one-time switching helper when the app asks. This needs an administrator account. Why the warning: the app is not signed or notarized by Apple. Monitoring and the speed display work without the helper; only switching needs it. Please report anything that doesn't work in an issue: https://github.com/bilal-nasr/lan-wifi-manager/issues SHA-256: `3949ab77d6d89a21b23f783da508a4336d1f4f5250e81a3a9d9643f65891a806` ### About the "Source code" downloads GitHub adds Source code (zip / tar.gz) links to every release. They contain the README, the screenshots and the website, not the app's source code, which isn't published. Download the file for your system instead. ## Compared with what you already have Your system can already prefer one connection over another. The gap is the moment the cable stays connected but the internet behind it stops working. | Option | What it does well | Where it falls short for this job | | --- | --- | --- | | Windows automatic metric | Prefers Ethernet while its link is up, and moves to Wi-Fi when the cable is unplugged or the link drops. | When the cable stays connected but the router, the modem or the network behind the cable stops working, Windows may keep sending traffic over Ethernet. It doesn't compare the quality of the two links. | | Setting metrics by hand | `Set-NetIPInterface`, or the adapter's IPv4 settings, makes the connection you choose the preferred one. | It is a fixed setting. It doesn't notice a failure and doesn't switch back when the LAN recovers. | | NetworkManager on Ubuntu | When its connectivity check is on, it can lower the priority of a device without internet, so the other one takes over. | The check runs every 5 minutes by default, is one web request, sees only "internet or not", and doesn't show which link carries traffic. | | macOS service order | Uses the first service in your list and falls back to the next one when the link drops. | When Ethernet keeps its address but the internet behind it is gone, people report the fallback is slow or doesn't happen. | | Dual-WAN router | Fails over for every device on the network, without software on each computer. | Costs a router and setup time, and both internet connections have to reach that router (wired, USB modem or Wi-Fi uplink, depending on the model). | | Speedify | A bonding VPN service (a free tier with a data cap, paid plans for regular use) that fails over smoothly on many platforms. | Your traffic goes through Speedify's servers, and regular use needs a paid plan. | | LAN Wi-Fi Manager | Tests both links through their own adapters, switches by route priority with both kept connected, and switches back. Free, no account, no proxy. | Only helps when the Wi-Fi has its own route to the internet (hotspot, second provider or separate router). One computer at a time. With default settings a switch takes up to about a minute. No bonding. Closed source and unsigned, and the macOS build is untested. | ## Privacy No telemetry, no accounts, no data collection. The app only connects to: - **Your ping targets**, 8.8.8.8 and 1.1.1.1 by default (you can change them), to test each connection. - **Your adapters' own DNS servers**, for the DNS check. - **The GitHub API**, to check for updates. You can turn this off in Settings. Settings and logs stay on your computer: `%AppData%\LanWifiManager` on Windows, `~/.config/LanWifiManager` on Ubuntu, and `~/Library/Application Support/LanWifiManager` on macOS. **Wi-Fi name on Windows.** Since Windows 11 24H2, reading the Wi-Fi network's name and signal counts as location access, so it appears as "Network Command Shell" under Privacy & security → Location. The app asks first, reads those details only while its window is open (plus once at startup and when reconnecting Wi-Fi), never reads GPS or coordinates, and sends nothing anywhere. You can change this in Settings → Adapters. **The macOS helper** can only swap the order of two network services. To remove it, use Settings → macOS → Remove, or run: ``` sudo rm -f /private/etc/sudoers.d/lanwifimanager /Library/PrivilegedHelperTools/lanwifi-helper ``` ## FAQ ### Can I use Ethernet and Wi-Fi at the same time? Yes. Windows, Ubuntu and macOS all let both connections stay connected at once. The system sends your traffic through the one with the better priority, which is normally Ethernet, and the other one waits. Being connected to both does not add their speeds together; that needs bonding software or a router built for it. ### Why does my computer keep using Ethernet when it has no internet? The system ranks connections by their link, not by whether the internet behind them works. While the cable is plugged in and the adapter has an address, Ethernet keeps the better priority, even if the router, the modem or the network behind the cable has stopped working. Windows may show "No internet" and still send traffic over Ethernet. LAN Wi-Fi Manager tests the internet through each adapter and moves the priority to Wi-Fi when the LAN stops answering. That helps when your Wi-Fi reaches the internet a different way, such as a phone hotspot, a second provider or a separate router. If both come from the same router and that router or the provider is down, there is nothing better to switch to. ### How quickly does it switch to Wi-Fi? Usually within about a minute of the LAN failing, with the default settings. It checks every 30 seconds and switches after 2 bad checks in a row. In Settings, Monitoring, you can check as often as every 5 seconds and switch after a single bad check. The switch itself is immediate, because the Wi-Fi is already connected. ### Does it switch back to Ethernet when the LAN works again? Yes. In Auto mode it moves back once the LAN has passed 2 good checks in a row (you can change the number), so a flaky cable does not make it bounce back and forth. When you quit, it hands the priority back to the system: on Windows it turns automatic metrics back on (so a metric you had set by hand is not kept), and on Ubuntu and macOS it restores the original order. That happens only while the setting to give the priority back on quit is on, which it is by default. ### Does it combine Ethernet and Wi-Fi for more speed? No. It is failover, not bonding. Your traffic goes through one connection at a time, and the app only decides which one. ### Do calls and downloads survive a switch? Not reliably. The app changes route priority only; it does not bond links, proxy or tunnel traffic. Connections that were open on the dead link usually have to reconnect; it doesn't keep sessions alive the way a bonding VPN can. ### What counts as a bad connection? A link is Down when none of its pings get a reply, and Degraded at 50% packet loss or more, average latency above 500 ms, or when DNS does not answer through it. A jitter limit can be turned on too. A Down LAN always leads to a switch. A Degraded LAN leads to a switch only when the Wi-Fi is Good. All of these limits can be changed in Settings. ### Why does Windows SmartScreen warn about it, and is it safe? SmartScreen shows "Windows protected your PC" because the exe is not code-signed, as it does for most new unsigned programs. Whether to trust it is your call: it is free but closed source, so you are trusting the author; there is no telemetry and it only contacts the addresses listed under Privacy. You can compare the file's SHA-256 hash with the one listed on the website. To run it, choose More info, then Run anyway. The app asks for administrator rights because changing which connection Windows prefers needs them. ### My Wi-Fi turns off when the cable is plugged in. Will it still work? Yes, but switching is instant only when the Wi-Fi is already connected. On Windows, if the Wi-Fi is disconnected when a switch is needed, the app first tries to connect it to your saved network (choose it in Settings, Adapters). Some Wi-Fi drivers have an option such as "Disable Upon Wired Connect", and the Windows policy "Minimize the number of simultaneous connections" can also keep Wi-Fi disconnected while Ethernet is up; turn those off if you can. ### Does it work on Ubuntu and macOS? Yes on Ubuntu 24.04; on macOS 13.6 or later it is a preview that has not yet been tested on a real Mac. Ubuntu gets a .deb package; it switches through NetworkManager and needs no password for the signed-in user. The macOS build is not signed or notarized, so macOS asks you to allow it under Privacy & Security, and switching needs a small helper that is installed once with an administrator password. ### Does it collect any data? No. There is no telemetry and no account. The app only contacts your ping targets (8.8.8.8 and 1.1.1.1 by default), your adapters' own DNS servers for the DNS check, and the GitHub API to look for updates, which you can turn off. Settings and logs stay on your computer. ### Is it free and open source? It is free, but not open source. You can use it at home or at work, with no ads or paid tier. The source code is not published, and the GitHub repository holds only the README, screenshots, this website and releases. ## Guide: Switch from Ethernet to Wi-Fi automatically on Windows 11 and 10 Source: https://bilal-nasr.github.io/lan-wifi-manager/guides/switch-ethernet-to-wifi-windows/ (last updated 2026-10-12) ### The short answer Windows has no built-in setting that says "use Wi-Fi when the Ethernet has no internet". It prefers Ethernet whenever the cable's link is up. You can make Wi-Fi preferred by changing the interface metric, but that is a fixed setting: it won't notice the next failure and won't switch back. To switch back and forth by itself, something has to test the internet through each adapter and change the metric for you. ### Why Windows stays on a cable with no internet Windows ranks connections by their link, not by whether the internet behind them works, so a cable that is still plugged in keeps winning. When more than one connection has a route to the internet, Windows sends traffic through the one with the lowest metric. By default the metric is automatic and based on link speed, so a wired adapter almost always gets a lower number than Wi-Fi, and Ethernet wins. If the cable is unplugged, or the link goes down, the Ethernet route disappears and Windows falls back to Wi-Fi straight away. But if the cable stays connected and the router, modem or provider is what stopped working, the Ethernet adapter still has its link and its address. People in this situation commonly report that Windows keeps sending traffic over the cable, or takes a long time to move. The "No internet" label in the taskbar comes from Windows' connectivity check. It tells you something is wrong; it is not a failover switch. ### See which connection Windows prefers The adapter with the lowest interface metric carries your traffic. In PowerShell: ``` Get-NetIPInterface -AddressFamily IPv4 | Sort-Object InterfaceMetric | Format-Table InterfaceAlias, InterfaceMetric, AutomaticMetric, ConnectionState ``` Note the exact names in `InterfaceAlias`, for example `Ethernet`, `Ethernet 2` or `Wi-Fi`. To see the default routes themselves: ``` Get-NetRoute -DestinationPrefix 0.0.0.0/0 ``` Windows adds the route's own metric (`RouteMetric`) to the adapter's metric (`ifMetric`). The route with the lowest total carries your traffic. ### Prefer Wi-Fi by hand Run PowerShell as administrator, then give Wi-Fi a low metric and Ethernet a high one. Replace the names with yours. ``` Set-NetIPInterface -InterfaceAlias "Wi-Fi" -AutomaticMetric Disabled -InterfaceMetric 5 Set-NetIPInterface -InterfaceAlias "Ethernet" -AutomaticMetric Disabled -InterfaceMetric 100 ``` The change takes effect immediately; nothing disconnects. Without `-AddressFamily`, the commands set both the IPv4 and the IPv6 metric. The same setting in the old Control Panel: 1. Press Win + R, type `ncpa.cpl` and press Enter. 2. Right-click the adapter, choose Properties, select Internet Protocol Version 4 (TCP/IPv4) and choose Properties. 3. Choose Advanced, untick Automatic metric and type a number in Interface metric. 4. Do the same for Internet Protocol Version 6 if your network uses IPv6. ### When the metric change seems to do nothing Usually something else outweighs the new metric: - **The route metric is added on top.** If one gateway's route has a much higher `RouteMetric`, a small interface metric difference isn't enough. Compare the totals from `Get-NetRoute`. - **IPv6 has its own metrics.** If you only changed IPv4 and the site is reached over IPv6, the old preference still applies there. - **The adapter reconnected.** When an adapter reconnects it gets a fresh default route, which can undo the order you set. Check again after a reconnect or a reboot. - **A VPN is running.** VPN adapters often add their own routes with very low metrics, and those win over both. ### Put it back Turn automatic metrics back on: ``` Set-NetIPInterface -InterfaceAlias "Wi-Fi" -AutomaticMetric Enabled Set-NetIPInterface -InterfaceAlias "Ethernet" -AutomaticMetric Enabled ``` ### Keep Wi-Fi connected while the cable is plugged in Two settings can keep Wi-Fi disconnected while Ethernet is up, and a backup only helps if it is ready: - **The Wi-Fi driver.** Some adapters have an option such as Disable Upon Wired Connect under Device Manager → the Wi-Fi adapter → Properties → Advanced. It turns Wi-Fi off whenever a cable is connected. - **Windows Connection Manager.** The policy "Minimize the number of simultaneous connections to the Internet or a Windows Domain" (Group Policy: Computer Configuration → Administrative Templates → Network → Windows Connection Manager) controls whether Windows keeps Wi-Fi connected next to Ethernet. ### What a manual fix can't do, and doing it automatically A metric set by hand can't notice a failure or switch back. People handle that with scheduled scripts that ping and rewrite the metrics, which works but takes care to get right (testing through each adapter separately, not flapping, restoring the original state). LAN Wi-Fi Manager does this job on Windows: - Every 30 seconds by default, it pings the internet through the Ethernet adapter and through the Wi-Fi adapter separately, and checks DNS on each. - After 2 bad LAN checks in a row it sets the metrics so Wi-Fi is preferred (the same `Set-NetIPInterface` change as above). A LAN that is only slow or lossy is left alone unless the Wi-Fi is actually better. - After 2 good LAN checks it moves back, and when you quit it turns automatic metrics back on (so a metric you had set by hand is not kept). - If the Wi-Fi is disconnected when it's needed, it first tries to connect it to your saved network. ## Guide: Ubuntu: use Wi-Fi when Ethernet has no internet Source: https://bilal-nasr.github.io/lan-wifi-manager/guides/ubuntu-ethernet-wifi-failover/ (last updated 2026-10-12) ### The short answer NetworkManager gives every connection a route metric, and the lowest one carries your traffic. Ethernet normally gets 100 and Wi-Fi 600, so Ethernet wins while its link is up. You can change the numbers with `nmcli`. NetworkManager's connectivity check, when it's on, can also push a connection without internet down the list, but it checks only every few minutes and only asks "internet or not". ### How Ubuntu picks a connection Ubuntu sends traffic through the default route with the lowest metric. To see the default routes: ``` ip route show default ``` With both connected you see two lines, for example: ``` default via 192.168.1.1 dev enp3s0 proto dhcp src 192.168.1.20 metric 100 default via 192.168.1.1 dev wlp2s0 proto dhcp src 192.168.1.21 metric 600 ``` `enp3s0` is the Ethernet device here and `wlp2s0` the Wi-Fi. To list your devices and connection names: ``` nmcli device status nmcli connection show --active ``` If the Ethernet cable is unplugged, its route goes away and Wi-Fi takes over at once. If the cable stays connected but the router or provider has stopped working, the Ethernet route stays, and with it the lower metric. ### Prefer Wi-Fi for now Give the Wi-Fi device a lower route metric than the Ethernet one. Traffic moves at once, and your saved settings stay as they are: ``` nmcli device modify wlp2s0 ipv4.route-metric 90 ``` This changes only the running device, IPv4 only. Nothing disconnects. To undo it, re-apply the saved profile (a reboot also undoes it): ``` nmcli device reapply wlp2s0 ``` Keep the number above 50 if you use a VPN, since NetworkManager commonly gives VPN routes a metric of 50. ### Change the order for good Set the metric in the saved profile and reconnect it. For example, to always prefer Ethernet with a fixed value: ``` nmcli connection modify "Wired connection 1" ipv4.route-metric 100 ipv6.route-metric 100 nmcli connection modify "MyWiFi" ipv4.route-metric 600 ipv6.route-metric 600 nmcli connection up "Wired connection 1" nmcli connection up "MyWiFi" ``` Use the names from `nmcli connection show`. A value of `-1` returns a profile to the default. This is a fixed order: it still won't react when the preferred connection loses its internet. ### NetworkManager's connectivity check It is a slow, basic failover: when the check is on and a device fails it, that device drops down the list. NetworkManager tests whether each device really reaches the internet by fetching a small web page. On Ubuntu desktop this is usually set up by a configuration file pointing at `connectivity-check.ubuntu.com`, and it can be switched off in Settings under privacy. To move a failing device down the list, NetworkManager can add a large penalty (20000) to that device's default-route metric, so the other device takes your traffic. To see what your system does: ``` # is the check turned on? (prints "b true" or "b false") busctl get-property org.freedesktop.NetworkManager \ /org/freedesktop/NetworkManager \ org.freedesktop.NetworkManager ConnectivityCheckEnabled # the result for each device: full, limited, portal, none or unknown nmcli -f DEVICE,IP4-CONNECTIVITY device status # where it is configured, and how often it runs grep -r -A4 "\[connectivity\]" /etc/NetworkManager /usr/lib/NetworkManager 2>/dev/null ``` Its limits for this job: - **It is slow.** Unless the configuration sets an `interval`, it checks every 300 seconds, so an outage can last minutes before anything changes. - **It is one request.** A single HTTP fetch to one address, from one place. - **It is yes or no.** A connection with heavy packet loss or very high latency still counts as working. - **It is quiet.** Nothing on screen tells you which connection is carrying your traffic or why it changed. You can lower the interval in a file under `/etc/NetworkManager/conf.d/` and restart NetworkManager. Test it by unplugging your router's internet cable rather than the computer's, since that is the case that matters. ### Scripts A script can do failover, but you write and maintain the logic yourself. A common answer on Ask Ubuntu is a NetworkManager dispatcher script in `/etc/NetworkManager/dispatcher.d/`, or a timer that pings and changes metrics. The logic has to ping through each device separately (`ping -I enp3s0 ...`), avoid switching back and forth on a single lost packet, and restore the original metrics afterwards. ### Do it automatically LAN Wi-Fi Manager tests both devices and changes the Wi-Fi route metric for you, then changes it back: - Every 30 seconds by default it pings the internet through the Ethernet device and through the Wi-Fi device separately, and checks DNS on each. - After 2 bad Ethernet checks it lowers the Wi-Fi device's route metric just below the Ethernet one with `nmcli device modify`, the temporary change shown above. Only the Wi-Fi device's IPv4 metric is changed (IPv6 is left alone, so on a dual-stack network IPv6 traffic can stay on Ethernet), and it stays above the VPN range. - It works alongside the connectivity check: it compares metrics without the check's penalty, and it won't move you to a Wi-Fi that NetworkManager reports has no internet. - After 2 good Ethernet checks it moves back. No password is needed: NetworkManager allows the change for the signed-in user. - A route map shows which line is carrying traffic and every switch, with latency, loss, jitter and DNS for both. ## Guide: Using Ethernet and Wi-Fi at the same time Source: https://bilal-nasr.github.io/lan-wifi-manager/guides/ethernet-and-wifi-at-the-same-time/ (last updated 2026-10-12) ### Can you use Ethernet and Wi-Fi at the same time? Yes. Windows, Ubuntu and macOS can all stay connected to a cable and to Wi-Fi at once. Your internet traffic goes through one of them, the one ranked first, and the other waits as a ready backup. Being connected to both does not double your speed. ### Which one your computer uses It uses the connection with the best route priority, which is normally Ethernet on all three systems: - **Windows** uses the metric: the lowest number wins. It's automatic by default and based on link speed, so a wired connection usually gets a lower number than Wi-Fi. - **Ubuntu** (NetworkManager) also uses a route metric: Ethernet gets 100 and Wi-Fi 600 by default. - **macOS** uses the service order in Network settings: the first connected service in the list is used. Traffic to devices on a local network can still go out through the adapter that is attached to that network, for example to reach a printer that's only on Wi-Fi. ### Do the speeds add up? No. A single download, a game or a video call uses one route at a time. Combining two connections into one faster link is called bonding or load balancing, and it needs either a router that does it or a service that tunnels your traffic through its own servers. Windows, Ubuntu and macOS don't set this up for you out of the box. ### Is it worth keeping both connected? Usually yes, if your Wi-Fi can reach the internet in a different way than your cable (a phone hotspot, a second provider, a separate access point) or if you just want a backup that is already connected. The cost is small: the Wi-Fi adapter stays on and keeps its address. What it won't do by itself is switch when the cable is still plugged in but its internet has stopped. ### Prioritize Ethernet over Wi-Fi on Windows 11 and 10 Windows already prefers Ethernet unless someone changed the metrics. To check, in PowerShell: ``` Get-NetIPInterface -AddressFamily IPv4 | Sort-Object InterfaceMetric | Format-Table InterfaceAlias, InterfaceMetric, AutomaticMetric ``` If Wi-Fi is on top, use one of these in PowerShell as administrator, with your own adapter names. To let Windows rank them again: ``` Set-NetIPInterface -InterfaceAlias "Ethernet" -AutomaticMetric Enabled Set-NetIPInterface -InterfaceAlias "Wi-Fi" -AutomaticMetric Enabled ``` Or to fix the order yourself (the lower number wins): ``` Set-NetIPInterface -InterfaceAlias "Ethernet" -AutomaticMetric Disabled -InterfaceMetric 5 Set-NetIPInterface -InterfaceAlias "Wi-Fi" -AutomaticMetric Disabled -InterfaceMetric 100 ``` The Settings app has no metric option; the graphical way is `ncpa.cpl` → adapter Properties → Internet Protocol Version 4 → Properties → Advanced → Interface metric. ### Prioritize Ethernet over Wi-Fi on Ubuntu Give the Ethernet profile a lower route metric than the Wi-Fi profile; the lower number wins. Check the current routes with `ip route show default`. To fix the order in the saved profiles (use names from `nmcli connection show`): ``` nmcli connection modify "Wired connection 1" ipv4.route-metric 100 nmcli connection modify "MyWiFi" ipv4.route-metric 600 nmcli connection up "Wired connection 1" ``` ### Prioritize Ethernet over Wi-Fi on a Mac Move Ethernet above Wi-Fi in the network service order. In System Settings: 1. Open System Settings → Network. 2. Below the list of services, open the … (action) menu and choose Set Service Order. 3. Drag your Ethernet service above Wi-Fi and choose OK. In Terminal you can see the order with `networksetup -listnetworkserviceorder` and set it with `sudo networksetup -ordernetworkservices`, which needs every service name in the new order, exactly as the list shows them. An Ethernet adapter may appear under its own name, such as a USB LAN adapter. macOS falls back to the next service when the first one's link goes down. If the Ethernet keeps its address but the internet behind it is gone, people report that the fallback is slow or doesn't happen. ### When the first one fails but stays connected Usually nothing changes on its own, because the cable's link is still up; Ubuntu's connectivity check is a partial exception. All three systems handle an unplugged cable well. Fixing the hard case needs something that tests the internet through each connection and changes the order when the first one stops answering, then changes it back. LAN Wi-Fi Manager does that on Windows, Ubuntu and macOS (macOS as an untested preview). It keeps both connections up, pings through each adapter every 30 seconds by default, moves your traffic to Wi-Fi after 2 bad checks of the LAN, and moves it back after 2 good ones. It changes the same settings described above: the interface metric on Windows, the route metric on Ubuntu and the service order on macOS. ## Licence Freeware. You may use it for free, personally or at work. The source code isn't public. Please don't redistribute modified copies. © 2026 bilal-nasr. Not affiliated with Microsoft, Canonical or Apple. The website and the app use the Overpass font, © 2021 The Overpass Project Authors, under the SIL Open Font License 1.1. ## Links - Website: https://bilal-nasr.github.io/lan-wifi-manager/ - Short index for AI tools: https://bilal-nasr.github.io/lan-wifi-manager/llms.txt - GitHub repository (README, screenshots, releases): https://github.com/bilal-nasr/lan-wifi-manager - Latest release: https://github.com/bilal-nasr/lan-wifi-manager/releases/latest - Issues: https://github.com/bilal-nasr/lan-wifi-manager/issues - Developer: https://github.com/bilal-nasr