NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Intermitent loss of WiFi



bsdprg%tuta.io@localhost writes:

> I am on NetBSD 10.0 Beta.
> I get intermitent loss of WiFi with my iwm driver.

This sort of problem happens with some adaptors sometimes, but is not
super common.  I have a few urtwn(4) devices.  One, on a 2006 macbook
(i386) has been reliable.  Another, on a RPI3 (earmv7hf-el) has
occasional failures and I have a cron script to detect that and down/up.
Both of those experiences were on 8 and 9; I'm getting ready to move to
10.

Please describe your hardware and which architecture you are running.
We have no idea what kind of cpu/system etc.  even if it seems likely an
i386 or amd64 laptop.

Please post the dmesg lines for iwm attachment.  You can blur our the
mac address.

You say "loss of WiFi", but I wonder if you can narrow that down.

How often does this happen?

Does "ifconfig" show it still associated?
On the router/AP/whatever, can you tell if it is gone from the network?
If you run tcpdump -n on the adaptor, do you see any incoming frames?
If you "ping -n [router's IP addr]", do you see outgoing frames?
What does netstat -i show for in/out/error counts when it is "lost"?

(I'm not really asking you to post all of this, but to try it all and
see what you can figure out.)

> I think this is the error message in dmesg (I am not sure whether this DRM is i915 or iwm)
> [   968.284136] {drm:netbsd:intel_pipe_update_start+0x33b} *ERROR* Potential atomic update failure on pipe A: -35

That's about graphics.  Does that happen just once, or does it happen
again when the wifi fails again?  Is there anything else in dmesg or
syslog?

> The workaround is to execute the following twice:
> doas ifconfig iwm0 down
> doas ifconfig iwm0 up
>
> It needs to be executed twice, because after the first down and up, I get:
> ifconfig: exec_matches: Resource temporarily unavailable

Try waiting 10s after down before up.  Run ifconfig in between.
Basically try every inspection method you can think of.

If you are up for it, you can read the driver src/sys/dev/pci/if_iwm.c
and turn on IWM_DEBUG and set iwm_debug to nonzero and get lots of
messages.






Home | Main Index | Thread Index | Old Index