Description of problem: Network manager can scan for APs but is unable to connect (open or encrypted) Version-Release number of selected component (if applicable): ALL How reproducible: Always workaround: rmmod iwldvm iwlwifi modprobe iwlwifi 11n_disable=1 bt_coex_active=0
After speaking with PaulFerster in #linux-wireless I think this may be a NetworkManager bug, but im not 100% sure. However, when I run these commands it works, and I'm going to be adding this to my /etc/modprobe.d configuration so that it sticks on boot. I will try and post some logs later today.
Which of module options help ? Or both are needed to make things work?
Both.
I believe I am running into a similair issue, when wimax is enabled on my 6050 wi-fi will sometimes scan, but never connect. If I disable wimax everything works just fine. Logs with wimax enabled: [ 3325.572829] iwlwifi 0000:03:00.0: Microcode SW error detected. Restarting 0x2000000. [ 3325.572872] iwlwifi 0000:03:00.0: RF is used by WiMAX [ 3328.291345] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues [ 3330.286047] iwlwifi 0000:03:00.0: Error sending REPLY_ADD_STA: time out after 2000ms. [ 3330.286056] iwlwifi 0000:03:00.0: Current CMD queue read_ptr 208 write_ptr 210 [ 3330.286062] wlan0: HW problem - can not stop rx aggregation for tid 0 [ 3330.292118] cfg80211: Calling CRDA to update world regulatory domain [ 3330.298773] cfg80211: World regulatory domain updated: [ 3330.298777] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [ 3330.298781] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 3330.298784] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [ 3330.298787] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [ 3330.298789] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 3330.298792] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 3332.288655] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues [ 3332.288729] iwlwifi 0000:03:00.0: Request scan called when driver not ready. [ 3333.287529] iwlwifi 0000:03:00.0: Request scan called when driver not ready.
Update: # rmmod iwldvm iwlwifi # modprobe iwlwifi bt_coex_active=0 This is enough to get wifi to connect. However I also had to manually add the following to wpa_supplicant.conf: network={ ssid="accesspoint" #psk="password" psk=presharedkeygoeshere }
Changing password on wpa_supplicant does not matter actually. Some HW platforms do not correctly assert COEX bit, so wifi device thinks that Bluetooth or WiMAX is used (where as is not) and do not transmit. So, I'm not sure if this is not a HW problem. But looking at comment 4 there is Microcode error, so this seems to be a bug. I'm ccing Emmanuel @ intel, he hopefully could help to solve this issue.
(In reply to comment #6) > Changing password on wpa_supplicant does not matter actually. > > Some HW platforms do not correctly assert COEX bit, so wifi device thinks > that Bluetooth or WiMAX is used (where as is not) and do not transmit. So, > I'm not sure if this is not a HW problem. But looking at comment 4 there is > Microcode error, so this seems to be a bug. > Yes the Microcode error is a bug, but a harmless one. It just prints Microcode error and then we handle the COEX thing. Note that I am not familiar at all with all this feature but will try my best to help here.
Emmanuel, Basically on every reboot I have to do the following: rmmod iwldvm iwlwifi modprobe iwlwifi bt_coex_active=0 Once I do this wireless works.
Dan, once you do: echo 'options iwlwifi iwlwifi bt_coex_active=0' > /etc/modprobe.d/iwlwifi.conf this option will be added automatically before module load on every boot. What kernel version are you using? Did you try to update or downgrde the kernel? I would like to know if this is regression, i.e. if things work on some old kernel?
Also, can you please enable the bt_coex and enable debug flags 0x8000? modprobe iwlwifi debug=0x8000 Thanks
Stanislaw, This problem has been happening for months, and I have tried recompiling the kernel from scratch. It's not a kernel issue. It's a module issue. There should probably be a separate module created for 6xxx + wimax cards. I discovered the trick on a BSD forum. Emmanuel, Will do that when I get home.
I ran with debug=0x800. Which logs do you need?
Please do "dmesg > dmesg.txt" and attach dmesg.txt here
[ 2804.323080] Intel(R) Wireless WiFi driver for Linux, in-tree:d [ 2804.323083] Copyright(c) 2003-2012 Intel Corporation [ 2804.323148] iwlwifi 0000:02:00.0: pci_resource_len = 0x00002000 [ 2804.323151] iwlwifi 0000:02:00.0: pci_resource_base = ffffc90000c74000 [ 2804.323153] iwlwifi 0000:02:00.0: HW Revision ID = 0x67 [ 2804.323248] iwlwifi 0000:02:00.0: irq 46 for MSI/MSI-X [ 2804.324838] iwlwifi 0000:02:00.0: loaded firmware version 41.28.5.1 build 33926 [ 2804.333015] iwldvm: Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:d [ 2804.333018] iwldvm: Copyright(c) 2003-2012 Intel Corporation [ 2804.333036] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUG enabled [ 2804.333038] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUGFS enabled [ 2804.333039] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEVICE_TRACING disabled [ 2804.333041] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEVICE_TESTMODE disabled [ 2804.333043] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_P2P disabled [ 2804.333045] iwlwifi 0000:02:00.0: Detected Intel(R) Centrino(R) Wireless-N + WiMAX 6150 BGN, REV=0x84 [ 2804.333109] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S [ 2804.343906] iwlwifi 0000:02:00.0: device EEPROM VER=0x557, CALIB=0x6 [ 2804.343911] iwlwifi 0000:02:00.0: Device SKU: 0x150 [ 2804.343913] iwlwifi 0000:02:00.0: Valid Tx ant: 0x1, Valid Rx ant: 0x3 [ 2804.344035] Registered led device: phy2-led [ 2804.344246] ieee80211 phy2: Selected rate control algorithm 'iwl-agn-rs' [ 2804.537710] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S [ 2804.537868] iwlwifi 0000:02:00.0: Radio type=0x1-0x2-0x0 [ 2804.699244] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S [ 2804.699409] iwlwifi 0000:02:00.0: Radio type=0x1-0x2-0x0 [ 2804.766421] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 2804.784370] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S [ 2804.784528] iwlwifi 0000:02:00.0: Radio type=0x1-0x2-0x0 [ 2804.851973] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 2805.728038] wlan0: authenticate with 00:25:9c:dc:52:76 [ 2805.734286] wlan0: send auth to 00:25:9c:dc:52:76 (try 1/3) [ 2805.736114] wlan0: authenticated [ 2805.736434] wlan0: waiting for beacon from 00:25:9c:dc:52:76 [ 2805.754669] wlan0: associate with 00:25:9c:dc:52:76 (try 1/3) [ 2805.762252] wlan0: RX AssocResp from 00:25:9c:dc:52:76 (capab=0x411 status=0 aid=4) [ 2805.764925] wlan0: associated [ 2805.764989] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [root@localhost ~]#
This is dmesg without debug option ... modprobe -r iwlwifi modprobe -r iwldvm modprobe iwlwifi debug=0x8000 dmesg > dmesg.txt Use "Add an attachment" for attaching a dmesg.txt file, please do not copy/paste into comments area.
Created attachment 673855 [details] dmesg attached entire dmesg
ok - this means that the Tx queues aren't open apparently... But since you have a W/A, this bug will get lower priority.
I only discovered this W/A after months of googling and getting lucky. It is reproducible on all distros and is extremely frustrating. Please make this a somewhat medium priority if possible. Thanks in advance.
Created attachment 679505 [details] prio table fix No guarantee. I just saw that on the way. Please test.
Very nice. Thank you.
Dan, does it mean you tested patch and it fixed the problem?
The patch does not seem to work. I rebuilt the Kernel with Mr. Forbes during FUDcon and I just tested it I sill have to run my script to connect to wifi.
I've got a similar situation here with a Intel 6205 (no wimax); it does not connect on boot unless: 1) I suspend and resume (seriously) - or - 2) I load the module with bt_coex_active=0 kernel is 3.7.x. dmesg: [ 14.800976] iwlwifi 0000:03:00.0: pci_resource_len = 0x00002000 [ 14.800983] iwlwifi 0000:03:00.0: pci_resource_base = ffffc900055fc000 [ 14.800987] iwlwifi 0000:03:00.0: HW Revision ID = 0x34 [ 14.801216] iwlwifi 0000:03:00.0: irq 45 for MSI/MSI-X [ 14.991460] iwlwifi 0000:03:00.0: loaded firmware version 17.168.5.3 build 42301 [ 15.003324] iwldvm: Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:d [ 15.003330] iwldvm: Copyright(c) 2003-2012 Intel Corporation [ 15.003367] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEBUG enabled [ 15.003372] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEBUGFS enabled [ 15.003377] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEVICE_TRACING disabled [ 15.003381] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEVICE_TESTMODE disabled [ 15.003385] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_P2P disabled [ 15.003391] iwlwifi 0000:03:00.0: Detected Intel(R) Centrino(R) Advanced-N 6205 AGN, REV=0xB0 [ 15.003577] iwlwifi 0000:03:00.0: L1 Enabled; Disabling L0S [ 15.021321] iwlwifi 0000:03:00.0: device EEPROM VER=0x715, CALIB=0x6 [ 15.021329] iwlwifi 0000:03:00.0: Device SKU: 0x1F0 [ 15.021334] iwlwifi 0000:03:00.0: Valid Tx ant: 0x3, Valid Rx ant: 0x3 [ 15.036958] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs' [ 16.590967] iwlwifi 0000:03:00.0: L1 Enabled; Disabling L0S [ 16.603784] iwlwifi 0000:03:00.0: Radio type=0x1-0x2-0x0 [ 17.018149] iwlwifi 0000:03:00.0: L1 Enabled; Disabling L0S [ 17.024794] iwlwifi 0000:03:00.0: Radio type=0x1-0x2-0x0 [ 17.258638] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 23.068349] wlan0: authenticate with 00:21:91:ff:0d:f9 [ 23.093684] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 1/3) [ 23.294173] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 2/3) [ 23.495197] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 3/3) [ 23.696129] wlan0: authentication with 00:21:91:ff:0d:f9 timed out [ 26.611832] wlan0: authenticate with 00:21:91:ff:0d:f9 [ 26.614470] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 1/3) [ 26.814746] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 2/3) [ 27.015741] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 3/3) [ 27.216701] wlan0: authentication with 00:21:91:ff:0d:f9 timed out [ 30.131181] wlan0: authenticate with 00:21:91:ff:0d:f9 [ 30.132131] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 1/3) [ 30.332280] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 2/3) [ 30.533259] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 3/3) [ 30.734230] wlan0: authentication with 00:21:91:ff:0d:f9 timed out [ 32.735967] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues [ 35.546564] wlan0: authenticate with 00:21:91:ff:0d:f9 [ 35.549533] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 1/3) [ 35.750585] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 2/3) [ 35.951552] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 3/3) [ 36.152536] wlan0: authentication with 00:21:91:ff:0d:f9 timed out [ 39.068165] wlan0: authenticate with 00:21:91:ff:0d:f9 [ 39.070797] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 1/3) [ 39.271147] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 2/3) [ 39.472163] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 3/3) [ 39.673149] wlan0: authentication with 00:21:91:ff:0d:f9 timed out [ 42.589238] wlan0: authenticate with 00:21:91:ff:0d:f9 [ 42.592773] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 1/3) [ 42.793741] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 2/3) [ 42.994723] wlan0: direct probe to 00:21:91:ff:0d:f9 (try 3/3) [ 43.195684] wlan0: authentication with 00:21:91:ff:0d:f9 timed out [ 45.197445] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues (here I suspend and resume) [ 56.807149] iwlwifi 0000:03:00.0: L1 Enabled; Disabling L0S [ 56.816557] iwlwifi 0000:03:00.0: Radio type=0x1-0x2-0x0 [ 57.064363] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 62.475850] wlan0: authenticate with 00:21:91:ff:0d:f9 [ 62.483145] wlan0: send auth to 00:21:91:ff:0d:f9 (try 1/3) [ 62.485049] wlan0: authenticated [ 62.486320] wlan0: associate with 00:21:91:ff:0d:f9 (try 1/3) [ 62.490538] wlan0: RX AssocResp from 00:21:91:ff:0d:f9 (capab=0x431 status=0 aid=1) [ 62.493151] wlan0: associated [ 62.493213] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
I assume those are platform (BIOS/hardware) problems. F/W or H/W assert PCIe coex pin, which make iwlwifi stop to transmit data. Suspend/resume can disable COEX pin on for some particular BIOS or H/W and make issue gone. There is no fix for that, except maybe update the BIOS.
Wrong.
Dan, are you aware of kernel/driver fix for this issue?
This is an Intel/Kernel/Linux wireless driver problem.
And no there is no fix, that's why the bug is open.
Stanislaw says "there is no fix", Dan says "wrong", Stanislaw asks if Dan knows of a fix, and Dan says "there is no fix" -- what we have here is a failure to communicate... :-)
It works fine in windows. It's not a BIOS problem. Please look at the workaround. Once this is run wireless works fine.
Wouldn't something like this help? http://p.sipsolutions.net/0dbf26f1d47ca754.txt
or maybe this http://p.sipsolutions.net/3834d6cfbe6229a4.txt let us know which one works better I guess :)
Will do.
Does any of proposed patches solve the problem ?
Dan, would help to finish testing, if I'll prepare test kernels with patches, so you'll not need to patch and build kernel yourself ?
Yeah let me do that right now. I'm taking a break and tired of having to run that script.
(In reply to Johannes Berg from comment #32) > or maybe this > > http://p.sipsolutions.net/3834d6cfbe6229a4.txt > > let us know which one works better I guess :) This one definitely seems to work and wifi is a hell of a lot faster. Haven't test the other one. But just did a fresh compile and boot of 3.9.6 with this patch.
Patch is already on iwlwifi-fixes tree https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=7b29fdb8cd8f92e31f550611a8c031986dba2e8f Josh, please apply it as fix for this bug.
Sorry, didn't get to this yesterday. I'll get it in right now.
OK, added to all branches now. Thanks.
There is a typo in the patch applied to f17/f18/f19 as well as the iwlwifi-fixes tree. The original patch says: + } else if (priv->cfg->bt_params) { where the applied one has: + } else if (priv->lib->bt_params) { This breaks the build with: drivers/net/wireless/iwlwifi/dvm/main.c: In function 'iwl_alive_start': drivers/net/wireless/iwlwifi/dvm/main.c:761:22: error: 'const struct iwl_lib_ops' has no member named 'bt_params' scripts/Makefile.build:307: recipe for target 'drivers/net/wireless/iwlwifi/dvm/main.o' failed make[5]: *** [drivers/net/wireless/iwlwifi/dvm/main.o] Error 1 scripts/Makefile.build:454: recipe for target 'drivers/net/wireless/iwlwifi/dvm' failed make[4]: *** [drivers/net/wireless/iwlwifi/dvm] Error 2 scripts/Makefile.build:454: recipe for target 'drivers/net/wireless/iwlwifi' failed make[3]: *** [drivers/net/wireless/iwlwifi] Error 2 make[3]: *** Waiting for unfinished jobs.... scripts/Makefile.build:454: recipe for target 'drivers/net/wireless' failed make[2]: *** [drivers/net/wireless] Error 2 scripts/Makefile.build:454: recipe for target 'drivers/net' failed make[1]: *** [drivers/net] Error 2 make[1]: *** Waiting for unfinished jobs.... The original patch compiles fine. Please, fix it.
(In reply to Joshua Covington from comment #41) > There is a typo in the patch applied to f17/f18/f19 as well as the > iwlwifi-fixes tree. The original patch says: > > + } else if (priv->cfg->bt_params) { > > where the applied one has: > > + } else if (priv->lib->bt_params) { > > This breaks the build with: > drivers/net/wireless/iwlwifi/dvm/main.c: In function 'iwl_alive_start': > drivers/net/wireless/iwlwifi/dvm/main.c:761:22: error: 'const struct > iwl_lib_ops' has no member named 'bt_params' > scripts/Makefile.build:307: recipe for target > 'drivers/net/wireless/iwlwifi/dvm/main.o' failed > make[5]: *** [drivers/net/wireless/iwlwifi/dvm/main.o] Error 1 > scripts/Makefile.build:454: recipe for target > 'drivers/net/wireless/iwlwifi/dvm' failed > make[4]: *** [drivers/net/wireless/iwlwifi/dvm] Error 2 > scripts/Makefile.build:454: recipe for target 'drivers/net/wireless/iwlwifi' > failed > make[3]: *** [drivers/net/wireless/iwlwifi] Error 2 > make[3]: *** Waiting for unfinished jobs.... > scripts/Makefile.build:454: recipe for target 'drivers/net/wireless' failed > make[2]: *** [drivers/net/wireless] Error 2 > scripts/Makefile.build:454: recipe for target 'drivers/net' failed > make[1]: *** [drivers/net] Error 2 > make[1]: *** Waiting for unfinished jobs.... > > The original patch compiles fine. Please, fix it. Fixed in all 3 branches. Thanks for pointing this out.
Will try and test this ASAP (hopefully Monday)
kernel-3.9.10-100.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/kernel-3.9.10-100.fc17
kernel-3.9.10-200.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/kernel-3.9.10-200.fc18
Package kernel-3.9.10-200.fc18: * should fix your issue, * was pushed to the Fedora 18 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing kernel-3.9.10-200.fc18' as soon as you are able to, then reboot. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-12987/kernel-3.9.10-200.fc18 then log in and leave karma (feedback).
kernel-3.9.10-100.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
kernel-3.9.10-200.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.