Skip to content

kernel: Disable Wi-Fi P2P on the J71b and J71t firmware builds - #20

Merged
henrikklee merged 1 commit into
OrchardLinux:mainfrom
dl-alexandre:brcmfmac-disable-p2p-per-fwid
Oct 29, 2026
Merged

henrikklee merged 1 commit into
OrchardLinux:mainfrom
dl-alexandre:brcmfmac-disable-p2p-per-fwid

Conversation

@dl-alexandre

@dl-alexandre dl-alexandre commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Picks up the first item in docs/integration/j71t.md's "J71b RAM test left open" list:

Wi-Fi P2P on J71b: the J71b firmware (FWID 01-d0cb7703) rejects p2p_da_override with -52, as FearA does on the iPad 5 (4.6). Move the per-firmware feature table (drivers/wifi, 4.6) ahead of the iPad 5 and add this FWID.

Change

New kernel/patches/drivers/wifi/0007-wifi-brcmfmac-Disable-features-a-firmware-build-adve.patch:

  • From Add iPad 5 Wi-Fi (J71t) hardware support #6: the feature.c part of j71t/0002 (Berkay's brcmf_feat_fwfeat_disable_map and brcmf_feat_firmware_disables()), extracted unchanged. Berkay stays the author, and an [Orchard: …] note says what was taken.
  • Added: the J71b entry { "01-d0cb7703", BIT(BRCMF_FEAT_P2P) } next to FearA's 01-9787ef4d, each with its firmware version in a comment.

#6 should drop its feature.c hunk, because the table is now in the shared drivers layer that the J71t series includes too. Otherwise both patches add the same function.

Evidence on J71b

Same firmware the RAM test saw (iPadOS 17.7.11, Omarchy A 0.1.1):

brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4355/12 wl0: Jun  6 2024 01:50:47 version 9.30.503.2.3.50.99 FWID 01-d0cb7703
ieee80211 phy0: brcmf_p2p_set_firmware: failed to update device address ret -52
ieee80211 phy0: brcmf_p2p_create_p2pdev: set p2p_disc error
ieee80211 phy0: brcmf_cfg80211_add_iface: add iface p2p-dev-wld0 type 10 failed: err=-52

wpa_supplicant and NetworkManager log follow-on errors for p2p-dev-wld0 at every boot. The map matches drvr->fwver, which brcmf_c_preinit_dcmds sets to the last token of that version string, 01-d0cb7703.

Testing

  • Renumbered to 0007 after 0004–0006 landed on main (none of them touch feature.c). All 13 brcmfmac/binding patches in the current series still apply in order.
  • On v7.3-rc1 plus the apple-16k series for j71b (265 patches), the new patch applies in series order. No other patch in the series touches feature.c.
  • brcmfmac/ builds for arm64 with the apple-16k config and W=1 without warnings (host clang 23). Both FWIDs are in feature.o.
  • python -m unittest discover -s tests passes.
  • I haven't booted it yet. On hardware, the expected result is firmware 01-d0cb7703: disabling feature P2P at load and no p2p-dev-wld0 errors. I can run that on my J71b when a RAM test is next useful.

🤖 Generated with Claude Code

@dl-alexandre

Copy link
Copy Markdown
Contributor Author

Verified on hardware. I RAM-booted current main (2d256cf) plus this patch on a J71b (iPad7,5, iPadOS 17.7.11 firmware) with orchard run:

brcmfmac: brcmf_c_process_txcap_blob: TxCap blob found, loading
brcmfmac: brcmf_c_process_cal_blob: Calibration blob provided by platform, loading
brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4355/12 wl0: Jun  6 2024 01:50:47 version 9.30.503.2.3.50.99 FWID 01-d0cb7703
brcmfmac: brcmf_feat_firmware_disables: firmware 01-d0cb7703: disabling feature P2P

wlan0 comes up, and dmesg has no p2p/-52 errors. The 0.1.10 install on the same unit logs the three brcmf_p2p_* / add iface p2p-dev-wld0 … err=-52 errors at every boot.

The J71b firmware (FWID 01-d0cb7703) answers "p2p" but fails
"p2p_da_override" with -52, so brcmfmac's P2P device creation fails at
every start, as the iPad 5 FearA firmware does. Move the per-firmware
feature-disable table from the iPad 5 work ahead of it, as the J71b RAM
test notes ask, and list both builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dl-alexandre
dl-alexandre force-pushed the brcmfmac-disable-p2p-per-fwid branch from 7950c50 to 5ca0cc5 Compare October 29, 2026 13:25
@henrikklee
henrikklee merged commit 7f81a24 into OrchardLinux:main Oct 29, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants