On Tue, Mar 24, 2026 at 09:16:00AM +0100, mwpudrtxoe wrote:
> >Synopsis:    IWX reports errors and eventually hangs with a full send buffer
> >Category:    kernel
> >Environment:
>       System      : OpenBSD 7.8
>       Details     : OpenBSD 7.8 (GENERIC.MP) #6: Fri Mar 20 10:18:39 MDT 2026
>                        
> [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
>       Architecture: OpenBSD.amd64
>       Machine     : amd64
> >Description:
> 
> The IWX driver sporadically reports errors like these:
> 
> iwx0: unhandled firmware response 0x3ff/0x20000008 rx ring 126[1]
> iwx0: unhandled firmware response 0x3ff/0x20000008 rx ring 122[229]
> iwx0: unhandled firmware response 0x3fd/0x2000000c rx ring 81[128]
> iwx0: unhandled firmware response 0x3ff/0x20000008 rx ring 81[138]
> iwx0: unhandled firmware response 0x3ff/0x20000008 rx ring 91[4]
> iwx0: unhandled firmware response 0x3fd/0x2000000c rx ring 104[72]
> iwx0: unhandled firmware response 0x3fd/0x2000000c rx ring 123[124]
> 
> ... then after a long while (about one day) runs into a full send buffer.
> 

This is related to channel switch announcements sent by the AP.
The firmware sends notification 0x3ff to the driver and will no longer
send frames out. Sending frames on the channel which the AP is switching
away from is not allowed (I assume this prevents interference with radar,
which could be the reason why the AP is moving away).

The driver is expected to react to this situation, e.g. by resetting the
interface and scan for a new AP, or keep the interface associated but move
it to the AP's new channel. Our driver doesn't do any of that yet.

A fix wouldn't be very hard to write. The interface needs to be put back
into SCAN state, and net80211 needs to be taught to skip access points which
are currently announcing a channel switch. Or the driver could be taught to
send the necessary firmware commands to switch the device to the new channel
in response to the channel switch annoucenment.

I have too many things on my plate right now to work on this myself.

A workaround is to fix the channel used by the AP, rather than letting
the AP auto-select one. Preferrably use a channel with does not require DFS.

Reply via email to