I have a fresh Ubuntu 24.04.4 with a USB Wifi dongle from BrosTrend (AC1L), the most Linux friendly I can find. This is a minimal desktop version, but I initially turned off X/GNOME as it was mainly to be used via SSH.
I did a typical setup to create the hotspot via nmcli. The details you see for which are on Stackoverflow.
To make a long story short, the wifi SSID keeps disappearing and when it does it takes the internet with it from the AP/Wifi.
The box should provide an AP via the USB Wifi dongle and then internet via its Ethernet, and it does but only for a short time.
/etc/NetworkManager/system-connections/hotspot.nmconnection
[connection]
id=hotspot
uuid=b176bbf9-8a39-497a-9f74-21a2971af14e
type=wifi
interface-name=wlx347de4403656
timestamp=1717439701
[wifi]
band=bg
mode=ap
ssid=fdiot
[wifi-security]
group=ccmp;
key-mgmt=wpa-psk
pairwise=ccmp;
pmf=1
proto=rsn;
psk=AfunPasswordForAll
[ipv4]
method=shared
[ipv6]
addr-gen-mode=stable-privacy
method=disabled
[proxy]
After tearing my hear out I decided to try with GNOME active and active the hotspot via the GUI. This seems to stay up longer and not take down the internet when it stops broadcasting the SSID. As long as you have connected your device it's OK, but no one else can connect after it stops the SSID broadcast.
Interestingly when I connect my Android phone and my laptop if do a ping to google.com it is very intermittent. Some get through, then it is unreachable, then it resumes.
Running ss -tulpn | egrep ":53|:67"
everything looks good.
ss -tulpn | egrep ":53|:67"
udp UNCONN 0 0 0.0.0.0:53353 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:*
udp UNCONN 0 0 10.42.0.1:53 0.0.0.0:*
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:67 0.0.0.0:*
udp UNCONN 0 0 [::]:5353 [::]:*
tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
tcp LISTEN 0 32 10.42.0.1:53 0.0.0.0:*
Running sudo nft list ruleset
everything looks good too.
[sudo] password for data:
table ip nm-shared-wlx347de4403656 {
chain nat_postrouting {
type nat hook postrouting priority srcnat; policy accept;
ip saddr 10.42.0.0/24 ip daddr != 10.42.0.0/24 masquerade
}
chain filter_forward {
type filter hook forward priority filter; policy accept;
ip daddr 10.42.0.0/24 oifname "wlx347de4403656" ct state { established, related } accept
ip saddr 10.42.0.0/24 iifname "wlx347de4403656" accept
iifname "wlx347de4403656" oifname "wlx347de4403656" accept
iifname "wlx347de4403656" reject
oifname "wlx347de4403656" reject
}
}
In short it looks like the hotspot in Ubuntu might have a bug somewhere, but I have no idea where.