Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp2267497ybi; Sun, 9 Jun 2019 07:39:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqwlJkoMOnuKQMai+4gjD1D/AEUgSLC7fu1mn7AFR6wl2CDITcKGENrEM7twZSHvJFxFrsD6 X-Received: by 2002:a65:6648:: with SMTP id z8mr11591987pgv.303.1560091185791; Sun, 09 Jun 2019 07:39:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560091185; cv=none; d=google.com; s=arc-20160816; b=btO8aHf2FHaNEKCEQ3uZpG23cmx5K+FoMJfTu36SUHwfQYNtu5/AHBlvNc1R8tWECK foxsOq/sBleEcSqWNIU9mScdsB8YNg9N+7rSQ6ZFq7X2O9RZibjXr53BhiIdSzl7Z8QJ lkygsuD4+AKhF0V/rlso4swsTR0UOdO9XJDN6NS9k+rfL5aCqSrVwGgP95qa/y/TgMOi s4bNr4TGboGxjOSn8d7NR3D7K0yqvTtpLpKkweyuQC8fI8hfFLknTaX/x0hyCsVWrAzx WiN7667GuZjvaCisuF8PgPYzQqHRu7+xVMRmtFHb48NloeH9Y15YKwYRb2r3GFihfbz+ DxRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject:dkim-signature; bh=2B/RIjGHUT/vsYG/v5Zt/3JaknSAy9TmyLhmt7XtUBg=; b=O3ECqevLpqQLmsbHd9iRpnusKwqVbj4I2vZjfV8zC50nYv8xLKs5oqX6ztQH3rUeOy eGCU56tY1Bx0J5+FdQfkVYGCE7AkTt+/ZF0b2M7LQbE7qFBwh4nbGmevgnE/A4eDUTUw yo5hHYJDLAvZNsDQvtI7TwcN5hY9FqC72yP3pepV5Me03Q9Y93Cettve5PVrl6O/ruek m4JoW0jF8ljGMiZaq8Lq1RjwP/TlQ9j0zLivYFhKggmk/sIwo/PO1AQPzzxkLMFCTVSv FtqAlbN7CEgYO9MERFv+KH16KPI7oNRhqK4qU7V+uIWeon67sH4YZsGd+sSEYGLnPOwz QkwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@newmedia-net.de header.s=mikd header.b=A3KbMpqY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=newmedia-net.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z3si7022716plo.159.2019.06.09.07.39.29; Sun, 09 Jun 2019 07:39:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@newmedia-net.de header.s=mikd header.b=A3KbMpqY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=newmedia-net.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728849AbfFIOhF (ORCPT + 99 others); Sun, 9 Jun 2019 10:37:05 -0400 Received: from webmail.newmedia-net.de ([185.84.6.166]:38267 "EHLO webmail.newmedia-net.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727514AbfFIOhE (ORCPT ); Sun, 9 Jun 2019 10:37:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=newmedia-net.de; s=mikd; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject; bh=2B/RIjGHUT/vsYG/v5Zt/3JaknSAy9TmyLhmt7XtUBg=; b=A3KbMpqYfU3xcPjB0rJvhgtG6Cj9B2adg6gtwbH/1LQ/jWsNyAh3DaoJBEw6l+BPmfOCjr9eWLxXROyymbXFjPhW6FrD2rubaxFrn1BtgYP1WCOLmW4+NCaktC3H9P+VqXDnihypMN8hGJBZydjjVbNnJJEJ+ItA4Fgq2FX4FUY=; Subject: Re: [PATCH v3 1/2] mt76: mt7615: enable support for mesh To: Lorenzo Bianconi Cc: Ryder Lee , Felix Fietkau , Roy Luo , YF Luo , Yiwei Chung , Sean Wang , Chih-Min Chen , linux-wireless , linux-mediatek@lists.infradead.org, Linux Kernel Mailing List References: From: Sebastian Gottschall Message-ID: <0eea6d21-1de2-abc3-93f4-70ed04dac3df@newmedia-net.de> Date: Sun, 9 Jun 2019 16:36:23 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Received: from [2003:c9:3f05:3a00:f095:7be4:6d09:fd49] by webmail.newmedia-net.de with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.72) (envelope-from ) id 1hZywV-0005Wr-8f; Sun, 09 Jun 2019 16:37:07 +0200 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org by the way. this big fat kernel warning exists in all operation modes unless anything else but aes-128 ccmp is used. since the chipset is capable of doing gcmp etc. as well it would be nice if this issue can be fixed. otherwise encryption support can be defined as "broken" for mt7615 Am 06.06.2019 um 18:19 schrieb Lorenzo Bianconi: >> i tested your patch against a qca 9984 chipset using SAE and without >> encryption. both did not work. the devices are connecting, but no data >> connection is possible > Hi Sebastian, > > I tested Ryder's patch using mt76x2 as mesh peer and it works fine for me. > Could you please provide some more info? > > Regards, > Lorenzo > >> >> Sebastian >> >> Am 03.06.2019 um 08:08 schrieb Ryder Lee: >>> Enable NL80211_IFTYPE_MESH_POINT and update its path. >>> >>> Signed-off-by: Ryder Lee >>> --- >>> Changes since v3 - fix a wrong expression >>> Changes since v2 - remove unused definitions >>> --- >>> drivers/net/wireless/mediatek/mt76/mt7615/init.c | 6 ++++++ >>> drivers/net/wireless/mediatek/mt76/mt7615/main.c | 1 + >>> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c | 4 +++- >>> drivers/net/wireless/mediatek/mt76/mt7615/mcu.h | 6 ------ >>> 4 files changed, 10 insertions(+), 7 deletions(-) >>> >>> diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/init.c b/drivers/net/wireless/mediatek/mt76/mt7615/init.c >>> index 59f604f3161f..f860af6a42da 100644 >>> --- a/drivers/net/wireless/mediatek/mt76/mt7615/init.c >>> +++ b/drivers/net/wireless/mediatek/mt76/mt7615/init.c >>> @@ -133,6 +133,9 @@ static const struct ieee80211_iface_limit if_limits[] = { >>> { >>> .max = MT7615_MAX_INTERFACES, >>> .types = BIT(NL80211_IFTYPE_AP) | >>> +#ifdef CONFIG_MAC80211_MESH >>> + BIT(NL80211_IFTYPE_MESH_POINT) | >>> +#endif >>> BIT(NL80211_IFTYPE_STATION) >>> } >>> }; >>> @@ -195,6 +198,9 @@ int mt7615_register_device(struct mt7615_dev *dev) >>> dev->mt76.antenna_mask = 0xf; >>> >>> wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | >>> +#ifdef CONFIG_MAC80211_MESH >>> + BIT(NL80211_IFTYPE_MESH_POINT) | >>> +#endif >>> BIT(NL80211_IFTYPE_AP); >>> >>> ret = mt76_register_device(&dev->mt76, true, mt7615_rates, >>> diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/main.c b/drivers/net/wireless/mediatek/mt76/mt7615/main.c >>> index b0bb7cc12385..585e67fa2728 100644 >>> --- a/drivers/net/wireless/mediatek/mt76/mt7615/main.c >>> +++ b/drivers/net/wireless/mediatek/mt76/mt7615/main.c >>> @@ -37,6 +37,7 @@ static int get_omac_idx(enum nl80211_iftype type, u32 mask) >>> >>> switch (type) { >>> case NL80211_IFTYPE_AP: >>> + case NL80211_IFTYPE_MESH_POINT: >>> /* ap use hw bssid 0 and ext bssid */ >>> if (~mask & BIT(HW_BSSID_0)) >>> return HW_BSSID_0; >>> diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c >>> index 43f70195244c..e82297048449 100644 >>> --- a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c >>> +++ b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c >>> @@ -754,6 +754,7 @@ int mt7615_mcu_set_bss_info(struct mt7615_dev *dev, >>> >>> switch (vif->type) { >>> case NL80211_IFTYPE_AP: >>> + case NL80211_IFTYPE_MESH_POINT: >>> tx_wlan_idx = mvif->sta.wcid.idx; >>> conn_type = CONNECTION_INFRA_AP; >>> break; >>> @@ -968,7 +969,7 @@ int mt7615_mcu_add_wtbl(struct mt7615_dev *dev, struct ieee80211_vif *vif, >>> .rx_wtbl = { >>> .tag = cpu_to_le16(WTBL_RX), >>> .len = cpu_to_le16(sizeof(struct wtbl_rx)), >>> - .rca1 = vif->type != NL80211_IFTYPE_AP, >>> + .rca1 = vif->type == NL80211_IFTYPE_STATION, >>> .rca2 = 1, >>> .rv = 1, >>> }, >>> @@ -1042,6 +1043,7 @@ static void sta_rec_convert_vif_type(enum nl80211_iftype type, u32 *conn_type) >>> { >>> switch (type) { >>> case NL80211_IFTYPE_AP: >>> + case NL80211_IFTYPE_MESH_POINT: >>> if (conn_type) >>> *conn_type = CONNECTION_INFRA_STA; >>> break; >>> diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.h b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.h >>> index e96efb13fa4d..0915cb735699 100644 >>> --- a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.h >>> +++ b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.h >>> @@ -105,25 +105,19 @@ enum { >>> #define STA_TYPE_STA BIT(0) >>> #define STA_TYPE_AP BIT(1) >>> #define STA_TYPE_ADHOC BIT(2) >>> -#define STA_TYPE_TDLS BIT(3) >>> #define STA_TYPE_WDS BIT(4) >>> #define STA_TYPE_BC BIT(5) >>> >>> #define NETWORK_INFRA BIT(16) >>> #define NETWORK_P2P BIT(17) >>> #define NETWORK_IBSS BIT(18) >>> -#define NETWORK_MESH BIT(19) >>> -#define NETWORK_BOW BIT(20) >>> #define NETWORK_WDS BIT(21) >>> >>> #define CONNECTION_INFRA_STA (STA_TYPE_STA | NETWORK_INFRA) >>> #define CONNECTION_INFRA_AP (STA_TYPE_AP | NETWORK_INFRA) >>> #define CONNECTION_P2P_GC (STA_TYPE_STA | NETWORK_P2P) >>> #define CONNECTION_P2P_GO (STA_TYPE_AP | NETWORK_P2P) >>> -#define CONNECTION_MESH_STA (STA_TYPE_STA | NETWORK_MESH) >>> -#define CONNECTION_MESH_AP (STA_TYPE_AP | NETWORK_MESH) >>> #define CONNECTION_IBSS_ADHOC (STA_TYPE_ADHOC | NETWORK_IBSS) >>> -#define CONNECTION_TDLS (STA_TYPE_STA | NETWORK_INFRA | STA_TYPE_TDLS) >>> #define CONNECTION_WDS (STA_TYPE_WDS | NETWORK_WDS) >>> #define CONNECTION_INFRA_BC (STA_TYPE_BC | NETWORK_INFRA) >>>