From patchwork Wed Apr 5 10:34:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Yartys via Lede-dev X-Patchwork-Id: 747228 X-Patchwork-Delegate: pepe2k@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3vyhzc6K2qz9s85 for ; Wed, 5 Apr 2017 20:34:36 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="R47xvsqP"; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Date:Sender:Content-Type: Subject:List-Help:Reply-To:List-Archive:List-Unsubscribe:List-Subscribe:Cc: From:List-Post:List-Id:Message-ID:MIME-Version:References:In-Reply-To:To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=rxOUqODl4/PCq1O823MGiMVYZGEfAEWhE5Nt+vOcMHk=; b=R47xvsqPwr/fdvwErf/oLW7qa WlcAJX0TDHAW0LwuocssZwm+vBbm7r9UAfp7y9HG9WJ18kvWzOfXwPFF75rPkF7A5or9vTvu21SnV 6U5FDehT/KjSrLWjAphw0UQdNh71Krev7+m/TONjx0ekEQenmTpXbqPv+SWET3+phRoJvXOuvObCy /DdDNyH3Ad7tr144ms+CSQ73KH4KQQ867s0IYkrY/uFuWzcwCSEaXyPZRcQl9RkGMmSLmsAsvvckh 3xI5orAI3rEzVd1IUTechkgHlDT01FZHb527Fb0NEEbPGxED+F7spchHvEyQ1NoHv0w4fA0l9ITaY nCYNSOzpA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cviGk-0005Pu-0L; Wed, 05 Apr 2017 10:34:30 +0000 To: Daniel Dickinson In-Reply-To: <0c0201d2ada1$ad2b1f30$07815d90$@cshore.thecshore.com> References: <0c0201d2ada1$ad2b1f30$07815d90$@cshore.thecshore.com> MIME-Version: 1.0 Message-ID: List-Id: List-Post: X-Patchwork-Original-From: Christian Lamparter via Lede-dev From: Michael Yartys via Lede-dev Precedence: list Cc: lede-dev@lists.infradead.org X-Mailman-Version: 2.1.21 X-BeenThere: lede-dev@lists.infradead.org List-Subscribe: , List-Unsubscribe: , List-Archive: Reply-To: Christian Lamparter List-Help: Subject: Re: [LEDE-DEV] Using stable wireless/kernel but trunk userspace/kernel Sender: "Lede-dev" Date: Wed, 05 Apr 2017 10:34:30 +0000 Errors-To: lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. Hello, On Tuesday, April 4, 2017 8:14:58 PM CEST Daniel Dickinson wrote: > I'm wondering if there is an easy way to use trunk userspace with the stable > release's wireless (and if necessary the rest of the kernel). At the end of last year, I had issues with getting ath10k to work with the new IPQ4019. And I wanted to know if the was due to LEDE's patched mac80211 or if this was problem in the mainline as well. The attached patch allowed me to use the ath10k from the kernel source to boot up the ath10k device. But as you can see, there were quite a few things that needed to be modified in order to do it this way (Is there a better one?). In any case, If you want to adapt it, I think you would have to add a kmod-net-ath9k package (see mac80211-package's kmod-ath9k) to it and do a few modifications to the AR71XX kernel config. Have Fun! (I hope patchwork doesn't pick this up. If it does, please delete it there.) diff --git a/package/kernel/linux/modules/wireless.mk b/package/kernel/linux/modules/wireless.mk index 7b1c663567..826b027134 100644 --- a/package/kernel/linux/modules/wireless.mk +++ b/package/kernel/linux/modules/wireless.mk @@ -62,3 +62,88 @@ define KernelPackage/owl-loader/description endef $(eval $(call KernelPackage,owl-loader)) + +define KernelPackage/net-mac80211/Default + SUBMENU:=$(WIRELESS_MENU) + URL:=https://wireless.wiki.kernel.org/ +endef + +define KernelPackage/net-cfg80211 + $(call KernelPackage/net-mac80211/Default) + TITLE:=cfg80211 - wireless configuration API + DEPENDS+= +iw + FILES:= $(LINUX_DIR)/net/wireless/cfg80211.ko + KCONFIG:=CONFIG_CFG80211 \ + CONFIG_CFG80211_INTERNAL_REGDB=y \ + CONFIG_NL80211_TESTMODE=y \ + CONFIG_CFG80211_DEBUGFS=y \ + CONFIG_CFG80211_CRDA_SUPPORT=y +endef + +define KernelPackage/net-cfg80211/description +cfg80211 is the Linux wireless LAN (802.11) configuration API. +endef + +$(eval $(call KernelPackage,net-cfg80211)) + +define KernelPackage/net-mac80211 + $(call KernelPackage/net-mac80211/Default) + TITLE:=Linux 802.11 Wireless Networking Stack + DEPENDS+= +kmod-net-cfg80211 +hostapd-common +kmod-crypto-aead + FILES:= $(LINUX_DIR)/net/mac80211/mac80211.ko + MENU:=1 + KCONFIG:=CONFIG_MAC80211 \ + CONFIG_MAC80211_RC_MINSTREL=y \ + CONFIG_MAC80211_RC_MINSTREL_HT=y \ + CONFIG_MAC80211_RC_MINSTREL_VHT=y \ + CONFIG_MAC80211_MESH=y \ + CONFIG_MAC80211_LEDS=y \ + CONFIG_MAC80211_DEBUGFS=y +endef + +define KernelPackage/net-mac80211/description +Generic IEEE 802.11 Networking Stack (mac80211) +endef + +$(eval $(call KernelPackage,net-mac80211)) + +define KernelPackage/net-ath + $(call KernelPackage/net-mac80211/Default) + TITLE:=Atheros common driver part + DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ipq40xx +kmod-net-mac80211 + FILES:=$(LINUX_DIR)/drivers/net/wireless/ath/ath.ko + KCONFIG:=CONFIG_ATH_COMMON + MENU:=1 +endef + +define KernelPackage/net-ath/description + This module contains some common parts needed by Atheros Wireless drivers. +endef + +$(eval $(call KernelPackage,net-ath)) + +define KernelPackage/net-ath10k + $(call KernelPackage/net-mac80211/Default) + TITLE:=Atheros 802.11ac wireless cards support + URL:=https://wireless.wiki.kernel.org/en/users/Drivers/ath10k + KCONFIG:=CONFIG_ATH10K \ + CONFIG_ATH10K_PCI \ + CONFIG_ATH10K_AHB=y \ + CONFIG_ATH10K_DEBUG=y \ + CONFIG_ATH10K_DEBUGFS=y \ + CONFIG_ATH10K_TRACING=y + DEPENDS+= @PCI_SUPPORT +kmod-net-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT +@KERNEL_RELAY + FILES:= \ + $(LINUX_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \ + $(LINUX_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko + AUTOLOAD:=$(call AutoLoad,55,ath10k_core ath10k_pci) +endef + +define KernelPackage/net-ath10k/description +This module adds support for wireless adapters based on +Atheros IEEE 802.11ac family of chipsets. For now only +PCI is supported. +endef + +$(eval $(call KernelPackage,net-ath10k)) + diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index 9570b2a8f5..b228a91950 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -25,8 +25,8 @@ PKG_BUILD_PARALLEL:=1 PKG_CONFIG_DEPENDS:= \ CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK \ - CONFIG_PACKAGE_kmod-ath9k \ - CONFIG_PACKAGE_kmod-cfg80211 \ + CONFIG_PACKAGE_kmod-net-ath9k \ + CONFIG_PACKAGE_kmod-net-cfg80211 \ CONFIG_PACKAGE_hostapd \ CONFIG_PACKAGE_hostapd-mini \ CONFIG_WPA_RFKILL_SUPPORT \ @@ -63,8 +63,8 @@ ifneq ($(CONFIG_DRIVER_11N_SUPPORT),) endif DRIVER_MAKEOPTS= \ - CONFIG_ACS=$(CONFIG_PACKAGE_kmod-cfg80211) \ - CONFIG_DRIVER_NL80211=$(CONFIG_PACKAGE_kmod-cfg80211) \ + CONFIG_ACS=$(CONFIG_PACKAGE_kmod-net-cfg80211) \ + CONFIG_DRIVER_NL80211=$(CONFIG_PACKAGE_kmod-net-cfg80211) \ CONFIG_IEEE80211N=$(HOSTAPD_IEEE80211N) \ CONFIG_DRIVER_WEXT=$(CONFIG_DRIVER_WEXT_SUPPORT) \ @@ -98,7 +98,7 @@ ifdef CONFIG_USE_GLIBC TARGET_LDFLAGS_C += -lrt endif -DRV_DEPENDS:=+PACKAGE_kmod-cfg80211:libnl-tiny +DRV_DEPENDS:=+PACKAGE_kmod-net-cfg80211:libnl-tiny define Package/hostapd/Default SECTION:=net @@ -175,7 +175,7 @@ endef define Package/wpad-mesh $(call Package/wpad/Default) TITLE+= (with 802.11s mesh and SAE support) - DEPENDS:=$(DRV_DEPENDS) +libubus +PACKAGE_wpad-mesh:libopenssl @PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) + DEPENDS:=$(DRV_DEPENDS) +libubus +PACKAGE_wpad-mesh:libopenssl @PACKAGE_kmod-net-cfg80211 @(!TARGET_uml||BROKEN) VARIANT:=wpad-mesh endef @@ -204,7 +204,7 @@ endef define Package/wpa-supplicant-p2p $(Package/wpa-supplicant) TITLE:=WPA Supplicant (with Wi-Fi P2P support) - DEPENDS:=$(DRV_DEPENDS) @PACKAGE_kmod-cfg80211 + DEPENDS:=$(DRV_DEPENDS) @PACKAGE_kmod-net-cfg80211 CONFLICTS:=wpad wpad-mini wpad-mesh VARIANT:=supplicant-p2p endef @@ -216,7 +216,7 @@ endef define Package/wpa-supplicant-mesh $(Package/wpa-supplicant) TITLE:=WPA Supplicant (with 802.11s and SAE) - DEPENDS:=$(DRV_DEPENDS) +PACKAGE_wpa-supplicant-mesh:libopenssl @PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) + DEPENDS:=$(DRV_DEPENDS) +PACKAGE_wpa-supplicant-mesh:libopenssl @PACKAGE_kmod-net-cfg80211 @(!TARGET_uml||BROKEN) CONFLICTS:=wpad wpad-mesh wpad-mesh VARIANT:=supplicant-mesh endef @@ -295,7 +295,7 @@ ifeq ($(findstring supplicant,$(BUILD_VARIANT)),) TARGET_LDFLAGS += -lubox -lubus endif -ifdef CONFIG_PACKAGE_kmod-cfg80211 +ifdef CONFIG_PACKAGE_kmod-net-cfg80211 TARGET_LDFLAGS += -lm -lnl-tiny endif diff --git a/target/linux/ipq40xx/Makefile b/target/linux/ipq40xx/Makefile index eb6b402dd9..259f3d566b 100644 --- a/target/linux/ipq40xx/Makefile +++ b/target/linux/ipq40xx/Makefile @@ -19,6 +19,6 @@ DEFAULT_PACKAGES += \ kmod-leds-gpio kmod-gpio-button-hotplug swconfig kmod-crypto-hw-qce \ kmod-usb-core kmod-usb3 kmod-usb-dwc3 kmod-usb-dwc3-of-simple \ kmod-usb-phy-qcom-ipq4019 kmod-usb-ledtrig-usbport \ - kmod-ath10k ath10k-firmware-qca4019 wpad-mini uboot-envtools block-mount + kmod-net-ath10k ath10k-firmware-qca4019 wpad-mini uboot-envtools block-mount $(eval $(call BuildTarget)) diff --git a/target/linux/ipq40xx/config-4.8 b/target/linux/ipq40xx/config-4.8 index 6834d144bc..76605a4e2e 100644 --- a/target/linux/ipq40xx/config-4.8 +++ b/target/linux/ipq40xx/config-4.8 @@ -64,6 +64,9 @@ CONFIG_AUTO_ZRELADDR=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 # CONFIG_CACHE_L2X0 is not set CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_DEFAULT_PS is not set +# CONFIG_CFG80211_WEXT is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_OF=y CONFIG_CLKSRC_PROBE=y @@ -117,6 +120,8 @@ CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_XZ=y # CONFIG_CXL_AFU_DRIVER_OPS is not set CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DEBUG_DEVRES=y +CONFIG_DEBUG_DRIVER=y CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" # CONFIG_DEBUG_UART_8250 is not set # CONFIG_DEBUG_USER is not set @@ -245,6 +250,7 @@ CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_WORK=y # CONFIG_ISA_BUS_API is not set +# CONFIG_IWL4965 is not set # CONFIG_KS7010 is not set # CONFIG_LEDS_IS31FL32XX is not set CONFIG_LEDS_TRIGGER_MTD=y @@ -254,6 +260,8 @@ CONFIG_LOCKUP_DETECTOR=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MAC80211_DEBUG_MENU is not set CONFIG_MAY_USE_DEVLINK=y CONFIG_MDIO_BITBANG=y CONFIG_MDIO_BOARDINFO=y @@ -284,6 +292,7 @@ CONFIG_MSM_GCC_8974=y CONFIG_MSM_MMCC_8960=y CONFIG_MSM_MMCC_8974=y # CONFIG_MSM_MMCC_8996 is not set +# CONFIG_MT7601U is not set CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_M25P80=y # CONFIG_MTD_MT81xx_NOR is not set @@ -304,6 +313,7 @@ CONFIG_MTD_UBI_GLUEBI=y CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MULTI_IRQ_HANDLER=y CONFIG_MUTEX_SPIN_ON_OWNER=y +# CONFIG_MWIFIEX is not set # CONFIG_MVNETA_BM is not set CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEON=y @@ -423,6 +433,8 @@ CONFIG_RTC_CLASS=y # CONFIG_RTC_DRV_RX6110 is not set # CONFIG_RTC_DRV_RX8010 is not set CONFIG_RTC_I2C_AND_SPI=y +# CONFIG_RTL8XXXU is not set +# CONFIG_RSI_91X is not set CONFIG_RWSEM_SPIN_ON_OWNER=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_SCHED_HRTICK=y @@ -494,7 +506,14 @@ CONFIG_VIRTIO=y # CONFIG_VIRTIO_CONSOLE is not set # CONFIG_VIRTIO_NET is not set CONFIG_VIRTUALIZATION=y +# CONFIG_WIRELESS_EXT is not set +# CONFIG_WEXT_SPY is not set +# CONFIG_WEXT_PRIV is not set CONFIG_WATCHDOG_CORE=y +# CONFIG_WCN36XX is not set +# CONFIG_WIL6210 is not set +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set CONFIG_XPS=y CONFIG_XZ_DEC_ARM=y CONFIG_XZ_DEC_BCJ=y