From 1b070346cc4d296632173e604e03dd79164eecd4 Mon Sep 17 00:00:00 2001 From: "Sicelo A. Mhlongo" Date: Sat, 8 Jan 2022 18:22:12 +0200 Subject: [PATCH] linux-nokia-n900: upgrade to 5.15.13 and improve wlan (MR 2831) * upgrade kernel to 5.15.13 * add patch for better nl80211 support in wl1251 * add config options to support iwd [ci:skip-build] Already built on CI in MR --- .../0008-wl1251-specify-max.-IE-length.patch | 41 +++++++++++++++++++ device/community/linux-nokia-n900/APKBUILD | 8 ++-- .../linux-nokia-n900/config-nokia-n900.armv7 | 27 +++++++----- 3 files changed, 63 insertions(+), 13 deletions(-) create mode 100644 device/community/linux-nokia-n900/0008-wl1251-specify-max.-IE-length.patch diff --git a/device/community/linux-nokia-n900/0008-wl1251-specify-max.-IE-length.patch b/device/community/linux-nokia-n900/0008-wl1251-specify-max.-IE-length.patch new file mode 100644 index 000000000..d90a4e278 --- /dev/null +++ b/device/community/linux-nokia-n900/0008-wl1251-specify-max.-IE-length.patch @@ -0,0 +1,41 @@ +From 7538e4ec6211a0d0e3d4f3d3138e9c2a39a38b62 Mon Sep 17 00:00:00 2001 +From: Merlijn Wajer +Date: Sun, 12 Dec 2021 23:13:08 +0100 +Subject: [PATCH] wl1251: specify max. IE length + +This fix is similar to commit 77c91295ea53 ("wil6210: specify max. IE +length"). Without the max IE length set, wpa_supplicant cannot operate +using the nl80211 interface. + +This patch is a workaround - the number 512 is taken from the wlcore +driver, but note that per Paul Fertser: + + there's no correct number because the driver will ignore the data + passed in extra IEs. + +Suggested-by: Paul Fertser +Signed-off-by: Merlijn Wajer +--- + drivers/net/wireless/ti/wl1251/main.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/drivers/net/wireless/ti/wl1251/main.c b/drivers/net/wireless/ti/wl1251/main.c +index 136a0d3b23c9..a25a6143e65f 100644 +--- a/drivers/net/wireless/ti/wl1251/main.c ++++ b/drivers/net/wireless/ti/wl1251/main.c +@@ -1520,6 +1520,12 @@ int wl1251_init_ieee80211(struct wl1251 *wl) + wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | + BIT(NL80211_IFTYPE_ADHOC); + wl->hw->wiphy->max_scan_ssids = 1; ++ ++ /* We set max_scan_ie_len to a random value to make wpa_supplicant scans not ++ * fail, as the driver will the ignore the extra passed IEs anyway ++ */ ++ wl->hw->wiphy->max_scan_ie_len = 512; ++ + wl->hw->wiphy->bands[NL80211_BAND_2GHZ] = &wl1251_band_2ghz; + + wl->hw->queues = 4; +-- +2.34.1 + diff --git a/device/community/linux-nokia-n900/APKBUILD b/device/community/linux-nokia-n900/APKBUILD index 266ba4924..0d9cd2c4d 100644 --- a/device/community/linux-nokia-n900/APKBUILD +++ b/device/community/linux-nokia-n900/APKBUILD @@ -2,7 +2,7 @@ # Co-Maintainer: Danct12 pkgname=linux-nokia-n900 -pkgver=5.15.12 +pkgver=5.15.13 pkgrel=1 pkgdesc="Mainline kernel fork for Nokia N900" arch="armv7" @@ -28,6 +28,7 @@ source=" 0005-ARM-dts-omap3_n900-fix-lp5523-for-multi-color.patch 0006-leds-lp55xx-initialise-output-direction-from-dts.patch 0007-Revert-ARM-omap3-enable-off-mode-automatically.patch + 0008-wl1251-specify-max.-IE-length.patch " if [ "${pkgver%.0}" = "$pkgver" ]; then source="$source @@ -61,7 +62,7 @@ package() { sha512sums=" d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a linux-5.15.tar.xz -92113a5c8810a78ea95cc5049bb7bc1f85ff426aa5acbdbc5d0b042da44138027d8db0e4f21f467dfc4a2014a706bc99e27ebe844f2c37f0d1cc3982baab0d9f config-nokia-n900.armv7 +0dd0386f430158e60ee788598686ae5b3df26a9e6d99e21d831ff6180317c5b2697cf49370f7e8432e0750e429dd7e0f72dc45b40cfff5cfbf88fe83665b5db5 config-nokia-n900.armv7 04a39253afd25a7de03dc45ff322161672005406543c44b97d2dc293f202de7de446aee9707a690a290641c55c7bed6e78bbe096ca323dd7d88d3207427c8d31 0001-ARM-dts-n900-increase-charge-current-limit-to-950mA.patch c1055c7a4d2e39ce13db3871d948022b62eb7ebeb898777d197169b3e7c04d705ce7f52f28214754e3cefe99d1dd66f339a1a5770bae1ee970d5926067032061 0002-ARM-dts-n900-remove-rx51-battery.patch 93e82f7041e347b63fc32ce54176ee3fe7e8260cc793810bcf0146a3699567b63a0cb7ce8c531b0484390907a25c51bfbeb15b32dddb2220c2481ec1f86e5eb5 0003-power-supply-bq27xxx_battery-ignore-inaccurate-flag.patch @@ -69,5 +70,6 @@ ea33adda06e1fb64b763c34f1f598bb00ccfdba5400d0996871138284b4cb8a51e021c7c0ace9d4b 95699ddfa06c7eb59c8a55c931322ac25fa93f23886a67155e7b3db31db74be8ff2e72c304747b9a6fe3971005dc0d804daf3d1e3ce5953a9a99ada8cf703a5c 0005-ARM-dts-omap3_n900-fix-lp5523-for-multi-color.patch 066e05a285f9a93f718461cd29eb6d917ca0e7cfa532660825059142391925ab780201b99e7d1966f90b8ca092ad0722209ae8bbe260ac40fa16a76d761debfe 0006-leds-lp55xx-initialise-output-direction-from-dts.patch acf3beef5448da7f3be19b862ac2fef65379d9f1617246baaab296083901174d891526cd9bf781162d4406089969c311701dfded04219bafd3c5c7784bc4c2e6 0007-Revert-ARM-omap3-enable-off-mode-automatically.patch -0e2dbfa675f00ddcb72369d1aed76470ed37a0968856e00d620bdc4bc7891a1646b4f9dcf864a57c26a5b9ab6afec43c8a62ad5c7e0549aaf0e8bae2852a752b linux-5.15.12.patch.xz +acaa153809c390957ee8d80caae440a41d84c78f045268ac226f05019dbdd69959b5cf56b6bac2e2c0300bcdb68649ffb847e7a0a333408bf5b4426fc969afe8 0008-wl1251-specify-max.-IE-length.patch +36f2c500b7391d1d33eaf844c1f9f63ee54ae1a5284739dc438a0758837df088226921c0b3a51a9fc29b193fafef1aa44afbb3379f8fa0f550e040507b5004b4 linux-5.15.13.patch.xz " diff --git a/device/community/linux-nokia-n900/config-nokia-n900.armv7 b/device/community/linux-nokia-n900/config-nokia-n900.armv7 index 243c5e70b..647dc28bb 100644 --- a/device/community/linux-nokia-n900/config-nokia-n900.armv7 +++ b/device/community/linux-nokia-n900/config-nokia-n900.armv7 @@ -1,8 +1,8 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.15.12 Kernel Configuration +# Linux/arm 5.15.13 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="armv7-alpine-linux-musleabihf-gcc (Alpine 11.2.1_git20211128) 11.2.1 20211128" +CONFIG_CC_VERSION_TEXT="armv7-alpine-linux-musleabihf-gcc (Alpine 11.2.1_git20220106) 11.2.1 20220106" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=110201 CONFIG_CLANG_VERSION=0 @@ -2415,7 +2415,7 @@ CONFIG_POWER_SUPPLY_HWMON=y # CONFIG_CHARGER_SBS is not set CONFIG_BATTERY_BQ27XXX=y CONFIG_BATTERY_BQ27XXX_I2C=y -CONFIG_BATTERY_BQ27XXX_HDQ=y +# CONFIG_BATTERY_BQ27XXX_HDQ is not set # CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set @@ -5485,7 +5485,7 @@ CONFIG_KEYS=y # CONFIG_KEYS_REQUEST_CACHE is not set # CONFIG_PERSISTENT_KEYRINGS is not set # CONFIG_ENCRYPTED_KEYS is not set -# CONFIG_KEY_DH_OPERATIONS is not set +CONFIG_KEY_DH_OPERATIONS=y # CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SECURITY=y # CONFIG_SECURITYFS is not set @@ -5549,7 +5549,7 @@ CONFIG_CRYPTO_RNG_DEFAULT=m CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y -CONFIG_CRYPTO_KPP=m +CONFIG_CRYPTO_KPP=y CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y @@ -5569,7 +5569,7 @@ CONFIG_CRYPTO_ENGINE=m # Public-key cryptography # CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m # CONFIG_CRYPTO_ECDSA is not set @@ -5639,15 +5639,20 @@ CONFIG_CRYPTO_SHA512=m # CONFIG_CRYPTO_AES=m # CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_CAMELLIA is not set # CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_DES is not set +CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_FCRYPT=m +# CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set # CONFIG_CRYPTO_SERPENT is not set # CONFIG_CRYPTO_SM4 is not set +# CONFIG_CRYPTO_TEA is not set # CONFIG_CRYPTO_TWOFISH is not set # @@ -5670,10 +5675,12 @@ CONFIG_CRYPTO_DRBG_HMAC=y # CONFIG_CRYPTO_DRBG_CTR is not set CONFIG_CRYPTO_DRBG=m CONFIG_CRYPTO_JITTERENTROPY=m -# CONFIG_CRYPTO_USER_API_HASH is not set -# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m # CONFIG_CRYPTO_USER_API_RNG is not set # CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y CONFIG_CRYPTO_HASH_INFO=y # @@ -5708,7 +5715,7 @@ CONFIG_CRYPTO_DEV_OMAP_DES=m CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y CONFIG_X509_CERTIFICATE_PARSER=y -# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set +CONFIG_PKCS8_PRIVATE_KEY_PARSER=m CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set # CONFIG_SIGNED_PE_FILE_VERIFICATION is not set