Skip to content

Commit 1e15ea2

Browse files
committed
docs: clarify v2.3 beta feature availability
1 parent 18365b2 commit 1e15ea2

2 files changed

Lines changed: 73 additions & 50 deletions

File tree

README.md

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ getting it right on Linux / SteamOS (Bazzite).
2424

2525
## Core Features
2626

27+
> **v2.3 beta availability:** Features labeled **v2.3 beta** below are currently
28+
> available only in the latest pre-release. Download it from
29+
> [Releases](../../releases), or enable **Include pre-releases** on the config
30+
> page's Update tab before installing over WiFi. The **BETA** label on the
31+
> existing multi-controller and OTA features describes their maturity; both
32+
> are also included in the stable v2.2.1 release.
33+
2734
- 🎮 **Full wireless controller emulation** — DualSense Bluetooth reports → standard
2835
USB HID gamepad at up to 1000 Hz. Supports DualSense (DS5) and DualSense Edge
2936
(DSE), including DSE PS-app profiles.
@@ -32,40 +39,40 @@ getting it right on Linux / SteamOS (Bazzite).
3239
by default (a web-page toggle enables it; the default behavior is unchanged
3340
single-controller). Audio and HD haptics are single-controller features (not
3441
enough Bluetooth airtime beside a second pad); classic rumble and adaptive
35-
triggers work for everyone. *Currently only in pre-release builds — grab the
36-
latest pre-release from [Releases](../../releases).* See the
42+
triggers work for everyone. **v2.3 beta:** a config-page action can power off
43+
all connected pads without forgetting their pairings. See the
3744
[user guide](docs/USER_GUIDE.md#using-multiple-controllers-at-once).
3845
- 📳 **Wireless HD haptics** — recreates the cabled audio-based haptic feedback over
3946
Bluetooth, streaming the dedicated haptic waveforms to the controller's
4047
voice-coil actuators. Compatibility mirrors the wired experience.
4148
- 🔊 **Wireless audio (speaker + mic)** — speaker/headphone playback and microphone
4249
upload over standard USB Audio Class — full quality, no Bluetooth headset-profile
43-
(HSP) downgrade. Controller microphone upload is disabled while no host
44-
application has the microphone stream open.
45-
- 🔇 **Layered hardware mic mute** — driverless local mute via the physical Mute
46-
button and host sound-panel mute remain independent, so releasing either
47-
cannot override the other. The orange LED follows the effective mute state,
48-
while active host drivers (e.g. Linux `hid-playstation`) retain ownership.
49-
- 🌐 **Web config over WPA2 or WPA3 WiFi + bond management** — the adapter joins
50+
(HSP) downgrade. **v2.3 beta:** controller microphone upload is disabled while
51+
no host application has the microphone stream open.
52+
- 🔇 **Layered hardware mic mute — v2.3 BETA** — driverless local mute via the
53+
physical Mute button and host sound-panel mute remain independent, so
54+
releasing either cannot override the other. The orange LED follows the
55+
effective mute state, while active host drivers (e.g. Linux
56+
`hid-playstation`) retain ownership.
57+
- 🌐 **Web config over WiFi + bond management** — the adapter joins
5058
your home WiFi and hosts its own configuration page at **http://ds5.local/**
5159
(no app, no WebHID, any browser). First-run setup is a phone-friendly captive
52-
portal with explicit WPA3-only hotspot/network support.
53-
Adjust settings and manage remembered controllers, connected or not. If the
54-
saved network is unavailable, gameplay continues offline while WiFi retries.
55-
Three consecutive authentication failures reopen onboarding automatically;
56-
for other failures, power controllers off and click BOOTSEL three times to
57-
reopen it without erasing the old network.
60+
portal. Adjust settings and manage remembered controllers, connected or not.
61+
- 📶 **WPA3 and resilient WiFi recovery — v2.3 BETA** — onboarding supports an
62+
explicit WPA3-only choice. If the saved network is unavailable, gameplay
63+
continues offline while WiFi retries. Three consecutive authentication
64+
failures reopen onboarding automatically; for other failures, power
65+
controllers off and click BOOTSEL three times to reopen it without erasing
66+
the old network.
5867
- 🎮 **Decky Loader companion plugin** — a [Decky Loader plugin](https://github.com/kungaa/DS5-Linux-Decky)
5968
surfaces controller status and settings in the Quick Access Menu, talking to
6069
the same on-device API as the web page.
6170
- ⬆️ **Over-the-air updates — BETA** — one click on the config page installs the
6271
latest GitHub release over HTTPS (pinned CA roots, SHA-256-verified against
6372
the release manifest) with no PC involved. The download is staged in spare
6473
flash, so a failed/interrupted download changes nothing. Pico 2 W and
65-
Waveshare boards; the Pico W's 2 MB flash is too small. *Currently only in
66-
pre-release builds — grab the latest pre-release from
67-
[Releases](../../releases) and tick "include pre-releases" in the Update
68-
tab.* See the [user guide](docs/USER_GUIDE.md#updating-over-wifi-ota).
74+
Waveshare boards; the Pico W's 2 MB flash is too small. See the
75+
[user guide](docs/USER_GUIDE.md#updating-over-wifi-ota).
6976
- 🖥️ **Wake-on-LAN** — press the controller's PS button to wake a sleeping or
7077
fully-off PC (even S4/S5) by sending a magic packet over WiFi. Wakes up to two
7178
targets (e.g. your PC and a TV), with a one-click "Find MAC" helper.
@@ -79,8 +86,8 @@ getting it right on Linux / SteamOS (Bazzite).
7986
- 📡 **USB 3.0 RF-noise watchdog** — auto-retries Bluetooth connections stalled by
8087
2.4 GHz interference from USB 3.0 ports (USB 2.0 ports recommended).
8188
- 🚨 **Visual notifications** — POST LED pattern, solid LED on a live link, a
82-
once-per-second low-battery blink (≤10%), and a continuous 2 Hz blink during
83-
WiFi onboarding.
89+
once-per-second low-battery blink (≤10%), and, in **v2.3 beta**, a continuous
90+
2 Hz blink during WiFi onboarding.
8491

8592
📖 **See the [User Guide](docs/USER_GUIDE.md)** for flashing, pairing, the config
8693
page, and OS-specific (Linux / Windows) behavior and troubleshooting.
@@ -93,19 +100,19 @@ page, and OS-specific (Linux / Windows) behavior and troubleshooting.
93100
`.uf2` onto the mounted `RP2350` volume.
94101
2. **Onboard WiFi** — the first time, the adapter opens a setup network named
95102
**`DS5-Setup-XXXX`**. Join it from your phone or laptop, browse to
96-
**http://10.55.55.105/**, pick your home WiFi, choose WPA3-only if the
97-
router/hotspot requires it, and enter its password. The adapter reboots and
98-
joins your network.
103+
**http://10.55.55.105/**, pick your home WiFi, and enter its password.
104+
**v2.3 beta** also offers a WPA3-only choice for networks that require it.
105+
The adapter reboots and joins your network.
99106
3. **Pair** — put the DualSense in pairing mode (hold **Share + PS** until the
100107
lightbar double-blinks). The adapter detects, pairs, and connects; the onboard
101108
LED goes solid.
102109
4. **Configure** *(optional)* — once on your WiFi, browse to **http://ds5.local/**
103110
to change settings, set up Wake by USB or Wake-on-LAN, and manage paired controllers.
104111

105-
If the saved WiFi is unavailable later, controller operation continues normally.
106-
To change networks, power off every controller and press and release the Pico's
107-
**BOOTSEL** button three times within four seconds; the setup network reopens
108-
for one boot.
112+
**v2.3 beta:** if the saved WiFi is unavailable later, controller operation
113+
continues normally while WiFi retries. To change networks, power off every
114+
controller and press and release the Pico's **BOOTSEL** button three times
115+
within four seconds; the setup network reopens for one boot.
109116

110117
Full details, including onboarding, Wake-on-LAN, adding a second controller, and
111118
per-OS audio notes, are in the **[User Guide](docs/USER_GUIDE.md)**.

docs/USER_GUIDE.md

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ Operational manual for the firmware: flashing, WiFi setup, pairing, the config
44
page, Wake-on-LAN, and OS-specific (Linux / Windows) behavior. For building from
55
source and debugging, see the [README](../README.md).
66

7+
> **v2.3 beta availability:** Callouts marked **v2.3 beta** describe features
8+
> currently available only in the latest pre-release. Download it from
9+
> [Releases](https://github.com/kungaa/DS5-Linux-Bridge/releases), or enable
10+
> **Include pre-releases** on the config page's Update tab before installing
11+
> over WiFi.
12+
713
- [Flashing the firmware](#flashing-the-firmware)
814
- [First-time WiFi setup](#first-time-wifi-setup)
915
- [Pairing a controller](#pairing-a-controller)
@@ -45,6 +51,9 @@ project's GitHub Releases:
4551
(downloading / verifying / installing).
4652
3. Settings, WiFi credentials and paired controllers are all kept.
4753

54+
To install the v2.3 beta rather than the latest stable release, enable
55+
**Include pre-releases** before clicking **Install latest**.
56+
4857
Safety properties worth knowing:
4958

5059
* The download goes to a spare region of flash; the running firmware is not
@@ -68,6 +77,10 @@ Safety properties worth knowing:
6877
The adapter serves its config page and sends Wake-on-LAN over your home WiFi, so
6978
the first time you run it you tell it which network to join.
7079

80+
> **v2.3 beta:** The WPA3 selection, background retry policy, automatic
81+
> authentication-failure recovery, BOOTSEL recovery gesture, and 2 Hz
82+
> onboarding indicator described below require the latest v2.3 pre-release.
83+
7184
1. On first boot (with no WiFi saved) the adapter starts its own open setup
7285
network named **`DS5-Setup-XXXX`** (the `XXXX` is unique per adapter).
7386
2. Join it from a phone or laptop and browse to **http://10.55.55.105/**.
@@ -187,10 +200,10 @@ What to expect:
187200
- **Getting audio / HD haptics back:** the adapter stays in multi-controller
188201
mode as long as *any* controller from the group is connected, so nobody's
189202
game is interrupted when others leave. To return to the full
190-
single-controller experience (audio, mic, HD haptics), use **Power off all
191-
controllers** on the config page's Controller tab, then reconnect one. The
192-
red button appears while two or more controllers are connected. It keeps all
193-
controller pairings.
203+
single-controller experience (audio, mic, HD haptics), power all controllers
204+
off, then reconnect one. **v2.3 beta:** the config page's Controller tab
205+
provides a red **Power off all controllers** button while two or more are
206+
connected. It keeps all controller pairings.
194207
- Turning the toggle back **off** mid-session doesn't disconnect anyone; it
195208
applies to new connections only (the next second controller is refused).
196209

@@ -265,14 +278,15 @@ The **Network** tab has two things:
265278
- **Reset saved WiFi** — forgets the saved network and reboots into the
266279
`DS5-Setup-XXXX` onboarding mode so you can join a different WiFi.
267280

268-
If the saved network is unavailable and this page cannot be reached, power off
269-
all controllers and press and release the Pico's **BOOTSEL** button three times
270-
within four seconds. The adapter reboots after the third release and enters the
271-
setup network for one boot. Its old WiFi credentials remain saved unless you
272-
submit replacements, and the onboard LED blinks continuously at 2 Hz while
273-
setup mode is active. If the network instead rejects authentication three times,
274-
the adapter automatically clears the rejected credentials and enters this setup
275-
mode; those authentication retries are five seconds apart.
281+
**v2.3 beta:** If the saved network is unavailable and this page cannot be
282+
reached, power off all controllers and press and release the Pico's **BOOTSEL**
283+
button three times within four seconds. The adapter reboots after the third
284+
release and enters the setup network for one boot. Its old WiFi credentials
285+
remain saved unless you submit replacements, and the onboard LED blinks
286+
continuously at 2 Hz while setup mode is active. If the network instead rejects
287+
authentication three times, the adapter automatically clears the rejected
288+
credentials and enters this setup mode; those authentication retries are five
289+
seconds apart.
276290

277291
---
278292

@@ -353,15 +367,17 @@ without any extra firmware. See that repository for installation and usage.
353367
354368
### Windows 11
355369

356-
- **Audio & layered mute.** Runs driverless. The physical Mute button and the
357-
Windows Sound-panel mute are independent layers: if both are active, clearing
358-
either one leaves the microphone muted until the other is also cleared. The
359-
controller's orange LED and the actual microphone stream always follow that
360-
combined state. Because the physical button is driverless, it does not move
361-
the Windows checkmark; that checkmark represents only the Windows layer.
362-
- **Idle microphone transport.** When no application has the microphone stream
363-
open, the adapter asks the controller to stop uploading Bluetooth microphone
364-
frames. Opening a recorder or voice-chat application enables upload
365-
automatically; ordinary muting keeps the open stream alive but silent.
370+
- **v2.3 beta — Audio & layered mute.** Runs driverless. The physical Mute
371+
button and the Windows Sound-panel mute are independent layers: if both are
372+
active, clearing either one leaves the microphone muted until the other is
373+
also cleared. The controller's orange LED and the actual microphone stream
374+
always follow that combined state. Because the physical button is
375+
driverless, it does not move the Windows checkmark; that checkmark represents
376+
only the Windows layer.
377+
- **v2.3 beta — Idle microphone transport.** When no application has the
378+
microphone stream open, the adapter asks the controller to stop uploading
379+
Bluetooth microphone frames. Opening a recorder or voice-chat application
380+
enables upload automatically; ordinary muting keeps the open stream alive
381+
but silent.
366382
- **HD haptics.** Work out of the box in titles that support them on a wired
367383
DualSense (e.g. Death Stranding Director's Cut).

0 commit comments

Comments
 (0)