Gentoo Archives: gentoo-user

From: Mick <michaelkintzios@×××××.com>
To: gentoo-user <gentoo-user@l.g.o>
Subject: [gentoo-user] Intel(R) WiFi Link 5100 AGN - random de-authentication
Date: Wed, 07 May 2014 15:58:12
Message-Id: CAGOe-ezfXyrX_zNQXCEuX=9NiLoHG2S18Oaon6kKQwPmn17J9Q@mail.gmail.com
I am trying to get Gentoo running on an Acer Aspire 3935 and it is
mostly working
except for the wireless, which seems to have ... Centrino inside!  :@

(Apologies for the long message, but I thought I'll post all I know in
one go, so as to minimise a prolonged Q&A session)

I have compiled on a 3.12.13-gentoo kernel:

CONFIG_IWLWIFI=m
CONFIG_IWLDVM=m
CONFIG_IWLWIFI_OPMODE_MODULAR=y


My /etc/conf.d/net section says:

modules="wpa_supplicant"
wpa_supplicant_wlp4s0="-Dwext"
config_wlp4s0="dhcp"
dhcpcd_wlp4s0="-t 45"
metric_wlp4s0=20


My wpa_supplicant.conf has this section:

network={
       ssid="My_AP"
       bssid=00:A0:C8:1F:16:A2
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        auth_alg=OPEN
        group=CCMP
        psk="secret_passphrase"
       priority=5
}

Same configuration and AP works fine with other laptops, which do not
have the same wireless chipset.


With this laptop, running the netifrc script does not bring the card
up.  The firmware  (in kernel) is loaded as dmesg shows:
=================================
$ dmesg | grep -i wifi
[    9.451850] Intel(R) Wireless WiFi driver for Linux, in-tree:
[    9.452022] iwlwifi 0000:04:00.0: can't disable ASPM; OS doesn't
have ASPM control
[    9.452184] iwlwifi 0000:04:00.0: irq 47 for MSI/MSI-X
[   10.229544] iwlwifi 0000:04:00.0: loaded firmware version 8.83.5.1
build 33692 op_mode iwldvm
[   10.256874] iwlwifi 0000:04:00.0: CONFIG_IWLWIFI_DEBUG disabled
[   10.256885] iwlwifi 0000:04:00.0: CONFIG_IWLWIFI_DEBUGFS disabled
[   10.256892] iwlwifi 0000:04:00.0: CONFIG_IWLWIFI_DEVICE_TRACING disabled
[   10.256899] iwlwifi 0000:04:00.0: Detected Intel(R) WiFi Link 5100
AGN, REV=0x54
[   10.257068] iwlwifi 0000:04:00.0: L1 Enabled; Disabling L0S
[   30.826602] iwlwifi 0000:04:00.0: L1 Enabled; Disabling L0S
[   30.829610] iwlwifi 0000:04:00.0: Radio type=0x1-0x2-0x0
[   30.923329] iwlwifi 0000:04:00.0: L1 Enabled; Disabling L0S
[   30.926328] iwlwifi 0000:04:00.0: Radio type=0x1-0x2-0x0
[  490.545527] iwlwifi 0000:04:00.0: L1 Enabled; Disabling L0S
[  490.548542] iwlwifi 0000:04:00.0: Radio type=0x1-0x2-0x0
[  510.899848] iwlwifi 0000:04:00.0: L1 Enabled; Disabling L0S
[  510.902936] iwlwifi 0000:04:00.0: Radio type=0x1-0x2-0x0
[  514.377859] iwlwifi 0000:04:00.0 wlp4s0: disabling HT as WMM/QoS is
not supported by the AP
[  514.377869] iwlwifi 0000:04:00.0 wlp4s0: disabling VHT as WMM/QoS
is not supported by the AP
=================================

but no link becomes available:

# /etc/init.d/net.wlp4s0 restart
 * Bringing up interface wlp4s0
 *   Starting wpa_supplicant on wlp4s0 ...
Successfully initialized wpa_supplicant
ioctl[SIOCSIWPMKSA]: Invalid argument
ioctl[SIOCSIWMODE]: Invalid argument
ioctl[SIOCGIWRANGE]: Invalid argument
ioctl[SIOCGIWMODE]: Invalid argument
ioctl[SIOCSIWAP]: Invalid argument
ioctl[SIOCSIWESSID]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWPMKSA]: Invalid argument                                     [ ok ]
 *   Starting wpa_cli on wlp4s0 ...                                       [ ok ]
 *   Backgrounding ... ...
 * WARNING: net.wlp4s0 has started, but is inactive


