Skip to content

Fix WiFi cyw43439 bugs introduced in 91773f57 - #1093

Merged
mattnite merged 2 commits into
ZigEmbeddedGroup:mainfrom
arkadiuszwojcik:wifi_regression_fix
Oct 18, 2026
Merged

mattnite merged 2 commits into
ZigEmbeddedGroup:mainfrom
arkadiuszwojcik:wifi_regression_fix

Conversation

@arkadiuszwojcik

@arkadiuszwojcik arkadiuszwojcik commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Both bugs were introduced in 91773f5 ("Update code for new @bitcast semantics"). On a Pico 2 W running net-pong, the first made every event get dropped, so the join timed out. The second made every data frame get dropped, so DHCP never completed.

ioctl.zig: skip BDC padding in Response
Since the port, Response.data() returns reader.buffer[seek..end], but bdc() consumed only the BDC header and not the offset * 4 padding after it. For events with bdc.offset != 0 the payload started too early, event() returned null, and all events were dropped. bdc() now also discards the padding. data() is unchanged, and a bogus offset leaves data() empty. Added a regression test with a captured event packet.

wifi.zig: send_zc bus write start
send_zc passed as_words(writer.buffered(), …), which starts at buffer + 4, so bus.write's command word overwrote the SDPCM len/not_len and the chip dropped every data frame. It now passes as_words(buffer, words_len) again, as before the port.

Verified on a Pico 2 W with net-pong: the join succeeds, DHCP leases an address, and the board answers ping.

@Grazfather Grazfather changed the title Fix WiFi cyw43439 bugs introduced in #91773f57 commit Fix WiFi cyw43439 bugs introduced in 91773f57 Oct 18, 2026
@mattnite
mattnite merged commit 552a6a0 into ZigEmbeddedGroup:main Oct 18, 2026
37 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.

3 participants