Opened 19 months ago

Last modified 12 months ago

#14260 new bug

iprowifi3945 goes "no link" every 5 minutes

Reported by: ttcoder Owned by: waddlesplash
Priority: normal Milestone: Unscheduled
Component: Drivers/Network/iprowifi3945 Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All


On my primary laptop (lenovo R61), wi-fi is less reliable in the newer hrevs: the connection is lost after a few minutes, then after about 15 seconds, the link comes back up and I can resume browsing the web. Rince and repeat every few minutes.

DHCP is not even renegotiated (does not get mentionned in the syslog at any rate), the link just comes back up. So this seems to be a driver issue.

Didn't try to go "static" (vs DHCP). But in previous hrevs (freebsd9 drivers?) the connection was solid. For instance in hrev50465

Let me know if you need any info, try builds ..etc to help with this, as we go into the beta1 dev cycle

Attachments (1)

syslog_sample (15.8 KB ) - added by ttcoder 19 months ago.
when wifi goes down and then back up : mentions "firmware error", "authentication expired" and other interesting things

Download all attachments as: .zip

Change History (14)

comment:1 by ttcoder, 19 months ago

~/Desktop> uname -a
Haiku shredder 1 hrev52079 Jul  7 2018 09:16:33 BePC x86 Haiku
~/Desktop> ifconfig /dev/net/iprowifi3945/0 -ht
~/Desktop> listdev
device Network controller [2|80|0]
  vendor 8086: Intel Corporation
  device 4227: PRO/Wireless 3945ABG [Golan] Network Connection

Edit: will also post a syslog, which includes a "firmware error" message:

KERN: [net/iprowifi3945/0] [d0:ae:ec:3e:a9:b0] sta power save mode on
KERN: [iprowifi3945] (wpi) fatal firmware error
KERN: wpi_fatal_intr: invalid count field (count = 0)
KERN: [net/iprowifi3945/0] stop running, 1 vaps running

Edit2: not sure if it's significant at all, but there are "Tx errors", 39 after an hour or so of light browsing haiku tickets:

        Hardware type: Ethernet, Address: (my mac addy here)
        Network: (my net here), Address: (...), WPA2, PSK/CCMP
        inet addr:, Bcast:, Mask:
        MTU: 1500, Metric: 0, up broadcast link auto-configured
        Receive: 13725 packets, 0 errors, 11587106 bytes, 0 mcasts, 0 dropped
        Transmit: 13969 packets, 39 errors, 1639818 bytes, 0 mcasts, 0 dropped
        Collisions: 0
Last edited 19 months ago by ttcoder (previous) (diff)

comment:2 by waddlesplash, 19 months ago

What hrev is this?

comment:3 by ttcoder, 19 months ago

@waddlesplash - Running a USB thumbdrive with hrev52079 (so that my production environment remains pristine); but I can update it as needed

by ttcoder, 19 months ago

Attachment: syslog_sample added

when wifi goes down and then back up : mentions "firmware error", "authentication expired" and other interesting things

comment:4 by waddlesplash, 19 months ago

If you could try a FreeBSD 11.1 image and see if it behaves the same there, that would be helpful.

comment:5 by waddlesplash, 19 months ago

Also, perhaps try using the older firmware -- i.e. blacklist the existing firmware, and drop into the appropriate non-packaged directory. It seems Linux still uses that firmware, anyway.

comment:6 by waddlesplash, 19 months ago

Try re-testing after hrev52091; I've disabled hardware AES which the FreeBSD developers suggested.

comment:7 by pulkomandy, 19 months ago

I'm getting linkdown/linkup notifications sometimes as well. It reconnects quite fast here but that may depend on the AP being used (unencrypted public wifi, so no WPA negociation needed).

comment:8 by ttcoder, 19 months ago

@waddlesplash No change with the alternate firmware in place:

But I believe this is because the alternate and base one are the same by for byte:

/boot/system/non-packaged/data/firmware/iprowifi3945> cmp iwlwifi-3945-2.ucode /boot/system/data/firmware/iprowifi3945/iwlwifi-3945-2.ucode

(ran that before the blacklisting came into effect on reboot of course)

Can't find another file for 3945 in the directory listing over at

Do you remember what prompted you to think of an alternate firmware file? Maybe you actually found one and just pasted the wrong link ? I'm all setup for trying another one if we find one :-)

This is with hrev52094 so includes the AES encryption change BTW

Misc details:

I see DHCP renewals in syslog, now. Maybe there were there before and eluded me.

Trying FreeBSD on this laptop is a bit of a long shot... Maybe if there exists a "FreeBSD on USB thumbdrive" thing like exists with Haiku..

--- EDIT: found some files, experimenting, will report back soon

Last edited 19 months ago by ttcoder (previous) (diff)

comment:9 by ttcoder, 19 months ago

@waddlesplash so I actually was able to test, with the files below (sound right? they look legit)

Found a half dozen firmwares via : Had to rename the older files as they are suffixed "-1" instead of "-2" and the driver was failing to find the firmware

Test results:

  • iwlwifi-3945-ucode- : net disappears before login, exactly as in ticket #14266 (!)
  • iwlwifi-3945-ucode- : intermittent "no link"
  • iwlwifi-3945-ucode- : intermittent "no link"
  • iwlwifi-3945-ucode- : intermittent "no link"

So going back to older firmwares, things are not better.

Worst case, when beta1 comes out I could create a "franken-rev" haiku, mix and match the beta1 image with the old driver; I guess the freebsd stuff is statically linked into each driver, so that idea could work ? I'm guessing if I drop the old driver binary in place, I'll get the old driver code with the old freebsd code


So my updated to-do list would be:

  • frankenstein-rev
  • TrueOS (BSD)
  • static instead of DHCP
  • some SotA wpa_supplicant debugging by mmlr in ticket:9646#comment:1
Last edited 19 months ago by ttcoder (previous) (diff)

comment:10 by waddlesplash, 19 months ago

Milestone: R1/beta1Unscheduled

Well, if this only affects one chipset, it's probably not a huge issue then. Removing from beta1.

comment:11 by ttcoder, 14 months ago

No change in hrev52539

I'm not using this older laptop all that much any more, so no biggie if browsing gets interrupted AFAIC.

FWIW I looked at the syslog 'live' and saw this when the link went down..

KERN: [iprowifi3945] (wpi) fatal firmware error
KERN: wpi_fatal_intr: invalid count field (count = 0)
KERN: [net/iprowifi3945/0] stop running, 1 vaps running
KERN: [net/iprowifi3945/0] ieee80211_new_state_locked: RUN -> INIT (nrunning 0 nscanning 0)
KERN: [net/iprowifi3945/0] down parent 
KERN: ieee80211_notify_scan_done
KERN: [net/iprowifi3945/0] ieee80211_newstate_cb: RUN -> INIT arg -1
(2 screens' worth..)

And I think there was this when it came back up

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
(2 screens worth of tracing deleted)

comment:12 by waddlesplash, 13 months ago

Please retest after hrev52744 (but it's probably the same.)

comment:13 by ttcoder, 12 months ago

Same symptoms cold booting into an hrev52801 USB stick. Syslog mentions "station deauth", plus a DHCP re-negociation (probably was there last time I posted too, just had missed it).

I'll have better news to report about an ipro4965 laptop soon though. But this one however is showing its age and relegated to secondary use, mainly running a pre-pm (!) hrev that runs networking flawlessly (go figure!)

Note: See TracTickets for help on using tickets.