The logs show:
==============================
May 07 15:56:43 [kernel] [ 1623.589327] Intel(R) Wireless WiFi driver
for Linux, in-tree:
May 07 15:56:43 [kernel] [ 1623.589337] Copyright(c) 2003-2013 Intel Corporation
May 07 15:56:43 [kernel] [ 1623.589609] iwlwifi 0000:04:00.0: can't
disable ASPM; OS doesn't have ASPM control
May 07 15:56:43 [kernel] [ 1623.590070] iwlwifi 0000:04:00.0: irq 47
for MSI/MSI-X
May 07 15:56:43 [kernel] [ 1623.591547] iwlwifi 0000:04:00.0: loaded
firmware version 8.83.5.1 build 33692 op_mode iwldvm
May 07 15:56:43 [kernel] [ 1623.596768] iwlwifi 0000:04:00.0:
CONFIG_IWLWIFI_DEBUG disabled
May 07 15:56:43 [kernel] [ 1623.596781] iwlwifi 0000:04:00.0:
CONFIG_IWLWIFI_DEBUGFS disabled
May 07 15:56:43 [kernel] [ 1623.596788] iwlwifi 0000:04:00.0:
CONFIG_IWLWIFI_DEVICE_TRACING disabled
May 07 15:56:43 [kernel] [ 1623.596795] iwlwifi 0000:04:00.0: Detected
Intel(R) WiFi Link 5100 AGN, REV=0x54
May 07 15:56:43 [kernel] [ 1623.597194] iwlwifi 0000:04:00.0: L1
Enabled; Disabling L0S
May 07 15:56:43 [kernel] [ 1623.624050] ieee80211 phy4: Selected rate
control algorithm 'iwl-agn-rs'
May 07 15:56:43 [kernel] [ 1623.781022] iwlwifi 0000:04:00.0: L1
Enabled; Disabling L0S
May 07 15:56:43 [kernel] [ 1623.784065] iwlwifi 0000:04:00.0: Radio
type=0x1-0x2-0x0
May 07 15:56:43 [kernel] [ 1623.879476] iwlwifi 0000:04:00.0: L1
Enabled; Disabling L0S
May 07 15:56:43 [kernel] [ 1623.882488] iwlwifi 0000:04:00.0: Radio
type=0x1-0x2-0x0
May 07 15:56:43 [kernel] [ 1623.905646] IPv6: ADDRCONF(NETDEV_UP):
wlp4s0: link is not ready
==============================


Trying wpa_cli just shows:
===============
Selected interface 'wlp4s0'

Interactive mode

<4>Failed to initiate AP scan
<4>Failed to initiate AP scan
<4>Failed to initiate AP scan
[snip ...]
===============


Another way I tried was without starting the netifrc scripts and
instead using connman (supposedly a front end for wpa_supplicant).
Surprisingly, now I get a connection, but alas, it won't last.  Trying
passing different parameters to the module I managed to get it to
connect and spend around 7 minutes online at a time (after that time
it will de/re-authenticate), if I modprobe it like this:

# modprobe -v iwlwifi power_save=0 power_level=3 11n_disable=1
insmod /lib/modules/3.12.13-gentoo/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
power_save=0 power_level=3 11n_disable=1

