Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Workarounded] WiFi disconnects - how to debug the problem
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Uzytkownik
Guru
Guru


Joined: 31 Oct 2004
Posts: 399
Location: Bay Area, US

PostPosted: Sat Nov 30, 2013 5:21 pm    Post subject: [Workarounded] WiFi disconnects - how to debug the problem Reply with quote

Hi,

At one particular network the WiFi disconnects at (seemingly) random intervals even when connection is actively used. The network stacks still thinks that connection is working (interface is up, ping just shows that destination host is unreachable etc.).

I could not find anything interesting in the dmesg log:

Code:
[ 8730.147755] wlan0: authenticate with xx:xx:xx:xx:xx:xx
[ 8730.162245] wlan0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 8730.265535] wlan0: send auth to xx:xx:xx:xx:xx:xx (try 2/3)
[ 8730.267522] wlan0: authenticated
[ 8730.268541] wlan0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[ 8730.272456] wlan0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x431 status=0 aid=2)
[ 8730.277297] wlan0: associated
[ 8730.277318] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready


And this is after reconnecting:

Code:

[ 9576.157597] wlan0: deauthenticating from xx:xx:xx:xx:xx:xx by local choice (reason=3)
[ 9576.167952] cfg80211: Calling CRDA to update world regulatory domain
[ 9576.169992] cfg80211: World regulatory domain updated:
[ 9576.169996] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 9576.169998] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[ 9576.170000] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[ 9576.170001] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm)
[ 9576.170002] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm)
[ 9576.170003] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm)
[ 9576.170005] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm)
[ 9580.670005] iwlwifi 0000:03:00.0: L1 Enabled; Disabling L0S
[ 9580.676640] iwlwifi 0000:03:00.0: Radio type=0x0-0x3-0x1
[ 9580.821866] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 9587.308438] wlan0: authenticate with xx:xx:xx:xx:xx:xx
[ 9587.322499] wlan0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 9587.426545] wlan0: send auth to xx:xx:xx:xx:xx:xx (try 2/3)
[ 9587.428245] wlan0: authenticated
[ 9587.428473] wlan0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[ 9587.432571] wlan0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x431 status=0 aid=2)
[ 9587.443067] wlan0: associated
[ 9587.443112] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready


Information about module:

Code:

# modinfo iwlwifi | head -n 20
filename:       /lib/modules/3.12.1-gentoo/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
license:        GPL
author:         Copyright(c) 2003-2013 Intel Corporation <ilw@linux.intel.com>
version:        in-tree:
description:    Intel(R) Wireless WiFi driver for Linux
firmware:       iwlwifi-100-5.ucode
firmware:       iwlwifi-1000-5.ucode
firmware:       iwlwifi-135-6.ucode
firmware:       iwlwifi-105-6.ucode
firmware:       iwlwifi-2030-6.ucode
firmware:       iwlwifi-2000-6.ucode
firmware:       iwlwifi-5150-2.ucode
firmware:       iwlwifi-5000-5.ucode
firmware:       iwlwifi-6000g2b-6.ucode
firmware:       iwlwifi-6000g2a-5.ucode
firmware:       iwlwifi-6050-5.ucode
firmware:       iwlwifi-6000-4.ucode
srcversion:     77B62B8EEA7ADAE8628C365
(...)
depends:        cfg80211
intree:         Y
vermagic:       3.12.1-gentoo SMP preempt mod_unload
parm:           swcrypto:using crypto in software (default 0 [hardware]) (int)
parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: agg TX, 4: agg RX (uint)
parm:           amsdu_size_8K:enable 8K amsdu size (default 0) (int)
parm:           fw_restart:restart firmware in case of error (default true) (bool)
parm:           antenna_coupling:specify antenna coupling in dB (defualt: 0 dB) (int)
parm:           wd_disable:Disable stuck queue watchdog timer 0=system default, 1=disable, 2=enable (default: 0) (int)
parm:           nvm_file:NVM file name (charp)
parm:           bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm:           led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
parm:           power_save:enable WiFi power management (default: disable) (bool)
parm:           power_level:default power save level (range from 1 - 5, default: 1) (int)
# for f in /sys/module/iwlwifi/parameters/*; do echo -n $(basename $f):'\t\t' ; cat $f; done
11n_disable:            0
amsdu_size_8K:          0
antenna_coupling:       0
bt_coex_active:         Y
fw_restart:             Y
led_mode:               0
nvm_file:               (null)
power_level:            0
power_save:             N
swcrypto:               0
wd_disable:             1


