Fix Bookworm image: build, USB WiFi dongle, hotspot client compatibility, and camera detection - #5
Open
mrribbits wants to merge 12 commits into
Conversation
Refactor apt-get commands to use Dpkg options for upgrades.
Refactor install script to improve non-interactive apt handling and streamline installation process.
Patched apt upgrade command in CustomPiOS to be non-interactive during build.
Updated install.sh to clarify upgrade process and avoid kernel issues.
Removed non-interactive upgrade patching step for CustomPiOS.
Add a newline at the end of the build-image.yml file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This community edition doesn't currently build or run correctly on a modern
Raspberry Pi OS Bookworm base with a Pi Zero + USB WiFi dongle. This PR fixes it
end to end. Each change is independent.
1. Image build no longer hangs (install.sh, os/config)
On the current pinned base image the full
apt-get upgradehits an interactivedpkg conffile prompt and then hangs forever regenerating the arm64 (v8) initramfs
under 32-bit armhf QEMU. Fix: skip the full upgrade (ADMIN_TOOLKIT_UPDATE_PACKAGES=no
and remove the upgrade/dist-upgrade calls in install.sh; make apt non-interactive).
The base kernel runs the camera fine and needed packages are installed explicitly.
2. USB WiFi dongle support (helpers/cfgsetup.py)
The hotspot script assumed the wireless interface always exists and is named
wlan0. On a Pi using a USB dongle (e.g. a Pi Zero with no onboard WiFi) theadapter enumerates a few seconds later and may get a different name, so the
hotspot never came up. Fix: wait for a wireless interface to appear and
auto-detect its name.
3. Hotspot joinable by modern clients (helpers/cfgsetup.py)
NetworkManager 1.42 brings the hotspot up in WPA2/WPA3 "transition mode"
(key_mgmt "WPA-PSK WPA-PSK-SHA256 SAE"). Many USB WiFi drivers can't do WPA3/PMF
properly in AP mode, so the network is invisible on some phones and fails the
handshake on others (reported as a wrong password). Fix: force plain WPA2-PSK and
disable PMF.
4. Camera actually detected on Bookworm (install.sh)
The bundled
raspicammodule sets the LEGACY camera stack (start_x=1,camera_auto_detect=0), but this image uses picamera2/libcamera, so the camera is
never detected. Also, the base image can ship a libcamera0.3 that mismatches
libpisp, crashing rpicam/picamera2 with an undefined-symbol error. Fix: switch to
libcamera auto-detection (start_x=0, camera_auto_detect=1) and sync the libcamera
libraries to matching versions.
Tested on a Pi Zero (v1.3) with a USB WiFi dongle (Panda PAU05 ) and a Camera Module 3 (imx708):
image builds, hotspot is joinable from macOS/iOS, and the camera streams.