Then it will de-authenticate with (Reason: 1) and re-authenticate
straight after.  This is an example from the logs:
=======================================
May 07 16:02:48 [kernel] [ 1989.232888] wlp4s0: authenticate with
00:A0:C8:1F:16:A2
May 07 16:02:48 [kernel] [ 1989.237831] wlp4s0: send auth to
00:A0:C8:1F:16:A2 (try 1/3)
May 07 16:02:48 [kernel] [ 1989.251354] wlp4s0: authenticated
May 07 16:02:48 [kernel] [ 1989.251675] iwlwifi 0000:04:00.0 wlp4s0:
disabling HT as WMM/QoS is not supported by the AP
May 07 16:02:48 [kernel] [ 1989.251684] iwlwifi 0000:04:00.0 wlp4s0:
disabling VHT as WMM/QoS is not supported by the AP
May 07 16:02:48 [kernel] [ 1989.252038] wlp4s0: associate with
00:A0:C8:1F:16:A2 (try 1/3)
May 07 16:02:48 [kernel] [ 1989.254371] wlp4s0: RX AssocResp from
00:A0:C8:1F:16 (capab=0x431 status=0 aid=1)
May 07 16:02:48 [kernel] [ 1989.259053] wlp4s0: associated
May 07 16:02:48 [kernel] [ 1989.259106] IPv6: ADDRCONF(NETDEV_CHANGE):
wlp4s0: link becomes readyMay 07 16:10:15 [kernel] [ 2436.358251]
wlp4s0: deauthenticated from 00:A0:C8:1F:16 (Reason: 1)
May 07 16:10:15 [kernel] [ 2436.369580] cfg80211: Calling CRDA to
update world regulatory domain
May 07 16:10:16 [kernel] [ 2436.728045] IPv6: ADDRCONF(NETDEV_UP):
wlp4s0: link is not ready
May 07 16:10:16 [kernel] [ 2436.760276] cfg80211: World regulatory
domain updated:
May 07 16:10:16 [kernel] [ 2436.760286] cfg80211:   (start_freq -
end_freq @ bandwidth), (max_antenna_gain, max_eirp)
May 07 16:10:16 [kernel] [ 2436.760294] cfg80211:   (2402000 KHz -
2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
May 07 16:10:16 [kernel] [ 2436.760300] cfg80211:   (2457000 KHz -
2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
May 07 16:10:16 [kernel] [ 2436.760306] cfg80211:   (2474000 KHz -
2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
May 07 16:10:16 [kernel] [ 2436.760312] cfg80211:   (5170000 KHz -
5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
May 07 16:10:16 [kernel] [ 2436.760317] cfg80211:   (5735000 KHz -
5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
May 07 16:10:19 [kernel] [ 2439.459796] wlp4s0: authenticate with
00:A0:C8:1F:16:A2
May 07 16:10:19 [kernel] [ 2439.462795] wlp4s0: send auth to
00:A0:C8:1F:16:A2 (try 1/3)
May 07 16:10:19 [kernel] [ 2439.465260] wlp4s0: authenticated
May 07 16:10:19 [kernel] [ 2439.465489] iwlwifi 0000:04:00.0 wlp4s0:
disabling HT as WMM/QoS is not supported by the AP
May 07 16:10:19 [kernel] [ 2439.465499] iwlwifi 0000:04:00.0 wlp4s0:
disabling VHT as WMM/QoS is not supported by the AP
May 07 16:10:19 [kernel] [ 2439.466352] wlp4s0: associate with
00:A0:C8:1F:16:A2 (try 1/3)
May 07 16:10:19 [kernel] [ 2439.468830] wlp4s0: RX AssocResp from
00:A0:C8:1F:16:A2 (capab=0x431 status=0 aid=1)
May 07 16:10:19 [kernel] [ 2439.477564] wlp4s0: associated
May 07 16:10:19 [kernel] [ 2439.477619] IPv6: ADDRCONF(NETDEV_CHANGE):
wlp4s0: link becomes ready
May 07 16:18:50 [kernel] [ 2950.472542] wlp4s0: deauthenticated from
00:A0:C8:1F:16:A2 (Reason: 1)
May 07 16:18:50 [kernel] [ 2950.485737] cfg80211: Calling CRDA to
update world regulatory domain
May 07 16:18:50 [kernel] [ 2950.494516] cfg80211: World regulatory
domain updated:
May 07 16:18:50 [kernel] [ 2950.494526] cfg80211:   (start_freq -
end_freq @ bandwidth), (max_antenna_gain, max_eirp)
May 07 16:18:50 [kernel] [ 2950.494533] cfg80211:   (2402000 KHz -
2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
May 07 16:18:50 [kernel] [ 2950.494539] cfg80211:   (2457000 KHz -
2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
May 07 16:18:50 [kernel] [ 2950.494545] cfg80211:   (2474000 KHz -
2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
May 07 16:18:50 [kernel] [ 2950.494551] cfg80211:   (5170000 KHz -
5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
May 07 16:18:50 [kernel] [ 2950.494557] cfg80211:   (5735000 KHz -
5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
May 07 16:18:50 [kernel] [ 2950.821948] IPv6: ADDRCONF(NETDEV_UP):
wlp4s0: link is not ready
May 07 16:18:53 [kernel] [ 2953.715508] wlp4s0: authenticate with
00:A0:C8:1F:16:A2
May 07 16:18:53 [kernel] [ 2953.718074] wlp4s0: send auth to
00:A0:C8:1F:16:A2 (try 1/3)
May 07 16:18:53 [kernel] [ 2953.720585] wlp4s0: authenticated
May 07 16:18:53 [kernel] [ 2953.724693] iwlwifi 0000:04:00.0 wlp4s0:
disabling HT as WMM/QoS is not supported by the AP
May 07 16:18:53 [kernel] [ 2953.724706] iwlwifi 0000:04:00.0 wlp4s0:
disabling VHT as WMM/QoS is not supported by the AP
May 07 16:18:53 [kernel] [ 2953.726072] wlp4s0: associate with
00:A0:C8:1F:16:A2 (try 1/3)
May 07 16:18:53 [kernel] [ 2953.728414] wlp4s0: RX AssocResp from
00:A0:C8:1F:16:A2 (capab=0x431 status=0 aid=1)
May 07 16:18:53 [kernel] [ 2953.741267] wlp4s0: associated
May 07 16:18:53 [kernel] [ 2953.741342] IPv6: ADDRCONF(NETDEV_CHANGE):
wlp4s0: link becomes ready
====================================================

and so on.  If I modprobe it with "11n_disable=1", it will
de-authenticate but will not re-authenticate on its own.  The connman
status then shows "connman crashed".  If leave power_level=3 to 1,
which is the default, then it'll drop out sooner and not
re-authenticate.

Anyway I look at this it smells as a driver problem, but I do not
understand why connman works albeit imperfectly, while the netifrc
script does not.

Do you have any experience with this wireless chipset?  Anything else
I should try?

PS.  I have also tried linux-firmware and linux-iwlwifi, but I
couldn't get to connect at all.

-- 
Regards,
Mick

Replies