All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denis Kenzior <denkenz@gmail.com>
To: iwd@lists.01.org
Subject: Re: iwd not connecting on Raspberry Pi with Raspbian
Date: Sat, 29 Aug 2020 14:11:56 -0500	[thread overview]
Message-ID: <7c63237c-ebea-7df2-f792-c589266046e9@gmail.com> (raw)
In-Reply-To: <3765450.Iyh0gPlrZJ@mmm>

[-- Attachment #1: Type: text/plain, Size: 4864 bytes --]

Hi Patrick,

On 8/29/20 7:59 AM, Patrick Häcker wrote:
> Hello,
> 
> I try to get iwd running on a Raspberry Pi using a Raspbian kernel (5.4.59).
> The needed kernel options should be added (https://github.com/raspberrypi/
> linux/issues/3547), wpa_supplicant works, I compiled a kernel adding
> CONFIG_KEY_DH_OPERATIONS (which was the only remaining complaint by iwd),
> upgraded to iwd 1.8 but had no success.

CONFIG_KEY_DH_OPERATIONS is needed for WPS.  If you're not using that, then this 
can be dropped, but probably a good idea to keep it.

> 
> Now I am running out of ideas what else to try. The (hopefully) relevant part
> of iwd running in debug mode for 2.4 GHz:
>> src/station.c:station_autoconnect_next() Considering autoconnecting to BSS
>>      '98:9b:cb:4b:b1:cc' with SSID: auenstein, freq: 2472, rank: 7090,
>>      strength: -5600
>> src/station.c:station_enter_state() Old State: autoconnect_quick, new
>>      state: connecting
>> src/station.c:station_netdev_event() Associating
>> src/netdev.c:netdev_unicast_notify() Unicast notification 59
>> src/netdev.c:netdev_mlme_notify() MLME notification Connect(46)
>> src/netdev.c:netdev_connect_event()
>> src/netdev.c:netdev_link_notify() event 16 on ifindex 3
>> src/netdev.c:netdev_link_notify() event 16 on ifindex 3
>> src/netdev.c:netdev_link_notify() event 16 on ifindex 3
>> src/netdev.c:netdev_link_notify() event 16 on ifindex 3
>> src/wiphy.c:wiphy_reg_notify() Notification of command Reg Change(36)
>> src/wiphy.c:wiphy_update_reg_domain() New reg domain country code for
>>      (global) is DE
>> 4-Way handshake failed for ifindex: 3, reason: 15
>> src/station.c:station_connect_cb() 3, result: 3
>> src/station.c:station_disassociated() 3
>> src/station.c:station_enter_state() Old State: connecting, new state:
>>      disconnected

This is a brcmfmac card right?  We have seen some weirdness with brcmfmac where 
it simply refuses to perform the handshake (which is what is happening in your 
case).  The handshake times out (reason: 15 = 
MMPDU_REASON_CODE_4WAY_HANDSHAKE_TIMEOUT).

The strange part is that it does work in other setups and it seems to be a 
combination of AP or some other weird factor that screws this up.  Have you 
tried different brcmfmac firmware versions?

> 
> And the same for 5.6 GHz with a different error:
>> src/station.c:station_autoconnect_next() Considering autoconnecting to BSS
>>      '98:9b:cb:4b:b1:cd' with SSID: auenstein5G, freq: 5600, rank: 4592,
>>      strength: -6500
>> src/station.c:station_enter_state() Old State:
>>      autoconnect_quick, new state: connecting
>> src/station.c:station_netdev_event() Associating
>> src/netdev.c:netdev_unicast_notify() Unicast notification 59
>> src/netdev.c:netdev_mlme_notify() MLME notification Connect(46)
>> src/netdev.c:netdev_connect_event()
>> src/netdev.c:netdev_link_notify() event 16 on ifindex 3
>> src/netdev.c:netdev_link_notify() event 16 on ifindex 3
>> src/netdev.c:netdev_link_notify() event 16 on ifindex 3
>> src/netdev.c:netdev_link_notify() event 16 on ifindex 3
>> src/wiphy.c:wiphy_reg_notify() Notification of command Reg Change(36)
>> src/wiphy.c:wiphy_update_reg_domain() New reg domain country code for
>>      (global) is DE

Seems like the kernel is switching the regulatory domain here, right after we 
try to connect.  I wonder if you can use iw to set this prior to triggering the 
connection with iwd.  Does anything change?

>> src/netdev.c:netdev_link_notify() event 16 on ifindex 3
>> src/netdev.c:netdev_mlme_notify() MLME notification Disconnect(48)
>> src/netdev.c:netdev_disconnect_event()
>> Received Deauthentication event, reason: 2, from_ap: false

And here we see the firmware using an incorrect password somehow and triggering 
a disconnect by itself, without iwd's input.  I think James had the exact same 
issue on RPI4, and we determined that the firmware/driver was just borked...

>> src/station.c:station_disconnect_event() 3
>> src/station.c:station_disassociated() 3
>> src/station.c:station_enter_state() Old State: connecting, new state:
>> disconnected >
> I could imagine, that there is still a kernel module missing, but this is just
> guessing. Any hints how to continue debugging?

This is a driver / firmware problem.  You say that wpa_s works correctly.  Can 
you capture iwmon traces of both wpa_s and iwd trying to connect to the same AP 
and share that with us?

Refer to: https://iwd.wiki.kernel.org/debugging for details.  You can also hop 
onto #iwd on freenode.  Usually we're around during US working hours.

> 
> I still think that iwd would be a good match for the Raspberry Pi and ideally
> after this issue is fixed most Raspberry Pi user can switch to iwd if they
> like.
> 

Yes, definitely.

Regards,
-Denis

  parent reply	other threads:[~2020-08-29 19:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-29 12:59 iwd not connecting on Raspberry Pi with Raspbian Patrick =?unknown-8bit?q?H=C3=A4cker?=
2020-08-29 14:07 ` KeithG
2020-08-29 17:20   ` Patrick =?unknown-8bit?q?H=C3=A4cker?=
2020-08-29 17:22     ` KeithG
2020-08-29 19:11 ` Denis Kenzior [this message]
2020-08-30 13:38   ` Patrick =?unknown-8bit?q?H=C3=A4cker?=
2020-08-31 13:42     ` Denis Kenzior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7c63237c-ebea-7df2-f792-c589266046e9@gmail.com \
    --to=denkenz@gmail.com \
    --cc=iwd@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.