Any idea what might be the cause of the interruptions? I don't think it's hardware as on Windows it works just fine.
_________________
I've probably left my head... somwhere. Please wait untill I find it.


Last edited by Uzytkownik on Sun Dec 08, 2013 2:28 pm; edited 1 time in total
Back to top
View user's profile Send private message
Logicien
Veteran
Veteran


Joined: 16 Sep 2005
Posts: 1555
Location: Montréal

PostPosted: Sat Nov 30, 2013 6:28 pm    Post subject: Reply with quote

Hello,

do you know if the problem come from the server and/or the client side? If only one 'network' have the problem, it's not clear that your Gentoo box is responsable of it.

Do you disconnect/reconnect by yourself or it is Linux who do it? Some wireless module options can be set to try to help. In /etc/modprobe.d/wireless.conf file for example write
Code:
options iwlwifi 11n_disable=1 bt_coex_active=1
options cfg80211 ieee80211_regdom=CA
options mac80211 max_nullfunc_tries=60 max_probe_tries=60 probe_wait_ms=3600000

Change CA for your country code. This only have effect if the support is in modules. Reboot.
_________________
Paul
Back to top
View user's profile Send private message
Uzytkownik
Guru
Guru


Joined: 31 Oct 2004
Posts: 399
Location: Bay Area, US

PostPosted: Sat Nov 30, 2013 6:59 pm    Post subject: Reply with quote

Logicien wrote:
Hello,

do you know if the problem come from the server and/or the client side? If only one 'network' have the problem, it's not clear that your Gentoo box is responsable of it.

Do you disconnect/reconnect by yourself or it is Linux who do it? Some wireless module options can be set to try to help. In /etc/modprobe.d/wireless.conf file for example write
Code:
options iwlwifi 11n_disable=1 bt_coex_active=1
options cfg80211 ieee80211_regdom=CA
options mac80211 max_nullfunc_tries=60 max_probe_tries=60 probe_wait_ms=3600000

Change CA for your country code. This only have effect if the support is in modules. Reboot.


The client side is the one I have any control over so even if bug is on server side it needs to be workaround on client. I need to reconnect manually - as I said - from what I see in tools it looks as if the connection still existed.
_________________
I've probably left my head... somwhere. Please wait untill I find it.
Back to top
View user's profile Send private message
Logicien
Veteran
Veteran


Joined: 16 Sep 2005
Posts: 1555
Location: Montréal

PostPosted: Sat Nov 30, 2013 8:46 pm    Post subject: Reply with quote

Gentoo/GNU/Linux is a good operating system as server and client, but I hardly see how it is possible for a server or a client to workaround a problem who come from the other side of the link. Even if it's possible in certain cases, I would not count on a workaround on the client side to fix a problem on the server side.

:)
_________________
Paul
Back to top
View user's profile Send private message
Uzytkownik
Guru
Guru


Joined: 31 Oct 2004
Posts: 399
Location: Bay Area, US

PostPosted: Sat Nov 30, 2013 8:57 pm    Post subject: Reply with quote

Logicien wrote:
Gentoo/GNU/Linux is a good operating system as server and client, but I hardly see how it is possible for a server or a client to workaround a problem who come from the other side of the link. There's probably some possibilities, but I would not count on a workaround on the client side to fix a problem on the server side.

:)


I said it is the only option, not that it is possibility ;)

On more serious note - everything works fine on other devices and Windows[1] so 'the problem on server' would be closer to 'yeah, the option X is in standard but "nobody"'s using it so I'll skip it' then not work at all.

[1] The strange thing is that in my experience so far the reverse was true more often - I had a friend who could not get WiFi working on Windows at all at his home while his Linux installation worked just fine.
_________________
I've probably left my head... somwhere. Please wait untill I find it.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum