bluerobotics / bluerobotics/BlueOS

bug: Hotspot on 5 GHz cannot be joined (it copies the last WiFi channel)

Open
#4,413 0 comments 0 reactions 0 assignees View on GitHub
bug core
Dominant language
Vue
Stars
453
Forks
151
Avg merge
1d 3h
Merged PRs (30d)
174

Description

## Pain

The BlueOS hotspot shows up in the WiFi list, but **phones and laptops cannot join it**.

The password is the default (`blueosap`). This is not a wrong-password problem. The join fails earlier, during association. The phone just says "connection failed". A laptop says the network disappeared / association timed out.

If ethernet is also down, you have **no way in**. The hotspot looks like a recovery path, but it does not work.

## Why it is 5 GHz

On Raspberry Pi OS Bullseye, the hotspot uses **the same channel as `wlan0`** (the last / current WiFi channel).

If `wlan0` was last on 5 GHz (even if it is not connected now), hostapd starts in 5 GHz (`hw_mode=a`). There is no "always use 2.4 GHz" fallback.

Related wish (band picker): https://github.com/bluerobotics/BlueOS/issues/1735
This issue is different: the hotspot **does start** on 5 GHz, but **clients cannot join**.

## Seen on

| | |
|---|---|
| Board | Raspberry Pi 4 Model B Rev 1.2 |
| WiFi chip | BCM43455 (`brcmfmac`) |
| OS | Raspberry Pi OS **Bullseye** (32-bit) |
| BlueOS | `1.4-dev` |
| WiFi stack | `wpa_supplicant` + `hostapd` on virtual `uap0` (not NetworkManager / `create_ap`) |

SSID: `BlueOS (25cfe9)`
hostapd was: **channel 36**, **5180 MHz**, `hw_mode=a`, `wpa_pairwise=TKIP`, `rsn_pairwise=CCMP`.

Same default password **did** work on a Pi 5 Bookworm hotspot that was on **2.4 GHz** (channel 9).

## How to reproduce

1. Use a Pi 4 on Bullseye, BlueOS hotspot enabled (default password).
2. Let `wlan0` sit on a 5 GHz channel (scan, or a previous 5 GHz client connection). You do not need to stay connected.
3. Start / restart the hotspot.
4. On a phone or laptop, look for `BlueOS (xxxxxx)` — it should show as 5 GHz.
5. Try to join with `blueosap`.

**Expected:** you join, get `192.168.42.x`, open `http://192.168.42.1`.

**Actual:** SSID is visible. Join fails on phone and laptop. Ethernet (if it is also broken) cannot save you.

## Notes

- `wlan0` can be disconnected (`NO-CARRIER`) and still report channel 36. The hotspot still copies that channel.
- 5 GHz AP on this Pi 4 chip + `uap0`, together with TKIP in the WPA2 config, is a bad mix for modern phones.
- Please keep the hotspot on **2.4 GHz** unless the user picks 5 GHz and we know clients can join.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the hotspot startup and channel-selection entry points for wpa_supplicant, hostapd, and virtual uap0 on Raspberry Pi OS Bullseye. Reproduce with a Pi 4 whose wlan0 reports a 5 GHz channel, then verify that the default hotspot stays on 2.4 GHz and clients can associate, obtain a 192.168.42.x address, and open 192.168.42.1.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, raspberry-pi
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.