Ok, then a bit more info on my setup 
I use an IBM Thinkpad R60, running Haiku in Version R1/beta3 (hrev55181+57) x86_gcc2
Kernel of 17. September 2021
The network card is, regarding to listdev:
device Network controller [2|80|0]
vendor 8086: Intel Corporation
device 4227: PRO/Wireless 3945ABG [Golan] Network Connection
And an attached excerpt from the syslog in whom such an finicky episode of the wlan card is documented:
edit: I think the interesting part of the following could be that:
%<---------------------------
KERN: /dev/net/iprowifi3945/0: media change, media 0x8300b0 quality 1000 speed 48000000
KERN: /dev/net/iprowifi3945/0: media change, media 0x8300b1 quality 1000 speed 54000000
KERN: [iprowifi3945] (wpi) fatal firmware error
%<---------------------------
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Send DHCP_REQUEST for 192.168.16.89 to 255.255.255.255:67
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Received DHCP_NACK from 10.1.0.2
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Send DHCP_DISCOVER to 255.255.255.255:67
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Timeout shift: 500 msecs (try 1)
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Send DHCP_DISCOVER to 255.255.255.255:67
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Timeout shift: 1000 msecs (try 2)
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Send DHCP_DISCOVER to 255.255.255.255:67
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Received DHCP_OFFER from 10.1.0.2
DAEMON ‘DHCP’: your_address: 10.1.66.26
DAEMON ‘DHCP’: server: 10.1.0.2
DAEMON ‘DHCP’: lease time: 300 seconds
DAEMON ‘DHCP’: subnet: 255.255.0.0
DAEMON ‘DHCP’: gateway: 10.1.0.2
DAEMON ‘DHCP’: nameserver[0]: 10.1.0.2
DAEMON ‘DHCP’: domain name: “ff-fkb.de”
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Send DHCP_REQUEST for 10.1.66.26 to 255.255.255.255:67
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Received DHCP_ACK from 10.1.0.2
DAEMON ‘DHCP’: server: 10.1.0.2
DAEMON ‘DHCP’: lease time: 300 seconds
DAEMON ‘DHCP’: subnet: 255.255.0.0
DAEMON ‘DHCP’: gateway: 10.1.0.2
DAEMON ‘DHCP’: nameserver[0]: 10.1.0.2
DAEMON ‘DHCP’: domain name: “ff-fkb.de”
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: DHCP status = No error
KERN: /dev/net/iprowifi3945/0: media change, media 0x8300b0 quality 1000 speed 48000000
KERN: /dev/net/iprowifi3945/0: media change, media 0x8300b1 quality 1000 speed 54000000
KERN: [iprowifi3945] (wpi) fatal firmware error
KERN: firmware error log (count = 1):
KERN: error type = “SYSASSERT” (0x00000005)
KERN: error data = 0x0000010B
KERN: branch link = 0x000008B60000035E
KERN: interrupt link = 0x0000032000000000
KERN: time = 1446258677
KERN: driver status:
KERN: tx ring 0: qid=0 cur=83 queued=0
KERN: tx ring 1: qid=1 cur=0 queued=0
KERN: tx ring 2: qid=2 cur=0 queued=0
KERN: tx ring 3: qid=3 cur=7 queued=0
KERN: tx ring 4: qid=4 cur=117 queued=0
KERN: rx ring: cur=43
KERN: [net/iprowifi3945/0] stop running, 1 vaps running
KERN: [net/iprowifi3945/0] ieee80211_new_state_locked: RUN → INIT (nrunning 0 nscanning 0)
KERN: ieee80211_notify_ifnet_change not implemented, yet.
KERN: [net/iprowifi3945/0] down parent
KERN: ieee80211_notify_scan_done
KERN: [net/iprowifi3945/0] ieee80211_newstate_cb: RUN → INIT arg -1
KERN: [net/iprowifi3945/0] sta_newstate: RUN → INIT (-1)
KERN: [net/iprowifi3945/0] ieee80211_ref_node (ieee80211_send_mgmt:2649) 0x82138000<2a:61:75:73:01:e0> refcnt 4
KERN: [net/iprowifi3945/0] [2a:61:75:73:01:e0] send station disassociate (reason: 8 (sending STA is leaving/has left BSS))
KERN: ieee80211_notify_node_leave
KERN: [net/iprowifi3945/0] node_reclaim: remove 0x82138000<2a:61:75:73:01:e0> from station table, refcnt 3
KERN: [net/iprowifi3945/0] ieee80211_alloc_node 0x821a8000<00:18:de:02:a6:34> in station table
KERN: [net/iprowifi3945/0] [00:18:de:02:a6:34] ieee80211_alloc_node: inact_reload 2
KERN: ieee80211_notify_radio not implemented, yet.
KERN: [net/iprowifi3945/0] start running, 0 vaps running
KERN: ieee80211_notify_ifnet_change not implemented, yet.
KERN: [net/iprowifi3945/0] ieee80211_start_locked: up parent
KERN: wlan_control: 9235, 76
KERN: /dev/net/iprowifi3945/0: media change, media 0x300a0 quality 1000 speed 0
KERN: ieee80211_notify_radio not implemented, yet.
KERN: [net/iprowifi3945/0] start running, 1 vaps running
KERN: ifmedia_ioctl: switching wlan to Type: IEEE 802.11 Wireless Ethernet
KERN: Mode: autoselect
KERN: SubType: autoselect
KERN: wlan_control: 9234, 16
KERN: wlan_control: 9234, 17
KERN: wlan_control: 9234, 26
KERN: wlan_open(0x8b819400)
KERN: [net/iprowifi3945/0] ieee80211_init
KERN: [net/iprowifi3945/0] start running, 1 vaps running
Last message repeated 1 time
KERN: wlan_control: 9234, 103
KERN: [net/iprowifi3945/0] ieee80211_new_state_locked: INIT → SCAN (nrunning 0 nscanning 0)
KERN: [net/iprowifi3945/0] ieee80211_newstate_cb: INIT → SCAN arg 0
KERN: [net/iprowifi3945/0] sta_newstate: INIT → SCAN (0)
KERN: /dev/net/iprowifi3945/0: media change, media 0x100a0 quality 1000 speed 0
KERN: ieee80211_notify_scan_done
KERN: wlan_control: 9235, 76
KERN: ifmedia_ioctl: switching wlan to Type: IEEE 802.11 Wireless Ethernet
KERN: Mode: autoselect
KERN: SubType: autoselect
KERN: wlan_control: 9234, 18
KERN: wlan_control: 9234, 7
KERN: wlan_control: 9234, 95
KERN: wlan_control: 9234, 17
KERN: wlan_open(0x8b819400)
KERN: [net/iprowifi3945/0] ieee80211_init
KERN: [net/iprowifi3945/0] start running, 1 vaps running
KERN: wlan_control: 9234, 21
KERN: [net/iprowifi3945/0] [2a:61:75:73:01:e0] station assoc via MLME
KERN: [net/iprowifi3945/0] ieee80211_alloc_node 0x82138000<2a:61:75:73:01:e0> in station table
KERN: [net/iprowifi3945/0] [2a:61:75:73:01:e0] ieee80211_alloc_node: inact_reload 2
KERN: [net/iprowifi3945/0] node_reclaim: remove 0x821a8000<00:18:de:02:a6:34> from station table, refcnt 0
KERN: [net/iprowifi3945/0] set WME_AC_BE (chan) [acm 0 aifsn 3 logcwmin 4 logcwmax 10 txop 0]
KERN: [net/iprowifi3945/0] set WME_AC_BE (bss ) [acm 0 aifsn 3 logcwmin 4 logcwmax 10 txop 0]
KERN: [net/iprowifi3945/0] set WME_AC_BK (chan) [acm 0 aifsn 7 logcwmin 4 logcwmax 10 txop 0]
KERN: [net/iprowifi3945/0] set WME_AC_BK (bss ) [acm 0 aifsn 7 logcwmin 4 logcwmax 10 txop 0]
KERN: [net/iprowifi3945/0] set WME_AC_VI (chan) [acm 0 aifsn 2 logcwmin 3 logcwmax 4 txop 94]
KERN: [net/iprowifi3945/0] set WME_AC_VI (bss ) [acm 0 aifsn 2 logcwmin 3 logcwmax 4 txop 94]
KERN: [net/iprowifi3945/0] set WME_AC_VO (chan) [acm 0 aifsn 2 logcwmin 2 logcwmax 3 txop 47]
KERN: [net/iprowifi3945/0] set WME_AC_VO (bss ) [acm 0 aifsn 2 logcwmin 2 logcwmax 3 txop 47]
KERN: [net/iprowifi3945/0] update WME_AC_BE (chan+bss) [acm 0 aifsn 2 logcwmin 4 logcwmax 10 txop 0]
KERN: [net/iprowifi3945/0] ieee80211_wme_updateparams_locked: WME params updated, cap_info 0xfe
KERN: [net/iprowifi3945/0] ieee80211_new_state_locked: SCAN → AUTH (nrunning 0 nscanning 0)
KERN: [net/iprowifi3945/0] ieee80211_newstate_cb: SCAN → AUTH arg 192
KERN: [net/iprowifi3945/0] sta_newstate: SCAN → AUTH (192)
KERN: [net/iprowifi3945/0] ieee80211_ref_node (ieee80211_send_mgmt:2649) 0x82138000<2a:61:75:73:01:e0> refcnt 3
KERN: [net/iprowifi3945/0] [2a:61:75:73:01:e0] recv auth frame with algorithm 0 seq 2
KERN: [net/iprowifi3945/0] ieee80211_new_state_locked: AUTH → ASSOC (nrunning 0 nscanning 0)
KERN: [net/iprowifi3945/0] ieee80211_newstate_cb: AUTH → ASSOC arg 0
KERN: [net/iprowifi3945/0] sta_newstate: AUTH → ASSOC (0)
KERN: [net/iprowifi3945/0] ieee80211_ref_node (ieee80211_send_mgmt:2649) 0x82138000<2a:61:75:73:01:e0> refcnt 3
KERN: [net/iprowifi3945/0] ieee80211_parse_wmeparams: WME: 0: acm=0 aifsn=3 logcwmin=4 logcwmax=10 txopLimit=0
KERN: [net/iprowifi3945/0] ieee80211_parse_wmeparams: WME: 1: acm=0 aifsn=7 logcwmin=4 logcwmax=10 txopLimit=0
KERN: [net/iprowifi3945/0] ieee80211_parse_wmeparams: WME: 2: acm=0 aifsn=2 logcwmin=3 logcwmax=4 txopLimit=94
KERN: [net/iprowifi3945/0] ieee80211_parse_wmeparams: WME: 3: acm=0 aifsn=2 logcwmin=2 logcwmax=3 txopLimit=47
KERN: [net/iprowifi3945/0] ieee80211_wme_updateparams_locked: WME params updated, cap_info 0x1
KERN: [net/iprowifi3945/0] [2a:61:75:73:01:e0] assoc success at aid 2: short preamble, short slot time, QoS
KERN: [net/iprowifi3945/0] ieee80211_new_state_locked: ASSOC → RUN (nrunning 0 nscanning 0)
KERN: [net/iprowifi3945/0] ieee80211_newstate_cb: ASSOC → RUN arg 16
KERN: [net/iprowifi3945/0] sta_newstate: ASSOC → RUN (16)
KERN: ieee80211_notify_node_join
KERN: [net/iprowifi3945/0] [2a:61:75:73:01:e0] ieee80211_node_authorize: inact_reload 20
KERN: wlan_control: 9235, 15
KERN: wlan_control: 9235, 1
KERN: /dev/net/iprowifi3945/0: media change, media 0x8300af quality 1000 speed 36000000
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Send DHCP_REQUEST for 10.1.66.26 to 255.255.255.255:67
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: Received DHCP_ACK from 10.1.0.2
DAEMON ‘DHCP’: server: 10.1.0.2
DAEMON ‘DHCP’: lease time: 300 seconds
DAEMON ‘DHCP’: subnet: 255.255.0.0
DAEMON ‘DHCP’: gateway: 10.1.0.2
DAEMON ‘DHCP’: nameserver[0]: 10.1.0.2
DAEMON ‘DHCP’: domain name: “ff-fkb.de”
DAEMON ‘DHCP’: /dev/net/iprowifi3945/0: DHCP status = No error