Librem 5 hotspot not working

Some articles seem to say it works. Others say it is a work in progress. Doesn’t work for me.

The Librem 5 disconnects from the WiFi and shows an icon saying it is connected to “pureos”. This looks reasonable.

Neither desktop nor phone using the QR connect. On the desktop I just keep getting the password request. Tried turning it off and on and changing the password several times and I get the same results.

I don’t have any solution. Just wanted to say, it works for me perfectly. Never had any issues.

Maybe try getting logs from NetworkManager on the phone: sudo journalctl -u NetworkManager -e

1 Like

I was hoping to hear that this didn’t work for anybody. Oh well, the command line for the logs is certainly useful.

This is the last hundred lines. Sorry for the length but I don’t know what the start of the hotspot setup process looks like exactly.

Dec 24 21:49:32 pureos NetworkManager[583]: [1671936572.6198] device (wlan0): Activation: starting connection ‘Hotspot’ (3195b551-4645-4175-9bda-0f57aa7093d1)
Dec 24 21:49:32 pureos NetworkManager[583]: [1671936572.6261] device (wlan0): supplicant interface state: disconnected -> interface_disabled
Dec 24 21:49:32 pureos NetworkManager[583]: [1671936572.6262] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> interface_disabled
Dec 24 21:49:32 pureos NetworkManager[583]: [1671936572.6264] device (wlan0): supplicant interface state: interface_disabled -> disconnected
Dec 24 21:49:32 pureos NetworkManager[583]: [1671936572.6265] device (p2p-dev-wlan0): supplicant management interface state: interface_disabled -> disconnected
Dec 24 21:49:32 pureos NetworkManager[583]: [1671936572.6296] device (wlan0): state change: disconnected -> prepare (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.1705] device (wlan0): set-hw-addr: reset MAC address to 00:0E:8E:A3:30:14 (preserve)
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.1745] device (wlan0): state change: prepare -> config (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.1757] device (wlan0): Activation: (wifi) access point ‘Hotspot’ has security, but secrets are required.
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.1763] device (wlan0): state change: config -> need-auth (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2446] device (wlan0): state change: need-auth -> prepare (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2489] device (wlan0): state change: prepare -> config (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2502] device (wlan0): Activation: (wifi) connection ‘Hotspot’ has security, and secrets exist. No new secrets needed.
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2507] Config: added ‘ssid’ value ‘pureos’
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2508] Config: added ‘mode’ value ‘2’
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2508] Config: added ‘frequency’ value ‘2412’
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2509] Config: added ‘key_mgmt’ value ‘WPA-PSK WPA-PSK-SHA256 FT-PSK’
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2509] Config: added ‘psk’ value ‘’
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2509] Config: added ‘proto’ value ‘RSN’
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2510] Config: added ‘pairwise’ value ‘CCMP’
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.2510] Config: added ‘group’ value ‘CCMP’
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.4836] device (wlan0): supplicant interface state: disconnected -> completed
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.4838] device (wlan0): Activation: (wifi) Stage 2 of 5 (Device Configure) successful. Started Wi-Fi Hotspot “pureos”
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.4839] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> completed
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.4843] device (wlan0): state change: config -> ip-config (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6100] Executing: /usr/sbin/iptables --table filter --insert INPUT --in-interface wlan0 --protocol tcp --destination-port 53 --jump ACCEPT
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6189] Executing: /usr/sbin/iptables --table filter --insert INPUT --in-interface wlan0 --protocol udp --destination-port 53 --jump ACCEPT
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6286] Executing: /usr/sbin/iptables --table filter --insert INPUT --in-interface wlan0 --protocol tcp --destination-port 67 --jump ACCEPT
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6407] Executing: /usr/sbin/iptables --table filter --insert INPUT --in-interface wlan0 --protocol udp --destination-port 67 --jump ACCEPT
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6502] Executing: /usr/sbin/iptables --table filter --insert FORWARD --in-interface wlan0 --jump REJECT
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6614] Executing: /usr/sbin/iptables --table filter --insert FORWARD --out-interface wlan0 --jump REJECT
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6695] Executing: /usr/sbin/iptables --table filter --insert FORWARD --in-interface wlan0 --out-interface wlan0 --jump ACCEPT
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6777] Executing: /usr/sbin/iptables --table filter --insert FORWARD --source 10.42.0.0/255.255.255.0 --in-interface wlan0 --jump ACCEPT
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6886] Executing: /usr/sbin/iptables --table filter --insert FORWARD --destination 10.42.0.0/255.255.255.0 --out-interface wlan0 --match state --state ESTABLISHED,RELATED --jump ACCEPT
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.6974] Executing: /usr/sbin/iptables --table nat --insert POSTROUTING --source 10.42.0.0/255.255.255.0 ! --destination 10.42.0.0/255.255.255.0 --jump MASQUERADE
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.7081] dnsmasq-manager: starting dnsmasq…
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.7159] device (wlan0): state change: ip-config -> ip-check (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:49:33 pureos dnsmasq[7979]: started, version 2.85 cachesize 150
Dec 24 21:49:33 pureos dnsmasq[7979]: compile time options: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset auth cryptohash DNSSEC loop-detect inotify dumpfile
Dec 24 21:49:33 pureos dnsmasq[7979]: chown of PID file /run/nm-dnsmasq-wlan0.pid failed: Operation not permitted
Dec 24 21:49:33 pureos dnsmasq-dhcp[7979]: DHCP, IP range 10.42.0.10 – 10.42.0.254, lease time 1h
Dec 24 21:49:33 pureos dnsmasq[7979]: no servers found in /etc/resolv.conf, will retry
Dec 24 21:49:33 pureos dnsmasq[7979]: cleared cache
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.7442] device (wlan0): state change: ip-check -> secondaries (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.7463] device (wlan0): state change: secondaries -> activated (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:49:33 pureos NetworkManager[583]: [1671936573.7555] device (wlan0): Activation: successful, device activated.
Dec 24 21:51:42 pureos NetworkManager[583]: [1671936702.7509] modem-broadband[cdc-wdm0]: failed to connect modem: Network timeout
Dec 24 21:51:42 pureos NetworkManager[583]: [1671936702.7511] device (cdc-wdm0): state change: prepare -> failed (reason ‘gsm-registration-timeout’, sys-iface-state: ‘managed’)
Dec 24 21:51:42 pureos NetworkManager[583]: [1671936702.7535] manager: NetworkManager state is now CONNECTED_LOCAL
Dec 24 21:51:42 pureos NetworkManager[583]: [1671936702.7587] device (cdc-wdm0): Activation: failed for connection ‘TMO Data’
Dec 24 21:51:42 pureos NetworkManager[583]: [1671936702.7602] device (cdc-wdm0): state change: failed -> disconnected (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:51:42 pureos NetworkManager[583]: [1671936702.7648] policy: auto-activating connection ‘TMO Data’ (fdde87c1-b0f8-4f63-ab27-e56f91ea09fa)
Dec 24 21:51:42 pureos NetworkManager[583]: [1671936702.7680] device (cdc-wdm0): Activation: starting connection ‘TMO Data’ (fdde87c1-b0f8-4f63-ab27-e56f91ea09fa)
Dec 24 21:51:42 pureos NetworkManager[583]: [1671936702.7685] device (cdc-wdm0): state change: disconnected -> prepare (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:51:42 pureos NetworkManager[583]: [1671936702.7704] manager: NetworkManager state is now CONNECTING
Dec 24 21:52:32 pureos NetworkManager[583]: [1671936752.3551] device (enx4ce1734f18c9): state change: unavailable -> unmanaged (reason ‘removed’, sys-iface-state: ‘removed’)
Dec 24 21:52:49 pureos NetworkManager[583]: [1671936769.0756] manager: (eth0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/12)
Dec 24 21:52:49 pureos NetworkManager[583]: [1671936769.1616] device (eth0): interface index 8 renamed iface from ‘eth0’ to ‘enx4ce1734f18c9’
Dec 24 21:52:49 pureos NetworkManager[583]: [1671936769.2069] device (enx4ce1734f18c9): state change: unmanaged -> unavailable (reason ‘managed’, sys-iface-state: ‘external’)
Dec 24 21:52:49 pureos NetworkManager[583]: [1671936769.2411] settings: (enx4ce1734f18c9): created default wired connection ‘Wired connection 2’
Dec 24 21:54:49 pureos NetworkManager[583]: [1671936889.7498] modem-broadband[cdc-wdm0]: failed to connect modem: Network timeout
Dec 24 21:54:49 pureos NetworkManager[583]: [1671936889.7499] device (cdc-wdm0): state change: prepare -> failed (reason ‘gsm-registration-timeout’, sys-iface-state: ‘managed’)
Dec 24 21:54:49 pureos NetworkManager[583]: [1671936889.7527] manager: NetworkManager state is now CONNECTED_LOCAL
Dec 24 21:54:49 pureos NetworkManager[583]: [1671936889.7571] device (cdc-wdm0): Activation: failed for connection ‘TMO Data’
Dec 24 21:54:49 pureos NetworkManager[583]: [1671936889.7600] device (cdc-wdm0): state change: failed -> disconnected (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:54:49 pureos NetworkManager[583]: [1671936889.7631] policy: auto-activating connection ‘TMO Data’ (fdde87c1-b0f8-4f63-ab27-e56f91ea09fa)
Dec 24 21:54:49 pureos NetworkManager[583]: [1671936889.7664] device (cdc-wdm0): Activation: starting connection ‘TMO Data’ (fdde87c1-b0f8-4f63-ab27-e56f91ea09fa)
Dec 24 21:54:49 pureos NetworkManager[583]: [1671936889.7677] device (cdc-wdm0): state change: disconnected -> prepare (reason ‘none’, sys-iface-state: ‘managed’)
Dec 24 21:54:49 pureos NetworkManager[583]: [1671936889.7695] manager: NetworkManager state is now CONNECTING
Dec 24 21:57:56 pureos NetworkManager[583]: [1671937076.7466] modem-broadband[cdc-wdm0]: failed to connect modem: Network timeout
Dec 24 21:57:56 pureos NetworkManager[583]: [1671937076.7467] device (cdc-wdm0): state change: prepare -> failed (reason ‘gsm-registration-timeout’, sys-iface-state: ‘managed’)
Dec 24 21:57:56 pureos NetworkManager[583]: [1671937076.7480] manager: NetworkManager state is now CONNECTED_LOCAL
Dec 24 21:57:56 pureos NetworkManager[583]: [1671937076.7510] device (cdc-wdm0): Activation: failed for connection ‘TMO Data’
Dec 24 21:57:56 pureos NetworkManager[583]: [1671937076.7521] device (cdc-wdm0): state change: failed -> disconnected (reason ‘none’, sys-iface-state: ‘managed’)

Worked for me.

To clarify what is meant by that: The Librem 5 is going to set itself up as a hotspot (be a hotspot) and another device (e.g. a laptop or desktop or theoretically e.g. another phone - anything with WiFi) could connect to the Librem 5 via WiFi and then the other device will (share/) use the Librem 5’s cellular modem connection to access the internet.

(Therefore you might want to switch off the WiFi for the moment on the Librem 5 and just confirm that you have a working cellular connection. Once this is verified …)

The Librem 5 should be advertising an SSID (that you may have been prompted for?) and that SSID should be visible on any WiFi client device even if the device can’t successfully connect (join).

To be honest, I probably didn’t try to configure this via the QR code because my Linux computer doesn’t have a web cam. That is, the QR code is only useful if the WiFi client device has a camera of some sort and knows how to interpret the QR code. So realistically the QR code is only useful if the WiFi client device is a smartphone.

For clarity … this is all quite different from a Librem 5 using a hotspot, which also should work - but in that case it is no different from the Librem 5 connecting to any other WiFi Access Point.

Uh yeah, that is what I expect the Librem 5 hotspot to do.

I took the meter showing cell signal strength at several bars to mean it had a connection. Certainly when I checked I could access the internet with the WiFi hard switch thrown to off the WiFi icon went, the signal meter remained, and I had internet.

Yes, the SSID shows up on all devices.

Let me see if I can post the photo I took.

Perhaps someone else can parse the log you suggested I pull up and see if it is meaningful. I have no idea what to look for.

You realise that you just posted your hotspot password? So you would be changing it later on?

For the record, I can scan that QR code and get the following info:

WIFI:S:pureos;T:WPA;P:fjSG6EFE;;

which looks OK (SSID is pureos, security type is WPA and the password is fjSG6EFE).

So that photo is somehow of the screen of the Librem 5 but on a monitor?

I didn’t request that log but the WiFi side of it looks more or less as expected - while the cellular modem appears to have a problem.

Yes, I did plan to change it just for forms sake. No likely to be anyone in range where I live, but it’s best to do so.

The dock device I bought works well enough. No problems first try, but some weirdness the next time I used it that I figured out how to fix. I was getting black regions but found if I mouse over them it causes the monitor or Librem 5 to figure out I need the whole screen.

Good of you to look at the log.

Same for me. I use it very often to provide internet access to my Android phone that I still have to carry with me for navigation.

Activation: failed for connection ‘TMO Data’

Perhaps your network provider does not allow hotspot/sharing data connection?

1 Like

I have an AweSIM put in my Librem 5 before it was sent to me. Do those not allow this?

Avoiding that kind of control over my device by a service provider is one of the main reasons I am interested in the Librem 5. I would think that circumventing that kind of control with the Librem 5 would be very simple?

At least it should be possible to create the Wi-Fi hotspot with the Librem 5, then SSH into the Librem 5 with another device that is connected to the hotspot, then use a proxy through the SSH connection to connect to the web?

Something like this, perhaps: https://www.systutorials.com/proxy-using-ssh-tunnel/

Maybe so - but a first step might still be to ask the provider whether they allow it.

In this case also a first first step might be to confirm that the APN is even correct.

1 Like

It seems I have some newer hardware in my Librem 5 that is not behaving as expected.

One of the lads on their team has been assigned to check it out after I sent Purism tech support another log they requested and someone looked it over.

Thanks for the suggestions.

1 Like

In case anyone is curious, I am successfully using the hotspot on mobile linux via SSH and socks5 proxy. It is easier than I was expecting. I just followed this guide ( https://linuxize.com/post/how-to-setup-ssh-socks-tunnel-for-private-browsing/ ), set AllowTcpForwarding to yes, as this answer suggests (https://unix.stackexchange.com/a/58756 ), and it worked! No more worrying about whether your service provider feels like giving you IPv6 addresses. :partying_face:

(btw, this is on pinephone. for those with Librem 5 and nice service providers who offer unlimited hotspot data, this likely is not a concern for you).

Please follow the issue here - seems like @dos and @angus.ainslie already made some progress.

You could try the proposed solution by downloading the resulting packages here.

You’d need to look at your system which of the packages need to be installed and take care yourself that once the final packages arrive in the repos they’d be installed in case the update process does not do this automatically.

2 Likes

Has there been a hardware change in recent Librem 5’s? I would like to know more about this.