From ebf715184c9e0ed241edab0d6980d3a95eaf970c Mon Sep 17 00:00:00 2001 From: Ravi Dondaputi Date: Mon, 14 Jul 2025 22:26:26 +0530 Subject: [PATCH 01/41] Revert "[nrf noup] samples: net: wifi: Update certificates" This reverts commit 0d44bacf58ac9ed130988d18fa960d01d4cbbd7d. Signed-off-by: Ravi Dondaputi --- samples/net/wifi/test_certs/rsa3k/ca.pem | 49 +++++++------ samples/net/wifi/test_certs/rsa3k/ca2.pem | 49 +++++++------ .../net/wifi/test_certs/rsa3k/client-key.pem | 70 +++++++++++-------- .../net/wifi/test_certs/rsa3k/client-key2.pem | 70 +++++++++++-------- samples/net/wifi/test_certs/rsa3k/client.pem | 44 ++++++------ samples/net/wifi/test_certs/rsa3k/client2.pem | 44 ++++++------ .../net/wifi/test_certs/rsa3k/server-key.pem | 70 +++++++++++-------- samples/net/wifi/test_certs/rsa3k/server.pem | 44 ++++++------ samples/net/wifi/test_certs/server-key2.pem | 30 -------- samples/net/wifi/test_certs/server2.pem | 22 ------ 10 files changed, 246 insertions(+), 246 deletions(-) delete mode 100644 samples/net/wifi/test_certs/server-key2.pem delete mode 100644 samples/net/wifi/test_certs/server2.pem diff --git a/samples/net/wifi/test_certs/rsa3k/ca.pem b/samples/net/wifi/test_certs/rsa3k/ca.pem index 2b872d2e30d..210e27daad7 100644 --- a/samples/net/wifi/test_certs/rsa3k/ca.pem +++ b/samples/net/wifi/test_certs/rsa3k/ca.pem @@ -1,24 +1,29 @@ -----BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgIUK8+d+8IOzeX+DP3VSvdF3lHiCdcwDQYJKoZIhvcNAQEL -BQAwgZIxCzAJBgNVBAYTAkZSMQ8wDQYDVQQIDAZSYWRpdXMxEjAQBgNVBAcMCVNv -bWV3aGVyZTEUMBIGA1UECgwLRXhhbXBsZSBJbmMxJjAkBgNVBAMMHUV4YW1wbGUg -Q2VydGlmaWNhdGUgQXV0aG9yaXR5MSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFt -cGxlLm9yZzAeFw0yNDEwMDgxMDI0MDZaFw0zNDEwMDYxMDI0MDZaMIGSMQswCQYD -VQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hlcmUxFDAS -BgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRpZmljYXRl -IEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5vcmcwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCWKIwjdRIp9IrpZELN/ZsN13Xj -qQI6n086PNJ7BZfLi0+tD164rmxFk2eukNNksFCPhvMkqUxouGhc4mJjeivvrZxR -oT3cblOQIkkdEci6iTKC2E1a20W/Ur7cTXoIsnKwjiUjXk+cujkrZu4fcHX+O4vy -wTd5tEbhmifT/4u5nN8U2vBcEZqkGHOCp30VZSxtlGwqp4lc+tVziF3uFViW9MXk -3bVt+s1E7ztwG7+WBgVlLYe3CNSWkMxfyYBafH/l7iep6AFjoTn1z3AAjYi7IUNN -0JkW8MTgafRQIu4QsV5luq/Tiar2vwAm/GNgUJdSzUKARsfQzb/XTIgnLQqtAgMB -AAGjUzBRMB0GA1UdDgQWBBSijSC03/Thi6EOdM91V33zsbQpgzAfBgNVHSMEGDAW -gBSijSC03/Thi6EOdM91V33zsbQpgzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA4IBAQAvKEfmCDoMTKC6bfP6DSs+MSAGc5tCr6w6cz2AKNJ2fOMhkq55 -JF47oBBGm9SdTB6Jqo6c109Ps69/+LMtEEGwvzL0RL0WAuTYGo6sudm9hj/jDHZh -pAqi/2BQQeVgTa6oW0jtNPFe+/cobXo9TJ7wECGrhvVbmfl5ZPc0YVOIjjR0/LhL -q7lqPAlJ5vx0WvsX+QReN97we8vD0x1D3mCySJTi3Irh+grE0yJOSN2fa7cyqi9+ -vSiNUB1eUgQwrO+S8ZazYNvAZXC2Xf4WB4SOifJD73pYPAdwOejc0FA+zfEKa/6/ -vTUs8cIhlmDWO+BEoc9wygMKMmhT5s7/T5Bv +MIIE6TCCA1GgAwIBAgIUH4N5boKrWBsvBRqfKvYDxZ0DDtgwDQYJKoZIhvcNAQEM +BQAwgYIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAlTb21ld2hlcmUxEjAQBgNVBAcM +CVNvbWV3aGVyZTEUMBIGA1UECgwLRXhhbXBsZSBJbmMxEzARBgNVBAMMCkV4YW1w +bGUgQ0ExIDAeBgkqhkiG9w0BCQEWEWFkbWluQGV4YW1wbGUub3JnMCAXDTA5MTIz +MTE2MDEyOFoYDzIxMDkxMjA3MTYwMTI4WjCBgjELMAkGA1UEBhMCQ04xEjAQBgNV +BAgMCVNvbWV3aGVyZTESMBAGA1UEBwwJU29tZXdoZXJlMRQwEgYDVQQKDAtFeGFt +cGxlIEluYzETMBEGA1UEAwwKRXhhbXBsZSBDQTEgMB4GCSqGSIb3DQEJARYRYWRt +aW5AZXhhbXBsZS5vcmcwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDA +PnXIdC5u6eCrXpQfTYwE6QwbSoxPE6kgN0CeVGqk4ya89RzmW/I6+ENw9exraeAl +xDEc2s1OSmBMeAn7b/nDiV3ik4MpQ2+5ZlmKQHYRrjfdnw/zwkcWncPX+UuTfXlx +b4PGBOF/J7HehpfCCQ9g3aXlMWYxR/A0nkFbnfy3gIX7Q0tvGmFJmYWgKxvEELOM +3qV8Jwmui+sw8SL14F+7vZgfBqjnpXfjFaSa+K63sGWLtyy7oQ7eYhpOylA3QSf7 +Hyu+lLQSnHafEys1eedD/Re+gPFUtga/f+CX111ZYDW4zud6W/V3AT1ZGrnrGmCg +k5NeEkLnxaj+GOSvd9O2pnwPSCA2mdRhhx5XxIVD3rZvfR86KflDco8D9i4jPpA0 +38QduFsYXRFS1zTVZuKSlv/bjAmwsNFb/rAS97PVcJf6UVtNkGorc2R2qGWxVDLm +lJSzv14j0swUQomb31+PzAngvB+b2HbjvFCgIb+YHu4c83Gb4tYYBYcu2VgJ0K0C +AwEAAaNTMFEwHQYDVR0OBBYEFNASTtq6TuD6opLY9NUMtneRjAicMB8GA1UdIwQY +MBaAFNASTtq6TuD6opLY9NUMtneRjAicMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQEMBQADggGBAFbPTxPsNaQeAjN9J6F32l4YQFwhOWSXI/40VQHZTtWeiP87 +EOpOaeE+oboHn6EIYE7meT92vDD/JzJ6JnD0a3kVgRFWe2Wn1FOpFWVbNMzMk03P +CNYH2Vbbcsi0fDp9mFvfU9jV8+onWz363Q2M+VJ3BxnrOFpp0+NHt0mNPFN4A8/J +58eTde+QBoUUFrKmviceuHNMqG4o3IIk71LTNg6vWUU94YFLjSSoM5LqLQ2gZapg +4vFlYrEATpk/QBzATW4bRT0KLkHDroJj1iU4U5Ju4t2mXVDRtw9Ci0TLe3iD6rO+ +GPtxw5KsR4BvY9m+UORAoRSpYWGv3ZRPPz2EL9duF9rwJsjeCxiy6r4JK32R71JC +njnSImcf2QQ5MX6Kk0hMcrdkZY4oCyMQj6yk+EuI1XlK9vK4wctPS10bPRTiDzP3 +8sSoFkQegoV2FuqCAVECtSHJE6w56fvoV+wwtwn/Q9pQiJisj+wmwCRy2EYq9R1G +pFJpUlMAmEDj5r9lYg== -----END CERTIFICATE----- diff --git a/samples/net/wifi/test_certs/rsa3k/ca2.pem b/samples/net/wifi/test_certs/rsa3k/ca2.pem index 2b872d2e30d..210e27daad7 100644 --- a/samples/net/wifi/test_certs/rsa3k/ca2.pem +++ b/samples/net/wifi/test_certs/rsa3k/ca2.pem @@ -1,24 +1,29 @@ -----BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgIUK8+d+8IOzeX+DP3VSvdF3lHiCdcwDQYJKoZIhvcNAQEL -BQAwgZIxCzAJBgNVBAYTAkZSMQ8wDQYDVQQIDAZSYWRpdXMxEjAQBgNVBAcMCVNv -bWV3aGVyZTEUMBIGA1UECgwLRXhhbXBsZSBJbmMxJjAkBgNVBAMMHUV4YW1wbGUg -Q2VydGlmaWNhdGUgQXV0aG9yaXR5MSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFt -cGxlLm9yZzAeFw0yNDEwMDgxMDI0MDZaFw0zNDEwMDYxMDI0MDZaMIGSMQswCQYD -VQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hlcmUxFDAS -BgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRpZmljYXRl -IEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5vcmcwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCWKIwjdRIp9IrpZELN/ZsN13Xj -qQI6n086PNJ7BZfLi0+tD164rmxFk2eukNNksFCPhvMkqUxouGhc4mJjeivvrZxR -oT3cblOQIkkdEci6iTKC2E1a20W/Ur7cTXoIsnKwjiUjXk+cujkrZu4fcHX+O4vy -wTd5tEbhmifT/4u5nN8U2vBcEZqkGHOCp30VZSxtlGwqp4lc+tVziF3uFViW9MXk -3bVt+s1E7ztwG7+WBgVlLYe3CNSWkMxfyYBafH/l7iep6AFjoTn1z3AAjYi7IUNN -0JkW8MTgafRQIu4QsV5luq/Tiar2vwAm/GNgUJdSzUKARsfQzb/XTIgnLQqtAgMB -AAGjUzBRMB0GA1UdDgQWBBSijSC03/Thi6EOdM91V33zsbQpgzAfBgNVHSMEGDAW -gBSijSC03/Thi6EOdM91V33zsbQpgzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA4IBAQAvKEfmCDoMTKC6bfP6DSs+MSAGc5tCr6w6cz2AKNJ2fOMhkq55 -JF47oBBGm9SdTB6Jqo6c109Ps69/+LMtEEGwvzL0RL0WAuTYGo6sudm9hj/jDHZh -pAqi/2BQQeVgTa6oW0jtNPFe+/cobXo9TJ7wECGrhvVbmfl5ZPc0YVOIjjR0/LhL -q7lqPAlJ5vx0WvsX+QReN97we8vD0x1D3mCySJTi3Irh+grE0yJOSN2fa7cyqi9+ -vSiNUB1eUgQwrO+S8ZazYNvAZXC2Xf4WB4SOifJD73pYPAdwOejc0FA+zfEKa/6/ -vTUs8cIhlmDWO+BEoc9wygMKMmhT5s7/T5Bv +MIIE6TCCA1GgAwIBAgIUH4N5boKrWBsvBRqfKvYDxZ0DDtgwDQYJKoZIhvcNAQEM +BQAwgYIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAlTb21ld2hlcmUxEjAQBgNVBAcM +CVNvbWV3aGVyZTEUMBIGA1UECgwLRXhhbXBsZSBJbmMxEzARBgNVBAMMCkV4YW1w +bGUgQ0ExIDAeBgkqhkiG9w0BCQEWEWFkbWluQGV4YW1wbGUub3JnMCAXDTA5MTIz +MTE2MDEyOFoYDzIxMDkxMjA3MTYwMTI4WjCBgjELMAkGA1UEBhMCQ04xEjAQBgNV +BAgMCVNvbWV3aGVyZTESMBAGA1UEBwwJU29tZXdoZXJlMRQwEgYDVQQKDAtFeGFt +cGxlIEluYzETMBEGA1UEAwwKRXhhbXBsZSBDQTEgMB4GCSqGSIb3DQEJARYRYWRt +aW5AZXhhbXBsZS5vcmcwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDA +PnXIdC5u6eCrXpQfTYwE6QwbSoxPE6kgN0CeVGqk4ya89RzmW/I6+ENw9exraeAl +xDEc2s1OSmBMeAn7b/nDiV3ik4MpQ2+5ZlmKQHYRrjfdnw/zwkcWncPX+UuTfXlx +b4PGBOF/J7HehpfCCQ9g3aXlMWYxR/A0nkFbnfy3gIX7Q0tvGmFJmYWgKxvEELOM +3qV8Jwmui+sw8SL14F+7vZgfBqjnpXfjFaSa+K63sGWLtyy7oQ7eYhpOylA3QSf7 +Hyu+lLQSnHafEys1eedD/Re+gPFUtga/f+CX111ZYDW4zud6W/V3AT1ZGrnrGmCg +k5NeEkLnxaj+GOSvd9O2pnwPSCA2mdRhhx5XxIVD3rZvfR86KflDco8D9i4jPpA0 +38QduFsYXRFS1zTVZuKSlv/bjAmwsNFb/rAS97PVcJf6UVtNkGorc2R2qGWxVDLm +lJSzv14j0swUQomb31+PzAngvB+b2HbjvFCgIb+YHu4c83Gb4tYYBYcu2VgJ0K0C +AwEAAaNTMFEwHQYDVR0OBBYEFNASTtq6TuD6opLY9NUMtneRjAicMB8GA1UdIwQY +MBaAFNASTtq6TuD6opLY9NUMtneRjAicMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQEMBQADggGBAFbPTxPsNaQeAjN9J6F32l4YQFwhOWSXI/40VQHZTtWeiP87 +EOpOaeE+oboHn6EIYE7meT92vDD/JzJ6JnD0a3kVgRFWe2Wn1FOpFWVbNMzMk03P +CNYH2Vbbcsi0fDp9mFvfU9jV8+onWz363Q2M+VJ3BxnrOFpp0+NHt0mNPFN4A8/J +58eTde+QBoUUFrKmviceuHNMqG4o3IIk71LTNg6vWUU94YFLjSSoM5LqLQ2gZapg +4vFlYrEATpk/QBzATW4bRT0KLkHDroJj1iU4U5Ju4t2mXVDRtw9Ci0TLe3iD6rO+ +GPtxw5KsR4BvY9m+UORAoRSpYWGv3ZRPPz2EL9duF9rwJsjeCxiy6r4JK32R71JC +njnSImcf2QQ5MX6Kk0hMcrdkZY4oCyMQj6yk+EuI1XlK9vK4wctPS10bPRTiDzP3 +8sSoFkQegoV2FuqCAVECtSHJE6w56fvoV+wwtwn/Q9pQiJisj+wmwCRy2EYq9R1G +pFJpUlMAmEDj5r9lYg== -----END CERTIFICATE----- diff --git a/samples/net/wifi/test_certs/rsa3k/client-key.pem b/samples/net/wifi/test_certs/rsa3k/client-key.pem index 6ab70da2452..30736e963c2 100644 --- a/samples/net/wifi/test_certs/rsa3k/client-key.pem +++ b/samples/net/wifi/test_certs/rsa3k/client-key.pem @@ -1,30 +1,40 @@ ------BEGIN ENCRYPTED PRIVATE KEY----- -MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQILVdWyEWhWU0CAggA -MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBDMFReIusCg7gSkoUQZV2flBIIE -0BIFQH7+0dc7wHIQQ1y0ao90rrK3ExtCABH6xp4OAHUNPR1549zSEak/9Ba6WLBp -YE0m/lpLz4oUJE4Kd3rg4ekSZk4mapZoW7g5ax4qAEblmM6rqmyjiU0Q6tsAb8n1 -x+RyjUILlgTH1HDmeNA53QNMCw++xIMIJPN29SvFN6vkU2Fd2f74/TuZRSaCEPLO -LKtNMwWCMTrlv0UewEryOvZegPQuEF/Ewmmw/9l5VfkPp6zAtZKzWsfk4jUo5tv2 -5dPoHR+RKjNNVwetnCq59QYMS2My6KLqX4Vzqnbu8K1nlbm85ZHnvLGi8cDn8EB7 -QtRL+Ev5IwcwYJgV5AMojouJLQdR655jeITWI1Gsohz28YG8c1qYX4ZN6albSd1G -fd1tMOWkeu4uEzJ7ijLDfnCzrklnLuAZx8yLzyrOa7i9AwwJmdgUEdbWWsru3L6C -zDJ45rpA0FobdlTem4kpoE9yiyHkIhf3wmI3X+0aodC11pdbHP260KIC8E1K9FUh -s/IoEQCYrBp8UltNTlezwq/E5uOuIu4EpfjEgH1Z3+hSDbnmMAXNX4DbL234x7iy -3Y256DtOeHSElnRz3kDnZVNtM1Kd5fgEYJ1ptYRPYaWyJka7/hC/0UObuM9w+QeO -OlG0QgumQFloyhDa9anPBK4sYJp4g1fK8golUDW4AdpFPNOJvvgOvQUzhPpHjr+N -lpZ75Y6I3JSSKJ/UMlSCOqjak8oZtMtJNMfbx1lgwwDtgjDSJvSdl735gI9VmXXH -qnlGEtyiQ7k1Z1a4HxiY2/CiDHvkymClir/Ik8gt+wmyT9c/9BcehLRf6PxMsDVy -PCkty1LlzN+5tSZJtJnOiTlgsRn/w49Ohp74ITheSdb30/6PnFI+o8rcJHmrjN4d -t3z/bCyWAeC8mS7m0wtXlyBeG9xvdyT8dDHAFOnqxX30dEwEbjNj58kWGAgRf9i3 -HlOAP8yRy7LAV7A4HEPnEzXBxYpsROUw/8d3Jtmr2nAp2hfKP339DYZPHZpRLjJr -WQlJasHHLxHKKjSsuM06WsCO+Tt2FTSgGJuU6nFVK75fssmmJYzj9qMHVM6YSjfY -sT0ZIWRgO9NLFx5O3QxY1wgMLhhv1FREy9NVnMU0W3A1u0F7dwHywZGha2IqEXgu -+UyWIJnePMvluV/s66AN/OpIxKU48c0B4l7XzXkHHd43tDUG3ztfRuPbWCHipuRO -eo+vHGD01iBLSE1ZhrYLHKQhJvIKx/PIEaqJHP/Vy35AD/2/GH09TiIBHzX9aXie -TiKFs30FQv7SpLNHNE7jUxsYGNUbYa70S/Vgn3wkKATcXpCc749XQV4OUbFoqkDm -vuZOjkIOlm/OtZkUuDWmk96mgoVG/gWSEJPynJHUpmWdu/BCdYOgxBk/bmPa1leS -Z5NbO0fGMnNhDMXYA5rqmVzABcNSYhgYw5aciWpBlgYHEYrPxZvCxWftIyb24oEk -wdHEaFbIYbOoVZqo7Ym2hrvVrJb8Qdukf1BmUgfSSSc7BFoSrBUO4SNFtZI55NOB -OM4rnkqfoYR0IpnxzPIpxpsWljG9QsgnTaffStDgIGXiAtBWJFy+44f1IS4EoC6B -+we1Q6atPwYSyPtG8mn4Ce0BNxLDUoFDLMQ7Bt8QBMeX ------END ENCRYPTED PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIG/gIBADANBgkqhkiG9w0BAQEFAASCBugwggbkAgEAAoIBgQCyrJdw9xFpDe39 +iBbAoMdpRPY13DpcXywQSFYnnhCGttdRKahOTSiQzP+iG1sczV0WwwFlnqgL2Jh9 +p82jwhQ+UEuG/nRas7cvKlEkEol/kdUwK9+Nvbie6kGqTZqJkwVZ6Dqpm9Kq+pTU +0eJHYu1MOtreQQDIrUvmDLbz7eQsUEKfAKPnmY8NMx/DCqNLoXzmdxjeMGCJ9b5F +++3wDblipYy/+7k11EyZn+MGdtA4Uq5dcv6H7ie1AgPsVO+3p8FbOwa/O5kaCOmf +MkxZBv0jDFBqKv84KBy66wqCj3PsH1WDsd+etxGqvFleBWUb2pamEW2+mqKPmnoZ +uJtkzYK376+s5jULFH9DvHzbwFNQI2IgXriNzYVVCTHIg1ndVFzcGKFCka1DNSma +8cAnWKP2yzr58WKS3iEZ8p12UK/nW353aP0Fz0p73zuMg8fnWrTdh13UZOKudnNq +twe1Ozo+R0e5VCIxJeQIo2MovRqRcnb6U5Yf4IXOx8gjCXnbcBcCAwEAAQKCAYEA +kyAVT9rSRkxHFUaTXajGq0My7iTbFab0tK+r6dF5UESMxnNj+J4Gcj2rngOiofPk +3FJU+yWKwL5oysd7SIYOf0VE+/LZQrrLc5YH3Ik7GYWvI4xs990qggjpa1+dif07 +Ic5dR75c2ZefKCNvjVLDjcrE4NBr4dL5NYRwvim8glTQlvdC//ltVvQrCkLfNe7S +1z9ohcUWKWPmeuA5DDtw1O73GDsiRlX7gWCr423AhTBoDeEcADg2EBGJw3gpMHR8 +HGV7U/TJRb/3hvgkGvxL2pX1EbS48qbMboTBbBvIuSGjv6JiCtAQC4o0ti3RLae4 +axd/4r/u1AkJJJtcRQUJbKMPxaQ8V0aASrVgTCanUhJHS09RCeLBx02DS4zSOkHg +4ySp82oh1rM9zK0iPIo1dcoMmm1lKSmRU2c9SJyHZ0UGRNCLVgs76qzg/nV1WSyE +1Woq61RB8Qepc2v5vSiz8QB4ljrIZtZkcTJzsAS+THeVgYeNVWTIz6rXG2Zg3pCZ +AoHBAOsP/GvNSKykm8dtjRXBtjLpahPtKmOpUR2cptdfuGAIbnaANCXr8oYrLNsz +y4CmWgiTcnO7+c03oT1q8iYe50FvFw6g1xy5F1M/4av5RiPz3rEm8J+lRskC4+RR ++m8VdTF11HCIEw7um+CwPqluDq1DNLdAudIA0lyjhsHkFo+yWcJyrBKW4r2wzgwP +QP6dH3hbvcU1cvKgbj9dbshFR+FG4U4KuV/AsMEtFpEj+Uh/gfnJO6cVnFz7/1vt +iQEFPQKBwQDCls/HyCzYnXmoMvqS+DSBDliwKpGBCd6RuvwrNPJlR1GI38iaSf2t +Vu7PpabQx/uJIwTg5zzv8kVR8pXOwUlL/GcvMcoN7/hauKh7JcOlD1bQ6fPJMcHc +OOFG1JlaLcsW9o075mz/FmpvGF4s+uDPDGE5xFfeYb0E4/N7j5zvOAZJGll6BwIR +snufXR3/JW9lxdrFawqNMSRRG9Y9IkSJfLMQ+1LAY8QviOjjoUdEh0NYfsis+VpV +7/AfMKQ9p+MCgcEAmNRx990mrSjxJ76whj7GKV/dWktOzjFdzfT1/P39MGMK/vzn +6uf3bQhRR8vrOh/uVbkYJutGxQiwSvBntCVPkhmaUiZ89e3ZnoTgQyH1WpbKaT+6 +HvIkjbjVVrN+Mg8vfRLxJqEyUvkMXA/7DcnCvR/+/E6XAlUKcLTZfuK/UHpTJbvM +6OE1VsPHk8uvJFwgA+8R+VCBBgMM6yHiT0/MJkohXs5WLE1qHo8kJwXOpDZS2Ybe +xAmm+kXVh31vIDy5AoHAb4n+5CeL/UaW+6DtHN2FSwysLZ7Y9LxxhdtGvIWHBCLT +S7/qvvX2oSuZjBEKA9b+Cee23ivuNCQNNCH3WSJWH2Y4x0ak6URKecYrXRuSf8TB +INNZ2FPbKZ65Et6+YICrTyhYYKN+iuGQdMnlAad0wXn5KSGwtFoV/P2lDYiOjljw +0Wp3K4lk2DwUvI6lqSEOL6ov8sWesLwgcxWfwj8oRh7ijbNiBcGqLQ0vYXuK3G8k +XU+fO/danrQAUgCRxH29AoHAaobHyG4zSt0srMlV1qe+txcJF7fiyMg3VYGeWlZk +vUNsJjAjH1WvqgxOynN2L4/d5TIPUzrJehrwO+maP8f6UU6X181zQdBhWi3zyEaZ +rvQtoNwwoVL9+sY1/FRIW3dEyJ1+V0mbUi+td8Ygtt7Dy9/15RKLgO4oARUDOiMn +iPbd8ee/e5Zh2esjP6f+cjFMKgwVllO1VaTC5MJhUFAGJxUoMwCr/PFacNRXbyLr +7Rwf2QE670one3F+5w5mGkax +-----END PRIVATE KEY----- diff --git a/samples/net/wifi/test_certs/rsa3k/client-key2.pem b/samples/net/wifi/test_certs/rsa3k/client-key2.pem index 6ab70da2452..30736e963c2 100644 --- a/samples/net/wifi/test_certs/rsa3k/client-key2.pem +++ b/samples/net/wifi/test_certs/rsa3k/client-key2.pem @@ -1,30 +1,40 @@ ------BEGIN ENCRYPTED PRIVATE KEY----- -MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQILVdWyEWhWU0CAggA -MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBDMFReIusCg7gSkoUQZV2flBIIE -0BIFQH7+0dc7wHIQQ1y0ao90rrK3ExtCABH6xp4OAHUNPR1549zSEak/9Ba6WLBp -YE0m/lpLz4oUJE4Kd3rg4ekSZk4mapZoW7g5ax4qAEblmM6rqmyjiU0Q6tsAb8n1 -x+RyjUILlgTH1HDmeNA53QNMCw++xIMIJPN29SvFN6vkU2Fd2f74/TuZRSaCEPLO -LKtNMwWCMTrlv0UewEryOvZegPQuEF/Ewmmw/9l5VfkPp6zAtZKzWsfk4jUo5tv2 -5dPoHR+RKjNNVwetnCq59QYMS2My6KLqX4Vzqnbu8K1nlbm85ZHnvLGi8cDn8EB7 -QtRL+Ev5IwcwYJgV5AMojouJLQdR655jeITWI1Gsohz28YG8c1qYX4ZN6albSd1G -fd1tMOWkeu4uEzJ7ijLDfnCzrklnLuAZx8yLzyrOa7i9AwwJmdgUEdbWWsru3L6C -zDJ45rpA0FobdlTem4kpoE9yiyHkIhf3wmI3X+0aodC11pdbHP260KIC8E1K9FUh -s/IoEQCYrBp8UltNTlezwq/E5uOuIu4EpfjEgH1Z3+hSDbnmMAXNX4DbL234x7iy -3Y256DtOeHSElnRz3kDnZVNtM1Kd5fgEYJ1ptYRPYaWyJka7/hC/0UObuM9w+QeO -OlG0QgumQFloyhDa9anPBK4sYJp4g1fK8golUDW4AdpFPNOJvvgOvQUzhPpHjr+N -lpZ75Y6I3JSSKJ/UMlSCOqjak8oZtMtJNMfbx1lgwwDtgjDSJvSdl735gI9VmXXH -qnlGEtyiQ7k1Z1a4HxiY2/CiDHvkymClir/Ik8gt+wmyT9c/9BcehLRf6PxMsDVy -PCkty1LlzN+5tSZJtJnOiTlgsRn/w49Ohp74ITheSdb30/6PnFI+o8rcJHmrjN4d -t3z/bCyWAeC8mS7m0wtXlyBeG9xvdyT8dDHAFOnqxX30dEwEbjNj58kWGAgRf9i3 -HlOAP8yRy7LAV7A4HEPnEzXBxYpsROUw/8d3Jtmr2nAp2hfKP339DYZPHZpRLjJr -WQlJasHHLxHKKjSsuM06WsCO+Tt2FTSgGJuU6nFVK75fssmmJYzj9qMHVM6YSjfY -sT0ZIWRgO9NLFx5O3QxY1wgMLhhv1FREy9NVnMU0W3A1u0F7dwHywZGha2IqEXgu -+UyWIJnePMvluV/s66AN/OpIxKU48c0B4l7XzXkHHd43tDUG3ztfRuPbWCHipuRO -eo+vHGD01iBLSE1ZhrYLHKQhJvIKx/PIEaqJHP/Vy35AD/2/GH09TiIBHzX9aXie -TiKFs30FQv7SpLNHNE7jUxsYGNUbYa70S/Vgn3wkKATcXpCc749XQV4OUbFoqkDm -vuZOjkIOlm/OtZkUuDWmk96mgoVG/gWSEJPynJHUpmWdu/BCdYOgxBk/bmPa1leS -Z5NbO0fGMnNhDMXYA5rqmVzABcNSYhgYw5aciWpBlgYHEYrPxZvCxWftIyb24oEk -wdHEaFbIYbOoVZqo7Ym2hrvVrJb8Qdukf1BmUgfSSSc7BFoSrBUO4SNFtZI55NOB -OM4rnkqfoYR0IpnxzPIpxpsWljG9QsgnTaffStDgIGXiAtBWJFy+44f1IS4EoC6B -+we1Q6atPwYSyPtG8mn4Ce0BNxLDUoFDLMQ7Bt8QBMeX ------END ENCRYPTED PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIG/gIBADANBgkqhkiG9w0BAQEFAASCBugwggbkAgEAAoIBgQCyrJdw9xFpDe39 +iBbAoMdpRPY13DpcXywQSFYnnhCGttdRKahOTSiQzP+iG1sczV0WwwFlnqgL2Jh9 +p82jwhQ+UEuG/nRas7cvKlEkEol/kdUwK9+Nvbie6kGqTZqJkwVZ6Dqpm9Kq+pTU +0eJHYu1MOtreQQDIrUvmDLbz7eQsUEKfAKPnmY8NMx/DCqNLoXzmdxjeMGCJ9b5F +++3wDblipYy/+7k11EyZn+MGdtA4Uq5dcv6H7ie1AgPsVO+3p8FbOwa/O5kaCOmf +MkxZBv0jDFBqKv84KBy66wqCj3PsH1WDsd+etxGqvFleBWUb2pamEW2+mqKPmnoZ +uJtkzYK376+s5jULFH9DvHzbwFNQI2IgXriNzYVVCTHIg1ndVFzcGKFCka1DNSma +8cAnWKP2yzr58WKS3iEZ8p12UK/nW353aP0Fz0p73zuMg8fnWrTdh13UZOKudnNq +twe1Ozo+R0e5VCIxJeQIo2MovRqRcnb6U5Yf4IXOx8gjCXnbcBcCAwEAAQKCAYEA +kyAVT9rSRkxHFUaTXajGq0My7iTbFab0tK+r6dF5UESMxnNj+J4Gcj2rngOiofPk +3FJU+yWKwL5oysd7SIYOf0VE+/LZQrrLc5YH3Ik7GYWvI4xs990qggjpa1+dif07 +Ic5dR75c2ZefKCNvjVLDjcrE4NBr4dL5NYRwvim8glTQlvdC//ltVvQrCkLfNe7S +1z9ohcUWKWPmeuA5DDtw1O73GDsiRlX7gWCr423AhTBoDeEcADg2EBGJw3gpMHR8 +HGV7U/TJRb/3hvgkGvxL2pX1EbS48qbMboTBbBvIuSGjv6JiCtAQC4o0ti3RLae4 +axd/4r/u1AkJJJtcRQUJbKMPxaQ8V0aASrVgTCanUhJHS09RCeLBx02DS4zSOkHg +4ySp82oh1rM9zK0iPIo1dcoMmm1lKSmRU2c9SJyHZ0UGRNCLVgs76qzg/nV1WSyE +1Woq61RB8Qepc2v5vSiz8QB4ljrIZtZkcTJzsAS+THeVgYeNVWTIz6rXG2Zg3pCZ +AoHBAOsP/GvNSKykm8dtjRXBtjLpahPtKmOpUR2cptdfuGAIbnaANCXr8oYrLNsz +y4CmWgiTcnO7+c03oT1q8iYe50FvFw6g1xy5F1M/4av5RiPz3rEm8J+lRskC4+RR ++m8VdTF11HCIEw7um+CwPqluDq1DNLdAudIA0lyjhsHkFo+yWcJyrBKW4r2wzgwP +QP6dH3hbvcU1cvKgbj9dbshFR+FG4U4KuV/AsMEtFpEj+Uh/gfnJO6cVnFz7/1vt +iQEFPQKBwQDCls/HyCzYnXmoMvqS+DSBDliwKpGBCd6RuvwrNPJlR1GI38iaSf2t +Vu7PpabQx/uJIwTg5zzv8kVR8pXOwUlL/GcvMcoN7/hauKh7JcOlD1bQ6fPJMcHc +OOFG1JlaLcsW9o075mz/FmpvGF4s+uDPDGE5xFfeYb0E4/N7j5zvOAZJGll6BwIR +snufXR3/JW9lxdrFawqNMSRRG9Y9IkSJfLMQ+1LAY8QviOjjoUdEh0NYfsis+VpV +7/AfMKQ9p+MCgcEAmNRx990mrSjxJ76whj7GKV/dWktOzjFdzfT1/P39MGMK/vzn +6uf3bQhRR8vrOh/uVbkYJutGxQiwSvBntCVPkhmaUiZ89e3ZnoTgQyH1WpbKaT+6 +HvIkjbjVVrN+Mg8vfRLxJqEyUvkMXA/7DcnCvR/+/E6XAlUKcLTZfuK/UHpTJbvM +6OE1VsPHk8uvJFwgA+8R+VCBBgMM6yHiT0/MJkohXs5WLE1qHo8kJwXOpDZS2Ybe +xAmm+kXVh31vIDy5AoHAb4n+5CeL/UaW+6DtHN2FSwysLZ7Y9LxxhdtGvIWHBCLT +S7/qvvX2oSuZjBEKA9b+Cee23ivuNCQNNCH3WSJWH2Y4x0ak6URKecYrXRuSf8TB +INNZ2FPbKZ65Et6+YICrTyhYYKN+iuGQdMnlAad0wXn5KSGwtFoV/P2lDYiOjljw +0Wp3K4lk2DwUvI6lqSEOL6ov8sWesLwgcxWfwj8oRh7ijbNiBcGqLQ0vYXuK3G8k +XU+fO/danrQAUgCRxH29AoHAaobHyG4zSt0srMlV1qe+txcJF7fiyMg3VYGeWlZk +vUNsJjAjH1WvqgxOynN2L4/d5TIPUzrJehrwO+maP8f6UU6X181zQdBhWi3zyEaZ +rvQtoNwwoVL9+sY1/FRIW3dEyJ1+V0mbUi+td8Ygtt7Dy9/15RKLgO4oARUDOiMn +iPbd8ee/e5Zh2esjP6f+cjFMKgwVllO1VaTC5MJhUFAGJxUoMwCr/PFacNRXbyLr +7Rwf2QE670one3F+5w5mGkax +-----END PRIVATE KEY----- diff --git a/samples/net/wifi/test_certs/rsa3k/client.pem b/samples/net/wifi/test_certs/rsa3k/client.pem index 9e815474cd8..16397db7756 100644 --- a/samples/net/wifi/test_certs/rsa3k/client.pem +++ b/samples/net/wifi/test_certs/rsa3k/client.pem @@ -1,22 +1,26 @@ -----BEGIN CERTIFICATE----- -MIIDojCCAooCFGZ4UJXBKG70aewILFtsy4mbvaYZMA0GCSqGSIb3DQEBCwUAMIGS -MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hl -cmUxFDASBgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRp -ZmljYXRlIEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5v -cmcwHhcNMjQxMDA4MTAyNjI1WhcNMzQxMDA2MTAyNjI1WjCBhzELMAkGA1UEBhMC -RlIxDzANBgNVBAgMBlJhZGl1czESMBAGA1UEBwwJU29tZXdoZXJlMRQwEgYDVQQK -DAtFeGFtcGxlIEluYzEbMBkGA1UEAwwSY2xpZW50LmV4YW1wbGUub3JnMSAwHgYJ -KoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAMu3HXJvi2Q4hQnLL4v/sCyEr5x+ZtBcSi2yETMViaf2EStW -UOs1A1pmCQbO7nadLQcWaX4tzefQCRrs1X4hIQuDIqRPNi6h6G1g5HEtqBWZhvwu -hDbmFiX8/Vtw/P0/9sox2DzyLG0mjJUAYAbKtyC1kQalybVBtrSaazyyAyh6oOuU -chAb7SmmNDsRB959TWM/mp+6yCcFGzCDKNBwlwthB6Uw92d3SfOyXEnZm8rPf0hV -4ICL5iB+xEYBv1LKmznFK/4UAyKpxAygc5fxKVWwlSsq8MrES5ak0n6H71wViaXK -BrH5yh9jEkK9XSeaUwg8C9eOOexyx/5JDY3TTE8CAwEAATANBgkqhkiG9w0BAQsF -AAOCAQEAUNddNiRUlJH0acJJv8ztXNWjNewd17tAk1BBHp6yyGAD8b52p6QbDAdS -xO3WsSc2bqSy599jp4GshO27TMQsBRMfoggCG21Aj6sIs0Hd4shTE4T0GUBEBxC2 -/HReuD+cGIzzKMYlvK8RPSaGLPvPw5SryvmOnjD368V0KCHwT04Z14i4sMxlkd5q -wB7fxTkVla9MR4uWObX62mJykmqT86chScJpldtBpRh8wrEa3Gt9FZoi/eqP0De8 -oCxmCZDrozGTZ4IIaNzchx3Ensh1RQwvvxd6ATerYdUjq4V2TlTksDRdCXtj+uNJ -FnB32sUHiIouxudAsqDf8UL9/99RCw== +MIIEaDCCAtACAQEwDQYJKoZIhvcNAQEMBQAwgYIxCzAJBgNVBAYTAkNOMRIwEAYD +VQQIDAlTb21ld2hlcmUxEjAQBgNVBAcMCVNvbWV3aGVyZTEUMBIGA1UECgwLRXhh +bXBsZSBJbmMxEzARBgNVBAMMCkV4YW1wbGUgQ0ExIDAeBgkqhkiG9w0BCQEWEWFk +bWluQGV4YW1wbGUub3JnMCAXDTA5MTIzMTE2MDM1MVoYDzIxMDkxMjA3MTYwMzUx +WjBvMQswCQYDVQQGEwJDTjESMBAGA1UECAwJU29tZXdoZXJlMRQwEgYDVQQKDAtF +eGFtcGxlIEluYzEVMBMGA1UEAwwMRXhhbXBsZSBVc2VyMR8wHQYJKoZIhvcNAQkB +FhB1c2VyQGV4YW1wbGUub3JnMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC +AYEAsqyXcPcRaQ3t/YgWwKDHaUT2Ndw6XF8sEEhWJ54QhrbXUSmoTk0okMz/ohtb +HM1dFsMBZZ6oC9iYfafNo8IUPlBLhv50WrO3LypRJBKJf5HVMCvfjb24nupBqk2a +iZMFWeg6qZvSqvqU1NHiR2LtTDra3kEAyK1L5gy28+3kLFBCnwCj55mPDTMfwwqj +S6F85ncY3jBgifW+Rfvt8A25YqWMv/u5NdRMmZ/jBnbQOFKuXXL+h+4ntQID7FTv +t6fBWzsGvzuZGgjpnzJMWQb9IwxQair/OCgcuusKgo9z7B9Vg7HfnrcRqrxZXgVl +G9qWphFtvpqij5p6GbibZM2Ct++vrOY1CxR/Q7x828BTUCNiIF64jc2FVQkxyINZ +3VRc3BihQpGtQzUpmvHAJ1ij9ss6+fFikt4hGfKddlCv51t+d2j9Bc9Ke987jIPH +51q03Ydd1GTirnZzarcHtTs6PkdHuVQiMSXkCKNjKL0akXJ2+lOWH+CFzsfIIwl5 +23AXAgMBAAEwDQYJKoZIhvcNAQEMBQADggGBACYMd24RQJEdzLqmG3mQ7zLbCWS3 +grla+4o1qsWtkS+SZDWdDb0rgkB7ZmBoPklhpHPIWe8ijkPzjdIu2y5kopyM3+ey +GkJL3nF7xIleayN052dEhrkWiZcFEM84z2yVflhEdfs42PyQbxlMLf1RFcsLkuYG +yubuoT03+S2xvdfYEOqiSROYsKNMB6ZyXc4N/HtdYjf+fgYXc4vp6vZAT1Y6HAEK +IDppcggfn6y16fczU8g3SLkfnYOzOgJYi2EqcbetsjvNwXHpI3JWeei63rIxv/yh +UctQue5iv9esiLvRsNmAPA5D99YO3gAovdSRNRhTbXYDSa8jkRFFLJ/VPiR9nSYS +w2n+ZYPR3/i0c4gh+lDBIF6QZ49c+sFdAOs0awUM+AeyFyzXpYliF0d/Jh34kLtU +0tmu3HxxU+mBFFElK70NVIdtJ99/D5fJAiP3RHOBpXp2K3mqTgvBxqHpMpNUa0ZO +qKKoZvp6M764d8ccNQJpbCbHsxr9U0rDa/vdxg== -----END CERTIFICATE----- diff --git a/samples/net/wifi/test_certs/rsa3k/client2.pem b/samples/net/wifi/test_certs/rsa3k/client2.pem index 9e815474cd8..16397db7756 100644 --- a/samples/net/wifi/test_certs/rsa3k/client2.pem +++ b/samples/net/wifi/test_certs/rsa3k/client2.pem @@ -1,22 +1,26 @@ -----BEGIN CERTIFICATE----- -MIIDojCCAooCFGZ4UJXBKG70aewILFtsy4mbvaYZMA0GCSqGSIb3DQEBCwUAMIGS -MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hl -cmUxFDASBgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRp -ZmljYXRlIEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5v -cmcwHhcNMjQxMDA4MTAyNjI1WhcNMzQxMDA2MTAyNjI1WjCBhzELMAkGA1UEBhMC -RlIxDzANBgNVBAgMBlJhZGl1czESMBAGA1UEBwwJU29tZXdoZXJlMRQwEgYDVQQK -DAtFeGFtcGxlIEluYzEbMBkGA1UEAwwSY2xpZW50LmV4YW1wbGUub3JnMSAwHgYJ -KoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAMu3HXJvi2Q4hQnLL4v/sCyEr5x+ZtBcSi2yETMViaf2EStW -UOs1A1pmCQbO7nadLQcWaX4tzefQCRrs1X4hIQuDIqRPNi6h6G1g5HEtqBWZhvwu -hDbmFiX8/Vtw/P0/9sox2DzyLG0mjJUAYAbKtyC1kQalybVBtrSaazyyAyh6oOuU -chAb7SmmNDsRB959TWM/mp+6yCcFGzCDKNBwlwthB6Uw92d3SfOyXEnZm8rPf0hV -4ICL5iB+xEYBv1LKmznFK/4UAyKpxAygc5fxKVWwlSsq8MrES5ak0n6H71wViaXK -BrH5yh9jEkK9XSeaUwg8C9eOOexyx/5JDY3TTE8CAwEAATANBgkqhkiG9w0BAQsF -AAOCAQEAUNddNiRUlJH0acJJv8ztXNWjNewd17tAk1BBHp6yyGAD8b52p6QbDAdS -xO3WsSc2bqSy599jp4GshO27TMQsBRMfoggCG21Aj6sIs0Hd4shTE4T0GUBEBxC2 -/HReuD+cGIzzKMYlvK8RPSaGLPvPw5SryvmOnjD368V0KCHwT04Z14i4sMxlkd5q -wB7fxTkVla9MR4uWObX62mJykmqT86chScJpldtBpRh8wrEa3Gt9FZoi/eqP0De8 -oCxmCZDrozGTZ4IIaNzchx3Ensh1RQwvvxd6ATerYdUjq4V2TlTksDRdCXtj+uNJ -FnB32sUHiIouxudAsqDf8UL9/99RCw== +MIIEaDCCAtACAQEwDQYJKoZIhvcNAQEMBQAwgYIxCzAJBgNVBAYTAkNOMRIwEAYD +VQQIDAlTb21ld2hlcmUxEjAQBgNVBAcMCVNvbWV3aGVyZTEUMBIGA1UECgwLRXhh +bXBsZSBJbmMxEzARBgNVBAMMCkV4YW1wbGUgQ0ExIDAeBgkqhkiG9w0BCQEWEWFk +bWluQGV4YW1wbGUub3JnMCAXDTA5MTIzMTE2MDM1MVoYDzIxMDkxMjA3MTYwMzUx +WjBvMQswCQYDVQQGEwJDTjESMBAGA1UECAwJU29tZXdoZXJlMRQwEgYDVQQKDAtF +eGFtcGxlIEluYzEVMBMGA1UEAwwMRXhhbXBsZSBVc2VyMR8wHQYJKoZIhvcNAQkB +FhB1c2VyQGV4YW1wbGUub3JnMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC +AYEAsqyXcPcRaQ3t/YgWwKDHaUT2Ndw6XF8sEEhWJ54QhrbXUSmoTk0okMz/ohtb +HM1dFsMBZZ6oC9iYfafNo8IUPlBLhv50WrO3LypRJBKJf5HVMCvfjb24nupBqk2a +iZMFWeg6qZvSqvqU1NHiR2LtTDra3kEAyK1L5gy28+3kLFBCnwCj55mPDTMfwwqj +S6F85ncY3jBgifW+Rfvt8A25YqWMv/u5NdRMmZ/jBnbQOFKuXXL+h+4ntQID7FTv +t6fBWzsGvzuZGgjpnzJMWQb9IwxQair/OCgcuusKgo9z7B9Vg7HfnrcRqrxZXgVl +G9qWphFtvpqij5p6GbibZM2Ct++vrOY1CxR/Q7x828BTUCNiIF64jc2FVQkxyINZ +3VRc3BihQpGtQzUpmvHAJ1ij9ss6+fFikt4hGfKddlCv51t+d2j9Bc9Ke987jIPH +51q03Ydd1GTirnZzarcHtTs6PkdHuVQiMSXkCKNjKL0akXJ2+lOWH+CFzsfIIwl5 +23AXAgMBAAEwDQYJKoZIhvcNAQEMBQADggGBACYMd24RQJEdzLqmG3mQ7zLbCWS3 +grla+4o1qsWtkS+SZDWdDb0rgkB7ZmBoPklhpHPIWe8ijkPzjdIu2y5kopyM3+ey +GkJL3nF7xIleayN052dEhrkWiZcFEM84z2yVflhEdfs42PyQbxlMLf1RFcsLkuYG +yubuoT03+S2xvdfYEOqiSROYsKNMB6ZyXc4N/HtdYjf+fgYXc4vp6vZAT1Y6HAEK +IDppcggfn6y16fczU8g3SLkfnYOzOgJYi2EqcbetsjvNwXHpI3JWeei63rIxv/yh +UctQue5iv9esiLvRsNmAPA5D99YO3gAovdSRNRhTbXYDSa8jkRFFLJ/VPiR9nSYS +w2n+ZYPR3/i0c4gh+lDBIF6QZ49c+sFdAOs0awUM+AeyFyzXpYliF0d/Jh34kLtU +0tmu3HxxU+mBFFElK70NVIdtJ99/D5fJAiP3RHOBpXp2K3mqTgvBxqHpMpNUa0ZO +qKKoZvp6M764d8ccNQJpbCbHsxr9U0rDa/vdxg== -----END CERTIFICATE----- diff --git a/samples/net/wifi/test_certs/rsa3k/server-key.pem b/samples/net/wifi/test_certs/rsa3k/server-key.pem index 5f032cad701..5eb00d2476d 100644 --- a/samples/net/wifi/test_certs/rsa3k/server-key.pem +++ b/samples/net/wifi/test_certs/rsa3k/server-key.pem @@ -1,30 +1,40 @@ ------BEGIN ENCRYPTED PRIVATE KEY----- -MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIjI78fcZSH7oCAggA -MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBDfF676hRrL290F0MgMDZiuBIIE -0Hkz7skRV8Ox0SoX5N8GsOPfN4PS1cLyHgokY6dUhJPU5vUzOn9iSiGQSEzSguQ7 -11mssjRC2T45wB/95VK2EPtRw1f/6VOUR6RJnnGb0PV1Rydp/x5TZ6vzcXpakqly -eljJR/20fIJClsZzhw0iu5la9fkF6G8WYFEkqex5jALSiN4qVLvkiqcTnh5+amem -8+OCKgvgooKD2ids4/0GGfJRQSC6DFf3kuxNl+MMvmDXmz/vrD85ONnyXzKXDA3N -3vRgL/YT6GzwIXb+7/c/tIMpnacxPAdbNOs3DY5ss4xcK68L5PwpM2BljzBa5dGw -Smgf2VRaYRVzmrte5j280QjfrlHRU2cHaxm0GCu2AOTGwMXcSNYMXfDNuxc57oQJ -vHXMeZD4K5lACbhYdZ5lJNFvv29YI7dZ7QOGu6nXlAuhZfbdc/cgT0som7eG8xpT -pERllhQ5ych9sP9nAccN6VUsWgmlF73lbSptBek1ccYkp9LIYCteJUPl2qPcz6zl -A7zrZ54f3Lg0fOm2pCtg+qKBiw1nd3MR/YbRCgyvudyZE2cCN/ZspWqxsavbGYOz -JOfIFNnyAcOYtEv1n1BGLfMa1THW2bDV8XmHVHUtM0k4z250QAmLygWLY2166iUF -qotBkvctKKdulzGdT4nVer1UEKTqcxhDf0dRiHN5spZtFrOee0uGIoQWHt2oecaK -pJovW+i0qO/1DG5spfU2m1bz6jR2u6nxi340oRrMSoe1ELVg3l1/wmM8yzh07GuK -pshzxwqAG/FnaKCvcKGUG2EfnAvOcbMgSa2w3GvyRkcDPn00arvX9nuXj0gkRDBi -eoVMkKKTeeYSGQ4ik+ja3xkgHcxh5W8aoezLvBbmUq206cmhLwfnYMhnvFTs6EBK -E0ENpCHwF/qoVBIzRCijG/eeCuf3a1YkJsWlvEeVrPeOmDFeDft3SSGOzHxE2A/7 -HWmHbWTm7dPOfgsU4zf+HglnBjN3kYU7StyM0EGxmB4lfB2BiWiL/3R13ERHQZfa -oOqa4/hOFXOXfTQk6ufXtBx8L9BemBqh36zbs2xVvIizJKeRMruoRblWZkHhUKR8 -K5GA7FYkU9ZPPP0UPKsO94xzwfbevi+7nWeUZoqcqAUy8Jt5aD2QpvFVbPBBOz17 -PGaubeVn/Ry8swPvkpddtmJ4mgF+3SVctmzY+EE/oN1XS8wa+XeuaThzk89Lvrfa -606nRWrNw3PSKjYoEEtRLhPeJCi9uOVenbOjtclio9mV5Sugwurolczvq8DAGpMG -W4WgALgOWDjQAudiNH5dtcMGkBONbYywkJc7cT2OZFmzkCbchPPWlKGopuaFGAoU -SPj7C9SenHmOWAFRX5jJrOZAuVqkdKN3ShWZUL+cDkOCCQlZ0E31u0m9yozY1MeO -Sx42GtZaSGff37FGYeMZM2ztlutw2zmv2B1g52SBHTjCqQU/ud2Q6/U0kUzjbsdF -/0KQY9wgZRdOvbnA2lBirN1rXzLWPdduOZ5QImfHfvToN+oOlEqVvvWG12DdA4e5 -y4Dumx00lfKEsGutjF3oKgE6jsjwqAwCoYEAFHTtsvA0hKPisQwNHZmpjGARvR56 -yMEmXynKvgyVGvVP2a9VdqBXSpstL24HfDIu+nlyEWGQ ------END ENCRYPTED PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIG/wIBADANBgkqhkiG9w0BAQEFAASCBukwggblAgEAAoIBgQDeiBjDByOPbWRo +bRzULnUJrAGHj4F3JSdu4DCtC5cUsEVxVGoWuZwUJ+eUJiMN9JvIvRsCSSFxoZOg +R8kldU8fsrQ/AFeYMcV+PSeHCwHVe6fM8zL8Iv+ilNy7Jxtslg+dueK2pnQG54Ia +VEKYY+Xhg068PmISaym6D+i4eWFUiqE5bOHWlp53Rz51UbaAy7gxoeDv4oIfwhzI +GjgeFUSGclTNeXD7QcsowW1R3h5lT3MUIxi6FmHiz4laDZVets8vRwvxGKdtSxAu +m/JlbFhvypyp1lJK/DPAlyMC6zuhudZKPxnSByJ/ejczcmUtILbHPp9CGEPs5+26 +vJQjJ4HTGQOefJGQzwj1oHWOkcPft4m2KJn6/GWhJLcUwwRuZB/XblVWJ99Gg6pg +C8ju52O4Akrv96CbzApwGRSxuZ2QugUe3pbiMiclFLiig9qmAmQOKrpTVHshnI1R +KHM2MdyWYQ5uDMN9nrvV6VLS7eDX8dfsaD3ZyywQungSXNADBJUCAwEAAQKCAYEA +tKCr2MJWrvkQY2MN33zGK0+e/jYR1HAoDeuUFyItQ/HArDjk1AVdF088vhgmpBFE +0jANWFGb/+wzNAqQzwLlcslPXUQd1b+wmsNw7kCVAIAauFU/sUGHVqSWdqNLs1wq +2NAlojSCQYhxJoX2eFO+KMq4gjvwxxqNCCYZtINx6XmNXFtxBQnFHvSJUhk9llXF +8SOAvbaSAM1DJ3mAy4pf0PHEu/QzLP8+tJos7iLpcTqIInRKgeHhGoVy69HSyMqA +5lfGvaL1YjbLFEGOqE215uVB2PsRLuZbyHKDeKEdSD8uwyNCOSfg+MJ1sQLG0UNR +wU/1ltXM24MSz6upvse4AfoHTx9zv2Gpc7BfyYj3m6C9cxQjSZ0GJ5XK9drJMkcj +5u1G2o9nSp/48pSfYLGLrIHLf74fh6OdGyK1xplcl/VwdZFzcdBh5CxPnosdtJyM +cdHmprqnODrE3tsPUlZ+MNtalN9stpIKgtjVq8wzMIjxeIrrmw8aGoHyPbWUd1UR +AoHBAPAGwO1ZZ0JflMYk0HmCmAezBLn/SFxrvzXH1V+DXRLOnxE7xh9/7fKmEpL6 +wNzfB5o45kxVFSel9TQxERIEGitDkCTEJThwpHVaZT+DoREKGC7xToosXalsLTUv +9IFrYgeru1g+L9UeXUkrqETi9sBppD3OnWsCJyLZAFatDQrSmLIxPGcMseyMMmDD +bzhUzLmoGzsQC+/GhWmLwylYRlzuZIvEoqwCGhQdP74B1UFcsvHZsufFO1oMxiSp +fifD3wKBwQDtV0qB4Z2oO9LTLpEeCYWif9h4S7ghihIbDhOV8o2lUrTGxr3z93Bz +ojyEoVZVVAO8dj3TiiXQLCtK77fqHMUG76S/stO4kj81Sa9ltVULvEeafxWNfjPL +xjtlAQogXcqLee0EGa9RVFglREEhvsJ7rgSlSy8XIhELdMfLOHAtbFb8OzLZhxzE +MpN8n3aTQvtgwswY5XKWhV6xdp7uPAHfAYlezCwviVat70x7G+eRmKhPtwsKsCib +ST9HnbYVpgsCgcEAuqoV6b/ojPa2Ra4lrwm/3+T53QhKJw3oQxPovYH0pQapMAbT +WnXsABPlSAbYbCzKxcZQW7ajYBUxb2hlRSSJkXHWrLEZ3R3E2Dr3mIBuh0jZa9Bf +6xb7tCGbusxTkz6Gmz6T0Nlz64LUu23HS+NSUGsXvrVrOOgQtYobOE0WYn9LHvEp +b16xFCwnlZcHbMCOAihZHQKqtcsmv+FgYkvzVJxU91lxxOFRlKj2hHb6eP11cJ6E +ArkhIjPi+GoT4SrzAoHAUdHy9J2T3UhqYLU//+vmbuPF+4qW+rD/luYeaGYK4MCH +Y7NmDrHxyVtXo51/BsGE3DajD8cjTAW+EwJbE9FBNyfsUs3SYWHBepxhZB3EKNyK +jr9a7cFhF9HJ7gMSu5+50KWCyRQVtWLvVEGYdoqtvzd5kIY/wKjU2W8z5WIagf5E +aoX5/LWwfA63e5H5rcC8qlndRIPtIejugR1Uoup69qcv9UdLwEOHZ0UEx7gR98Z5 +16lRnCiohwgUUZsUB5iLAoHBAIn1lfEQF4veH1gL/qaxggAMQxyjvG012fpj8mLA +r19y04JkuuR8HrjKQkdqFtCS2J2pnHruOzgSe1SS+Q0MY4smMdai98tWYRfced/r +Vu/LswfH60Fk7DGwh8HKTHVOePPvHXXxb1Ue7H1Wj9ef7+eEvLCSGfz9XXXALhMQ +kEjs8+NuLtijpE/h3mtkidhcDm77CuYSfmca3Glxbp8NnLUv//qLGECtq6bU+uLP +vBFFJRssGjlvHzD+5NCTaWwScg== +-----END PRIVATE KEY----- diff --git a/samples/net/wifi/test_certs/rsa3k/server.pem b/samples/net/wifi/test_certs/rsa3k/server.pem index d8f82faf6dd..f5a5dd36e8f 100644 --- a/samples/net/wifi/test_certs/rsa3k/server.pem +++ b/samples/net/wifi/test_certs/rsa3k/server.pem @@ -1,22 +1,26 @@ -----BEGIN CERTIFICATE----- -MIIDojCCAooCFCPQcj7ej5jhr6/mLlAoLYgfgsYcMA0GCSqGSIb3DQEBCwUAMIGS -MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hl -cmUxFDASBgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRp -ZmljYXRlIEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5v -cmcwHhcNMjQxMDA4MTAyNTI5WhcNMzQxMDA2MTAyNTI5WjCBhzELMAkGA1UEBhMC -RlIxDzANBgNVBAgMBlJhZGl1czESMBAGA1UEBwwJU29tZXdoZXJlMRQwEgYDVQQK -DAtFeGFtcGxlIEluYzEbMBkGA1UEAwwSc2VydmVyLmV4YW1wbGUub3JnMSAwHgYJ -KoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBANcE/OPHQK/y1b6UsIktNK7WIZB528HECY7Bz18EGba0uHod -91RbzHSJ1qI3iQyldI1UW/kY5oYjBW3lhLH0BkD/EsqvNYCV+3YzAM3ITtdOdEU9 -CqjgXttehQHfXvc7jQlF8Q2gYPUz2dDLo/gcTkz1d+mCr6nQUjT8Kq/nG54T0NnD -k8udchjUlNaQsvx/WVs3TUYxMbWzQRtpJIbv99rAWq7YgQbkNZnSYC1VgrU/BiuQ -0KrP6rfkxvBCGwIh2JXIL3FV4N8AsgGZvjXQ3zXKXwuPhxWdSmjKWlioVM3mha2A -/1e1gX6nFY/uk46D60XWxcJ6tHGHoafU7EtN3zMCAwEAATANBgkqhkiG9w0BAQsF -AAOCAQEAWwdTMphD0jxLtYO0iq/+fMtq2R96ZUN9wprZ7qg1evUNQjqLR4jKX306 -ZJX5uw+6r5Ve/k368qvcSF/sSfvBm8yd3JcegTl5t8T2/Aks8o3sfyuS0uyJC1rS -zTrd7FmJG9YMosU1BqYobda64MXq7g+6MyrQoZ6fVdPvC6Sox3+a4fl9xjdm4CTY -MsWqBJMe26LptvRIJ01/B6PjVTvsn/fxxj7rHmnJ/j63AIiBntm0vV/85cwYy/4o -HlPH/Qjvn3hZjUlBcveiYat998F+s9gH2usvCkG3kly/n1/667LLCymmCHxtH8ka -7tF3siO1EANureFY8qj6ZvlKeTkZ6g== +MIIEbDCCAtQCAQEwDQYJKoZIhvcNAQEMBQAwgYIxCzAJBgNVBAYTAkNOMRIwEAYD +VQQIDAlTb21ld2hlcmUxEjAQBgNVBAcMCVNvbWV3aGVyZTEUMBIGA1UECgwLRXhh +bXBsZSBJbmMxEzARBgNVBAMMCkV4YW1wbGUgQ0ExIDAeBgkqhkiG9w0BCQEWEWFk +bWluQGV4YW1wbGUub3JnMCAXDTA5MTIzMTE2MDI1MloYDzIxMDkxMjA3MTYwMjUy +WjBzMQswCQYDVQQGEwJDTjESMBAGA1UECAwJU29tZXdoZXJlMRQwEgYDVQQKDAtF +eGFtcGxlIEluYzEXMBUGA1UEAwwORXhhbXBsZSBTZXJ2ZXIxITAfBgkqhkiG9w0B +CQEWEnNlcnZlckBleGFtcGxlLm9yZzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCC +AYoCggGBAN6IGMMHI49tZGhtHNQudQmsAYePgXclJ27gMK0LlxSwRXFUaha5nBQn +55QmIw30m8i9GwJJIXGhk6BHySV1Tx+ytD8AV5gxxX49J4cLAdV7p8zzMvwi/6KU +3LsnG2yWD5254ramdAbnghpUQphj5eGDTrw+YhJrKboP6Lh5YVSKoTls4daWnndH +PnVRtoDLuDGh4O/igh/CHMgaOB4VRIZyVM15cPtByyjBbVHeHmVPcxQjGLoWYeLP +iVoNlV62zy9HC/EYp21LEC6b8mVsWG/KnKnWUkr8M8CXIwLrO6G51ko/GdIHIn96 +NzNyZS0gtsc+n0IYQ+zn7bq8lCMngdMZA558kZDPCPWgdY6Rw9+3ibYomfr8ZaEk +txTDBG5kH9duVVYn30aDqmALyO7nY7gCSu/3oJvMCnAZFLG5nZC6BR7eluIyJyUU +uKKD2qYCZA4qulNUeyGcjVEoczYx3JZhDm4Mw32eu9XpUtLt4Nfx1+xoPdnLLBC6 +eBJc0AMElQIDAQABMA0GCSqGSIb3DQEBDAUAA4IBgQBpKHoroH7HBdH0TVtHl6WF +C52YO02BIAWXK/vCXdWGLs81SIMwbYd0YCp6K/6wG8hWdyJWi12LVuVG7SbTgx7y +odEwO4t5ntNfcmN6SDo8Y8RbROnTDI5ubkUdsOB5AaTI3km5goeapgrwUzXpXWYi +sh2S0FJQAnrx4qdGPShCI1RF1WMV3TGcAj3oc4brnIiMFAecmj99hOkSM7ScJ27X +oqozXYf36UI8AyVUw+jBUlGko6v9jNH3k40zAgcdajfStiOXPDyr+HtL2KcV8WaV +oaXT2Sp5VUr/ghjUfbonWY4RTesXFehVktXw7BuD5koNSlJXbHY5BCUxTBC8EaiJ ++9gVQJcOdb/WhOJV2b24ZHecHckoDGYN4gHQ/lPR67HuibcNTzWYfNWSygGfknCS +HO30Yts7tzVFTudKKbUc4XvdaXpStmFPWGh1oy0hkDnPIiXcRu2WWmyOeRGeJWnb +j62Bz21jBu2V9BXJtRjuI0Uvxfjb/2Mbw95KUDncd34= -----END CERTIFICATE----- diff --git a/samples/net/wifi/test_certs/server-key2.pem b/samples/net/wifi/test_certs/server-key2.pem deleted file mode 100644 index 5f032cad701..00000000000 --- a/samples/net/wifi/test_certs/server-key2.pem +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN ENCRYPTED PRIVATE KEY----- -MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIjI78fcZSH7oCAggA -MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBDfF676hRrL290F0MgMDZiuBIIE -0Hkz7skRV8Ox0SoX5N8GsOPfN4PS1cLyHgokY6dUhJPU5vUzOn9iSiGQSEzSguQ7 -11mssjRC2T45wB/95VK2EPtRw1f/6VOUR6RJnnGb0PV1Rydp/x5TZ6vzcXpakqly -eljJR/20fIJClsZzhw0iu5la9fkF6G8WYFEkqex5jALSiN4qVLvkiqcTnh5+amem -8+OCKgvgooKD2ids4/0GGfJRQSC6DFf3kuxNl+MMvmDXmz/vrD85ONnyXzKXDA3N -3vRgL/YT6GzwIXb+7/c/tIMpnacxPAdbNOs3DY5ss4xcK68L5PwpM2BljzBa5dGw -Smgf2VRaYRVzmrte5j280QjfrlHRU2cHaxm0GCu2AOTGwMXcSNYMXfDNuxc57oQJ -vHXMeZD4K5lACbhYdZ5lJNFvv29YI7dZ7QOGu6nXlAuhZfbdc/cgT0som7eG8xpT -pERllhQ5ych9sP9nAccN6VUsWgmlF73lbSptBek1ccYkp9LIYCteJUPl2qPcz6zl -A7zrZ54f3Lg0fOm2pCtg+qKBiw1nd3MR/YbRCgyvudyZE2cCN/ZspWqxsavbGYOz -JOfIFNnyAcOYtEv1n1BGLfMa1THW2bDV8XmHVHUtM0k4z250QAmLygWLY2166iUF -qotBkvctKKdulzGdT4nVer1UEKTqcxhDf0dRiHN5spZtFrOee0uGIoQWHt2oecaK -pJovW+i0qO/1DG5spfU2m1bz6jR2u6nxi340oRrMSoe1ELVg3l1/wmM8yzh07GuK -pshzxwqAG/FnaKCvcKGUG2EfnAvOcbMgSa2w3GvyRkcDPn00arvX9nuXj0gkRDBi -eoVMkKKTeeYSGQ4ik+ja3xkgHcxh5W8aoezLvBbmUq206cmhLwfnYMhnvFTs6EBK -E0ENpCHwF/qoVBIzRCijG/eeCuf3a1YkJsWlvEeVrPeOmDFeDft3SSGOzHxE2A/7 -HWmHbWTm7dPOfgsU4zf+HglnBjN3kYU7StyM0EGxmB4lfB2BiWiL/3R13ERHQZfa -oOqa4/hOFXOXfTQk6ufXtBx8L9BemBqh36zbs2xVvIizJKeRMruoRblWZkHhUKR8 -K5GA7FYkU9ZPPP0UPKsO94xzwfbevi+7nWeUZoqcqAUy8Jt5aD2QpvFVbPBBOz17 -PGaubeVn/Ry8swPvkpddtmJ4mgF+3SVctmzY+EE/oN1XS8wa+XeuaThzk89Lvrfa -606nRWrNw3PSKjYoEEtRLhPeJCi9uOVenbOjtclio9mV5Sugwurolczvq8DAGpMG -W4WgALgOWDjQAudiNH5dtcMGkBONbYywkJc7cT2OZFmzkCbchPPWlKGopuaFGAoU -SPj7C9SenHmOWAFRX5jJrOZAuVqkdKN3ShWZUL+cDkOCCQlZ0E31u0m9yozY1MeO -Sx42GtZaSGff37FGYeMZM2ztlutw2zmv2B1g52SBHTjCqQU/ud2Q6/U0kUzjbsdF -/0KQY9wgZRdOvbnA2lBirN1rXzLWPdduOZ5QImfHfvToN+oOlEqVvvWG12DdA4e5 -y4Dumx00lfKEsGutjF3oKgE6jsjwqAwCoYEAFHTtsvA0hKPisQwNHZmpjGARvR56 -yMEmXynKvgyVGvVP2a9VdqBXSpstL24HfDIu+nlyEWGQ ------END ENCRYPTED PRIVATE KEY----- diff --git a/samples/net/wifi/test_certs/server2.pem b/samples/net/wifi/test_certs/server2.pem deleted file mode 100644 index d8f82faf6dd..00000000000 --- a/samples/net/wifi/test_certs/server2.pem +++ /dev/null @@ -1,22 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDojCCAooCFCPQcj7ej5jhr6/mLlAoLYgfgsYcMA0GCSqGSIb3DQEBCwUAMIGS -MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hl -cmUxFDASBgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRp -ZmljYXRlIEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5v -cmcwHhcNMjQxMDA4MTAyNTI5WhcNMzQxMDA2MTAyNTI5WjCBhzELMAkGA1UEBhMC -RlIxDzANBgNVBAgMBlJhZGl1czESMBAGA1UEBwwJU29tZXdoZXJlMRQwEgYDVQQK -DAtFeGFtcGxlIEluYzEbMBkGA1UEAwwSc2VydmVyLmV4YW1wbGUub3JnMSAwHgYJ -KoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBANcE/OPHQK/y1b6UsIktNK7WIZB528HECY7Bz18EGba0uHod -91RbzHSJ1qI3iQyldI1UW/kY5oYjBW3lhLH0BkD/EsqvNYCV+3YzAM3ITtdOdEU9 -CqjgXttehQHfXvc7jQlF8Q2gYPUz2dDLo/gcTkz1d+mCr6nQUjT8Kq/nG54T0NnD -k8udchjUlNaQsvx/WVs3TUYxMbWzQRtpJIbv99rAWq7YgQbkNZnSYC1VgrU/BiuQ -0KrP6rfkxvBCGwIh2JXIL3FV4N8AsgGZvjXQ3zXKXwuPhxWdSmjKWlioVM3mha2A -/1e1gX6nFY/uk46D60XWxcJ6tHGHoafU7EtN3zMCAwEAATANBgkqhkiG9w0BAQsF -AAOCAQEAWwdTMphD0jxLtYO0iq/+fMtq2R96ZUN9wprZ7qg1evUNQjqLR4jKX306 -ZJX5uw+6r5Ve/k368qvcSF/sSfvBm8yd3JcegTl5t8T2/Aks8o3sfyuS0uyJC1rS -zTrd7FmJG9YMosU1BqYobda64MXq7g+6MyrQoZ6fVdPvC6Sox3+a4fl9xjdm4CTY -MsWqBJMe26LptvRIJ01/B6PjVTvsn/fxxj7rHmnJ/j63AIiBntm0vV/85cwYy/4o -HlPH/Qjvn3hZjUlBcveiYat998F+s9gH2usvCkG3kly/n1/667LLCymmCHxtH8ka -7tF3siO1EANureFY8qj6ZvlKeTkZ6g== ------END CERTIFICATE----- From d5dbeae2282efbc1711609037bd5b192e5e8235e Mon Sep 17 00:00:00 2001 From: Ravi Dondaputi Date: Mon, 14 Jul 2025 17:05:09 +0530 Subject: [PATCH 02/41] [nrf fromlist] snippets: wifi-enterprise: Increase MBEDTLS heap size With NRF security, higher heap requirement is seen for operating with RSA-3072 based certificates. Add a NRF SoC specific conf in snippets to handle this. Upstream PR #: 93096 Signed-off-by: Ravi Dondaputi --- snippets/wifi-enterprise/snippet.yml | 5 +++++ snippets/wifi-enterprise/wifi-enterprise-nrf.conf | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 snippets/wifi-enterprise/wifi-enterprise-nrf.conf diff --git a/snippets/wifi-enterprise/snippet.yml b/snippets/wifi-enterprise/snippet.yml index 6a4f73d38b4..f88b23ec2a4 100644 --- a/snippets/wifi-enterprise/snippet.yml +++ b/snippets/wifi-enterprise/snippet.yml @@ -1,3 +1,8 @@ name: wifi-enterprise append: EXTRA_CONF_FILE: wifi-enterprise.conf + +boards: + /.*/nrf.*/cpuapp/: + append: + EXTRA_CONF_FILE: wifi-enterprise-nrf.conf diff --git a/snippets/wifi-enterprise/wifi-enterprise-nrf.conf b/snippets/wifi-enterprise/wifi-enterprise-nrf.conf new file mode 100644 index 00000000000..a52390c1687 --- /dev/null +++ b/snippets/wifi-enterprise/wifi-enterprise-nrf.conf @@ -0,0 +1,3 @@ +# For TLS and X.509 processing MbedTLS needs large heap size and using separate heap +# for MbedTLS gives us more control over the heap size. +CONFIG_MBEDTLS_HEAP_SIZE=75000 From bb57af8a255d471043d739d5d08d56ace09963a7 Mon Sep 17 00:00:00 2001 From: Ravi Dondaputi Date: Mon, 14 Jul 2025 17:14:29 +0530 Subject: [PATCH 03/41] [nrf fromlist] samples: net: wifi: Add AES-only certificates Add AES-only cipher certificates. Useful for systems which have only AES support and DES is not enabled. Upstream PR #: 93096 Signed-off-by: Ravi Dondaputi --- .../net/wifi/test_certs/rsa2k_no_des/ca.pem | 24 +++++++++++++++ .../net/wifi/test_certs/rsa2k_no_des/ca2.pem | 24 +++++++++++++++ .../test_certs/rsa2k_no_des/client-key.pem | 30 +++++++++++++++++++ .../test_certs/rsa2k_no_des/client-key2.pem | 30 +++++++++++++++++++ .../wifi/test_certs/rsa2k_no_des/client.pem | 22 ++++++++++++++ .../wifi/test_certs/rsa2k_no_des/client2.pem | 22 ++++++++++++++ .../test_certs/rsa2k_no_des/server-key.pem | 30 +++++++++++++++++++ .../wifi/test_certs/rsa2k_no_des/server.pem | 22 ++++++++++++++ 8 files changed, 204 insertions(+) create mode 100644 samples/net/wifi/test_certs/rsa2k_no_des/ca.pem create mode 100644 samples/net/wifi/test_certs/rsa2k_no_des/ca2.pem create mode 100644 samples/net/wifi/test_certs/rsa2k_no_des/client-key.pem create mode 100644 samples/net/wifi/test_certs/rsa2k_no_des/client-key2.pem create mode 100644 samples/net/wifi/test_certs/rsa2k_no_des/client.pem create mode 100644 samples/net/wifi/test_certs/rsa2k_no_des/client2.pem create mode 100644 samples/net/wifi/test_certs/rsa2k_no_des/server-key.pem create mode 100644 samples/net/wifi/test_certs/rsa2k_no_des/server.pem diff --git a/samples/net/wifi/test_certs/rsa2k_no_des/ca.pem b/samples/net/wifi/test_certs/rsa2k_no_des/ca.pem new file mode 100644 index 00000000000..2b872d2e30d --- /dev/null +++ b/samples/net/wifi/test_certs/rsa2k_no_des/ca.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEBzCCAu+gAwIBAgIUK8+d+8IOzeX+DP3VSvdF3lHiCdcwDQYJKoZIhvcNAQEL +BQAwgZIxCzAJBgNVBAYTAkZSMQ8wDQYDVQQIDAZSYWRpdXMxEjAQBgNVBAcMCVNv +bWV3aGVyZTEUMBIGA1UECgwLRXhhbXBsZSBJbmMxJjAkBgNVBAMMHUV4YW1wbGUg +Q2VydGlmaWNhdGUgQXV0aG9yaXR5MSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFt +cGxlLm9yZzAeFw0yNDEwMDgxMDI0MDZaFw0zNDEwMDYxMDI0MDZaMIGSMQswCQYD +VQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hlcmUxFDAS +BgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRpZmljYXRl +IEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5vcmcwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCWKIwjdRIp9IrpZELN/ZsN13Xj +qQI6n086PNJ7BZfLi0+tD164rmxFk2eukNNksFCPhvMkqUxouGhc4mJjeivvrZxR +oT3cblOQIkkdEci6iTKC2E1a20W/Ur7cTXoIsnKwjiUjXk+cujkrZu4fcHX+O4vy +wTd5tEbhmifT/4u5nN8U2vBcEZqkGHOCp30VZSxtlGwqp4lc+tVziF3uFViW9MXk +3bVt+s1E7ztwG7+WBgVlLYe3CNSWkMxfyYBafH/l7iep6AFjoTn1z3AAjYi7IUNN +0JkW8MTgafRQIu4QsV5luq/Tiar2vwAm/GNgUJdSzUKARsfQzb/XTIgnLQqtAgMB +AAGjUzBRMB0GA1UdDgQWBBSijSC03/Thi6EOdM91V33zsbQpgzAfBgNVHSMEGDAW +gBSijSC03/Thi6EOdM91V33zsbQpgzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQAvKEfmCDoMTKC6bfP6DSs+MSAGc5tCr6w6cz2AKNJ2fOMhkq55 +JF47oBBGm9SdTB6Jqo6c109Ps69/+LMtEEGwvzL0RL0WAuTYGo6sudm9hj/jDHZh +pAqi/2BQQeVgTa6oW0jtNPFe+/cobXo9TJ7wECGrhvVbmfl5ZPc0YVOIjjR0/LhL +q7lqPAlJ5vx0WvsX+QReN97we8vD0x1D3mCySJTi3Irh+grE0yJOSN2fa7cyqi9+ +vSiNUB1eUgQwrO+S8ZazYNvAZXC2Xf4WB4SOifJD73pYPAdwOejc0FA+zfEKa/6/ +vTUs8cIhlmDWO+BEoc9wygMKMmhT5s7/T5Bv +-----END CERTIFICATE----- diff --git a/samples/net/wifi/test_certs/rsa2k_no_des/ca2.pem b/samples/net/wifi/test_certs/rsa2k_no_des/ca2.pem new file mode 100644 index 00000000000..2b872d2e30d --- /dev/null +++ b/samples/net/wifi/test_certs/rsa2k_no_des/ca2.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEBzCCAu+gAwIBAgIUK8+d+8IOzeX+DP3VSvdF3lHiCdcwDQYJKoZIhvcNAQEL +BQAwgZIxCzAJBgNVBAYTAkZSMQ8wDQYDVQQIDAZSYWRpdXMxEjAQBgNVBAcMCVNv +bWV3aGVyZTEUMBIGA1UECgwLRXhhbXBsZSBJbmMxJjAkBgNVBAMMHUV4YW1wbGUg +Q2VydGlmaWNhdGUgQXV0aG9yaXR5MSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFt +cGxlLm9yZzAeFw0yNDEwMDgxMDI0MDZaFw0zNDEwMDYxMDI0MDZaMIGSMQswCQYD +VQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hlcmUxFDAS +BgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRpZmljYXRl +IEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5vcmcwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCWKIwjdRIp9IrpZELN/ZsN13Xj +qQI6n086PNJ7BZfLi0+tD164rmxFk2eukNNksFCPhvMkqUxouGhc4mJjeivvrZxR +oT3cblOQIkkdEci6iTKC2E1a20W/Ur7cTXoIsnKwjiUjXk+cujkrZu4fcHX+O4vy +wTd5tEbhmifT/4u5nN8U2vBcEZqkGHOCp30VZSxtlGwqp4lc+tVziF3uFViW9MXk +3bVt+s1E7ztwG7+WBgVlLYe3CNSWkMxfyYBafH/l7iep6AFjoTn1z3AAjYi7IUNN +0JkW8MTgafRQIu4QsV5luq/Tiar2vwAm/GNgUJdSzUKARsfQzb/XTIgnLQqtAgMB +AAGjUzBRMB0GA1UdDgQWBBSijSC03/Thi6EOdM91V33zsbQpgzAfBgNVHSMEGDAW +gBSijSC03/Thi6EOdM91V33zsbQpgzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQAvKEfmCDoMTKC6bfP6DSs+MSAGc5tCr6w6cz2AKNJ2fOMhkq55 +JF47oBBGm9SdTB6Jqo6c109Ps69/+LMtEEGwvzL0RL0WAuTYGo6sudm9hj/jDHZh +pAqi/2BQQeVgTa6oW0jtNPFe+/cobXo9TJ7wECGrhvVbmfl5ZPc0YVOIjjR0/LhL +q7lqPAlJ5vx0WvsX+QReN97we8vD0x1D3mCySJTi3Irh+grE0yJOSN2fa7cyqi9+ +vSiNUB1eUgQwrO+S8ZazYNvAZXC2Xf4WB4SOifJD73pYPAdwOejc0FA+zfEKa/6/ +vTUs8cIhlmDWO+BEoc9wygMKMmhT5s7/T5Bv +-----END CERTIFICATE----- diff --git a/samples/net/wifi/test_certs/rsa2k_no_des/client-key.pem b/samples/net/wifi/test_certs/rsa2k_no_des/client-key.pem new file mode 100644 index 00000000000..6ab70da2452 --- /dev/null +++ b/samples/net/wifi/test_certs/rsa2k_no_des/client-key.pem @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQILVdWyEWhWU0CAggA +MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBDMFReIusCg7gSkoUQZV2flBIIE +0BIFQH7+0dc7wHIQQ1y0ao90rrK3ExtCABH6xp4OAHUNPR1549zSEak/9Ba6WLBp +YE0m/lpLz4oUJE4Kd3rg4ekSZk4mapZoW7g5ax4qAEblmM6rqmyjiU0Q6tsAb8n1 +x+RyjUILlgTH1HDmeNA53QNMCw++xIMIJPN29SvFN6vkU2Fd2f74/TuZRSaCEPLO +LKtNMwWCMTrlv0UewEryOvZegPQuEF/Ewmmw/9l5VfkPp6zAtZKzWsfk4jUo5tv2 +5dPoHR+RKjNNVwetnCq59QYMS2My6KLqX4Vzqnbu8K1nlbm85ZHnvLGi8cDn8EB7 +QtRL+Ev5IwcwYJgV5AMojouJLQdR655jeITWI1Gsohz28YG8c1qYX4ZN6albSd1G +fd1tMOWkeu4uEzJ7ijLDfnCzrklnLuAZx8yLzyrOa7i9AwwJmdgUEdbWWsru3L6C +zDJ45rpA0FobdlTem4kpoE9yiyHkIhf3wmI3X+0aodC11pdbHP260KIC8E1K9FUh +s/IoEQCYrBp8UltNTlezwq/E5uOuIu4EpfjEgH1Z3+hSDbnmMAXNX4DbL234x7iy +3Y256DtOeHSElnRz3kDnZVNtM1Kd5fgEYJ1ptYRPYaWyJka7/hC/0UObuM9w+QeO +OlG0QgumQFloyhDa9anPBK4sYJp4g1fK8golUDW4AdpFPNOJvvgOvQUzhPpHjr+N +lpZ75Y6I3JSSKJ/UMlSCOqjak8oZtMtJNMfbx1lgwwDtgjDSJvSdl735gI9VmXXH +qnlGEtyiQ7k1Z1a4HxiY2/CiDHvkymClir/Ik8gt+wmyT9c/9BcehLRf6PxMsDVy +PCkty1LlzN+5tSZJtJnOiTlgsRn/w49Ohp74ITheSdb30/6PnFI+o8rcJHmrjN4d +t3z/bCyWAeC8mS7m0wtXlyBeG9xvdyT8dDHAFOnqxX30dEwEbjNj58kWGAgRf9i3 +HlOAP8yRy7LAV7A4HEPnEzXBxYpsROUw/8d3Jtmr2nAp2hfKP339DYZPHZpRLjJr +WQlJasHHLxHKKjSsuM06WsCO+Tt2FTSgGJuU6nFVK75fssmmJYzj9qMHVM6YSjfY +sT0ZIWRgO9NLFx5O3QxY1wgMLhhv1FREy9NVnMU0W3A1u0F7dwHywZGha2IqEXgu ++UyWIJnePMvluV/s66AN/OpIxKU48c0B4l7XzXkHHd43tDUG3ztfRuPbWCHipuRO +eo+vHGD01iBLSE1ZhrYLHKQhJvIKx/PIEaqJHP/Vy35AD/2/GH09TiIBHzX9aXie +TiKFs30FQv7SpLNHNE7jUxsYGNUbYa70S/Vgn3wkKATcXpCc749XQV4OUbFoqkDm +vuZOjkIOlm/OtZkUuDWmk96mgoVG/gWSEJPynJHUpmWdu/BCdYOgxBk/bmPa1leS +Z5NbO0fGMnNhDMXYA5rqmVzABcNSYhgYw5aciWpBlgYHEYrPxZvCxWftIyb24oEk +wdHEaFbIYbOoVZqo7Ym2hrvVrJb8Qdukf1BmUgfSSSc7BFoSrBUO4SNFtZI55NOB +OM4rnkqfoYR0IpnxzPIpxpsWljG9QsgnTaffStDgIGXiAtBWJFy+44f1IS4EoC6B ++we1Q6atPwYSyPtG8mn4Ce0BNxLDUoFDLMQ7Bt8QBMeX +-----END ENCRYPTED PRIVATE KEY----- diff --git a/samples/net/wifi/test_certs/rsa2k_no_des/client-key2.pem b/samples/net/wifi/test_certs/rsa2k_no_des/client-key2.pem new file mode 100644 index 00000000000..6ab70da2452 --- /dev/null +++ b/samples/net/wifi/test_certs/rsa2k_no_des/client-key2.pem @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQILVdWyEWhWU0CAggA +MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBDMFReIusCg7gSkoUQZV2flBIIE +0BIFQH7+0dc7wHIQQ1y0ao90rrK3ExtCABH6xp4OAHUNPR1549zSEak/9Ba6WLBp +YE0m/lpLz4oUJE4Kd3rg4ekSZk4mapZoW7g5ax4qAEblmM6rqmyjiU0Q6tsAb8n1 +x+RyjUILlgTH1HDmeNA53QNMCw++xIMIJPN29SvFN6vkU2Fd2f74/TuZRSaCEPLO +LKtNMwWCMTrlv0UewEryOvZegPQuEF/Ewmmw/9l5VfkPp6zAtZKzWsfk4jUo5tv2 +5dPoHR+RKjNNVwetnCq59QYMS2My6KLqX4Vzqnbu8K1nlbm85ZHnvLGi8cDn8EB7 +QtRL+Ev5IwcwYJgV5AMojouJLQdR655jeITWI1Gsohz28YG8c1qYX4ZN6albSd1G +fd1tMOWkeu4uEzJ7ijLDfnCzrklnLuAZx8yLzyrOa7i9AwwJmdgUEdbWWsru3L6C +zDJ45rpA0FobdlTem4kpoE9yiyHkIhf3wmI3X+0aodC11pdbHP260KIC8E1K9FUh +s/IoEQCYrBp8UltNTlezwq/E5uOuIu4EpfjEgH1Z3+hSDbnmMAXNX4DbL234x7iy +3Y256DtOeHSElnRz3kDnZVNtM1Kd5fgEYJ1ptYRPYaWyJka7/hC/0UObuM9w+QeO +OlG0QgumQFloyhDa9anPBK4sYJp4g1fK8golUDW4AdpFPNOJvvgOvQUzhPpHjr+N +lpZ75Y6I3JSSKJ/UMlSCOqjak8oZtMtJNMfbx1lgwwDtgjDSJvSdl735gI9VmXXH +qnlGEtyiQ7k1Z1a4HxiY2/CiDHvkymClir/Ik8gt+wmyT9c/9BcehLRf6PxMsDVy +PCkty1LlzN+5tSZJtJnOiTlgsRn/w49Ohp74ITheSdb30/6PnFI+o8rcJHmrjN4d +t3z/bCyWAeC8mS7m0wtXlyBeG9xvdyT8dDHAFOnqxX30dEwEbjNj58kWGAgRf9i3 +HlOAP8yRy7LAV7A4HEPnEzXBxYpsROUw/8d3Jtmr2nAp2hfKP339DYZPHZpRLjJr +WQlJasHHLxHKKjSsuM06WsCO+Tt2FTSgGJuU6nFVK75fssmmJYzj9qMHVM6YSjfY +sT0ZIWRgO9NLFx5O3QxY1wgMLhhv1FREy9NVnMU0W3A1u0F7dwHywZGha2IqEXgu ++UyWIJnePMvluV/s66AN/OpIxKU48c0B4l7XzXkHHd43tDUG3ztfRuPbWCHipuRO +eo+vHGD01iBLSE1ZhrYLHKQhJvIKx/PIEaqJHP/Vy35AD/2/GH09TiIBHzX9aXie +TiKFs30FQv7SpLNHNE7jUxsYGNUbYa70S/Vgn3wkKATcXpCc749XQV4OUbFoqkDm +vuZOjkIOlm/OtZkUuDWmk96mgoVG/gWSEJPynJHUpmWdu/BCdYOgxBk/bmPa1leS +Z5NbO0fGMnNhDMXYA5rqmVzABcNSYhgYw5aciWpBlgYHEYrPxZvCxWftIyb24oEk +wdHEaFbIYbOoVZqo7Ym2hrvVrJb8Qdukf1BmUgfSSSc7BFoSrBUO4SNFtZI55NOB +OM4rnkqfoYR0IpnxzPIpxpsWljG9QsgnTaffStDgIGXiAtBWJFy+44f1IS4EoC6B ++we1Q6atPwYSyPtG8mn4Ce0BNxLDUoFDLMQ7Bt8QBMeX +-----END ENCRYPTED PRIVATE KEY----- diff --git a/samples/net/wifi/test_certs/rsa2k_no_des/client.pem b/samples/net/wifi/test_certs/rsa2k_no_des/client.pem new file mode 100644 index 00000000000..9e815474cd8 --- /dev/null +++ b/samples/net/wifi/test_certs/rsa2k_no_des/client.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDojCCAooCFGZ4UJXBKG70aewILFtsy4mbvaYZMA0GCSqGSIb3DQEBCwUAMIGS +MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hl +cmUxFDASBgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRp +ZmljYXRlIEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5v +cmcwHhcNMjQxMDA4MTAyNjI1WhcNMzQxMDA2MTAyNjI1WjCBhzELMAkGA1UEBhMC +RlIxDzANBgNVBAgMBlJhZGl1czESMBAGA1UEBwwJU29tZXdoZXJlMRQwEgYDVQQK +DAtFeGFtcGxlIEluYzEbMBkGA1UEAwwSY2xpZW50LmV4YW1wbGUub3JnMSAwHgYJ +KoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMu3HXJvi2Q4hQnLL4v/sCyEr5x+ZtBcSi2yETMViaf2EStW +UOs1A1pmCQbO7nadLQcWaX4tzefQCRrs1X4hIQuDIqRPNi6h6G1g5HEtqBWZhvwu +hDbmFiX8/Vtw/P0/9sox2DzyLG0mjJUAYAbKtyC1kQalybVBtrSaazyyAyh6oOuU +chAb7SmmNDsRB959TWM/mp+6yCcFGzCDKNBwlwthB6Uw92d3SfOyXEnZm8rPf0hV +4ICL5iB+xEYBv1LKmznFK/4UAyKpxAygc5fxKVWwlSsq8MrES5ak0n6H71wViaXK +BrH5yh9jEkK9XSeaUwg8C9eOOexyx/5JDY3TTE8CAwEAATANBgkqhkiG9w0BAQsF +AAOCAQEAUNddNiRUlJH0acJJv8ztXNWjNewd17tAk1BBHp6yyGAD8b52p6QbDAdS +xO3WsSc2bqSy599jp4GshO27TMQsBRMfoggCG21Aj6sIs0Hd4shTE4T0GUBEBxC2 +/HReuD+cGIzzKMYlvK8RPSaGLPvPw5SryvmOnjD368V0KCHwT04Z14i4sMxlkd5q +wB7fxTkVla9MR4uWObX62mJykmqT86chScJpldtBpRh8wrEa3Gt9FZoi/eqP0De8 +oCxmCZDrozGTZ4IIaNzchx3Ensh1RQwvvxd6ATerYdUjq4V2TlTksDRdCXtj+uNJ +FnB32sUHiIouxudAsqDf8UL9/99RCw== +-----END CERTIFICATE----- diff --git a/samples/net/wifi/test_certs/rsa2k_no_des/client2.pem b/samples/net/wifi/test_certs/rsa2k_no_des/client2.pem new file mode 100644 index 00000000000..9e815474cd8 --- /dev/null +++ b/samples/net/wifi/test_certs/rsa2k_no_des/client2.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDojCCAooCFGZ4UJXBKG70aewILFtsy4mbvaYZMA0GCSqGSIb3DQEBCwUAMIGS +MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hl +cmUxFDASBgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRp +ZmljYXRlIEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5v +cmcwHhcNMjQxMDA4MTAyNjI1WhcNMzQxMDA2MTAyNjI1WjCBhzELMAkGA1UEBhMC +RlIxDzANBgNVBAgMBlJhZGl1czESMBAGA1UEBwwJU29tZXdoZXJlMRQwEgYDVQQK +DAtFeGFtcGxlIEluYzEbMBkGA1UEAwwSY2xpZW50LmV4YW1wbGUub3JnMSAwHgYJ +KoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMu3HXJvi2Q4hQnLL4v/sCyEr5x+ZtBcSi2yETMViaf2EStW +UOs1A1pmCQbO7nadLQcWaX4tzefQCRrs1X4hIQuDIqRPNi6h6G1g5HEtqBWZhvwu +hDbmFiX8/Vtw/P0/9sox2DzyLG0mjJUAYAbKtyC1kQalybVBtrSaazyyAyh6oOuU +chAb7SmmNDsRB959TWM/mp+6yCcFGzCDKNBwlwthB6Uw92d3SfOyXEnZm8rPf0hV +4ICL5iB+xEYBv1LKmznFK/4UAyKpxAygc5fxKVWwlSsq8MrES5ak0n6H71wViaXK +BrH5yh9jEkK9XSeaUwg8C9eOOexyx/5JDY3TTE8CAwEAATANBgkqhkiG9w0BAQsF +AAOCAQEAUNddNiRUlJH0acJJv8ztXNWjNewd17tAk1BBHp6yyGAD8b52p6QbDAdS +xO3WsSc2bqSy599jp4GshO27TMQsBRMfoggCG21Aj6sIs0Hd4shTE4T0GUBEBxC2 +/HReuD+cGIzzKMYlvK8RPSaGLPvPw5SryvmOnjD368V0KCHwT04Z14i4sMxlkd5q +wB7fxTkVla9MR4uWObX62mJykmqT86chScJpldtBpRh8wrEa3Gt9FZoi/eqP0De8 +oCxmCZDrozGTZ4IIaNzchx3Ensh1RQwvvxd6ATerYdUjq4V2TlTksDRdCXtj+uNJ +FnB32sUHiIouxudAsqDf8UL9/99RCw== +-----END CERTIFICATE----- diff --git a/samples/net/wifi/test_certs/rsa2k_no_des/server-key.pem b/samples/net/wifi/test_certs/rsa2k_no_des/server-key.pem new file mode 100644 index 00000000000..5f032cad701 --- /dev/null +++ b/samples/net/wifi/test_certs/rsa2k_no_des/server-key.pem @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIjI78fcZSH7oCAggA +MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBDfF676hRrL290F0MgMDZiuBIIE +0Hkz7skRV8Ox0SoX5N8GsOPfN4PS1cLyHgokY6dUhJPU5vUzOn9iSiGQSEzSguQ7 +11mssjRC2T45wB/95VK2EPtRw1f/6VOUR6RJnnGb0PV1Rydp/x5TZ6vzcXpakqly +eljJR/20fIJClsZzhw0iu5la9fkF6G8WYFEkqex5jALSiN4qVLvkiqcTnh5+amem +8+OCKgvgooKD2ids4/0GGfJRQSC6DFf3kuxNl+MMvmDXmz/vrD85ONnyXzKXDA3N +3vRgL/YT6GzwIXb+7/c/tIMpnacxPAdbNOs3DY5ss4xcK68L5PwpM2BljzBa5dGw +Smgf2VRaYRVzmrte5j280QjfrlHRU2cHaxm0GCu2AOTGwMXcSNYMXfDNuxc57oQJ +vHXMeZD4K5lACbhYdZ5lJNFvv29YI7dZ7QOGu6nXlAuhZfbdc/cgT0som7eG8xpT +pERllhQ5ych9sP9nAccN6VUsWgmlF73lbSptBek1ccYkp9LIYCteJUPl2qPcz6zl +A7zrZ54f3Lg0fOm2pCtg+qKBiw1nd3MR/YbRCgyvudyZE2cCN/ZspWqxsavbGYOz +JOfIFNnyAcOYtEv1n1BGLfMa1THW2bDV8XmHVHUtM0k4z250QAmLygWLY2166iUF +qotBkvctKKdulzGdT4nVer1UEKTqcxhDf0dRiHN5spZtFrOee0uGIoQWHt2oecaK +pJovW+i0qO/1DG5spfU2m1bz6jR2u6nxi340oRrMSoe1ELVg3l1/wmM8yzh07GuK +pshzxwqAG/FnaKCvcKGUG2EfnAvOcbMgSa2w3GvyRkcDPn00arvX9nuXj0gkRDBi +eoVMkKKTeeYSGQ4ik+ja3xkgHcxh5W8aoezLvBbmUq206cmhLwfnYMhnvFTs6EBK +E0ENpCHwF/qoVBIzRCijG/eeCuf3a1YkJsWlvEeVrPeOmDFeDft3SSGOzHxE2A/7 +HWmHbWTm7dPOfgsU4zf+HglnBjN3kYU7StyM0EGxmB4lfB2BiWiL/3R13ERHQZfa +oOqa4/hOFXOXfTQk6ufXtBx8L9BemBqh36zbs2xVvIizJKeRMruoRblWZkHhUKR8 +K5GA7FYkU9ZPPP0UPKsO94xzwfbevi+7nWeUZoqcqAUy8Jt5aD2QpvFVbPBBOz17 +PGaubeVn/Ry8swPvkpddtmJ4mgF+3SVctmzY+EE/oN1XS8wa+XeuaThzk89Lvrfa +606nRWrNw3PSKjYoEEtRLhPeJCi9uOVenbOjtclio9mV5Sugwurolczvq8DAGpMG +W4WgALgOWDjQAudiNH5dtcMGkBONbYywkJc7cT2OZFmzkCbchPPWlKGopuaFGAoU +SPj7C9SenHmOWAFRX5jJrOZAuVqkdKN3ShWZUL+cDkOCCQlZ0E31u0m9yozY1MeO +Sx42GtZaSGff37FGYeMZM2ztlutw2zmv2B1g52SBHTjCqQU/ud2Q6/U0kUzjbsdF +/0KQY9wgZRdOvbnA2lBirN1rXzLWPdduOZ5QImfHfvToN+oOlEqVvvWG12DdA4e5 +y4Dumx00lfKEsGutjF3oKgE6jsjwqAwCoYEAFHTtsvA0hKPisQwNHZmpjGARvR56 +yMEmXynKvgyVGvVP2a9VdqBXSpstL24HfDIu+nlyEWGQ +-----END ENCRYPTED PRIVATE KEY----- diff --git a/samples/net/wifi/test_certs/rsa2k_no_des/server.pem b/samples/net/wifi/test_certs/rsa2k_no_des/server.pem new file mode 100644 index 00000000000..d8f82faf6dd --- /dev/null +++ b/samples/net/wifi/test_certs/rsa2k_no_des/server.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDojCCAooCFCPQcj7ej5jhr6/mLlAoLYgfgsYcMA0GCSqGSIb3DQEBCwUAMIGS +MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hl +cmUxFDASBgNVBAoMC0V4YW1wbGUgSW5jMSYwJAYDVQQDDB1FeGFtcGxlIENlcnRp +ZmljYXRlIEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5v +cmcwHhcNMjQxMDA4MTAyNTI5WhcNMzQxMDA2MTAyNTI5WjCBhzELMAkGA1UEBhMC +RlIxDzANBgNVBAgMBlJhZGl1czESMBAGA1UEBwwJU29tZXdoZXJlMRQwEgYDVQQK +DAtFeGFtcGxlIEluYzEbMBkGA1UEAwwSc2VydmVyLmV4YW1wbGUub3JnMSAwHgYJ +KoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBANcE/OPHQK/y1b6UsIktNK7WIZB528HECY7Bz18EGba0uHod +91RbzHSJ1qI3iQyldI1UW/kY5oYjBW3lhLH0BkD/EsqvNYCV+3YzAM3ITtdOdEU9 +CqjgXttehQHfXvc7jQlF8Q2gYPUz2dDLo/gcTkz1d+mCr6nQUjT8Kq/nG54T0NnD +k8udchjUlNaQsvx/WVs3TUYxMbWzQRtpJIbv99rAWq7YgQbkNZnSYC1VgrU/BiuQ +0KrP6rfkxvBCGwIh2JXIL3FV4N8AsgGZvjXQ3zXKXwuPhxWdSmjKWlioVM3mha2A +/1e1gX6nFY/uk46D60XWxcJ6tHGHoafU7EtN3zMCAwEAATANBgkqhkiG9w0BAQsF +AAOCAQEAWwdTMphD0jxLtYO0iq/+fMtq2R96ZUN9wprZ7qg1evUNQjqLR4jKX306 +ZJX5uw+6r5Ve/k368qvcSF/sSfvBm8yd3JcegTl5t8T2/Aks8o3sfyuS0uyJC1rS +zTrd7FmJG9YMosU1BqYobda64MXq7g+6MyrQoZ6fVdPvC6Sox3+a4fl9xjdm4CTY +MsWqBJMe26LptvRIJ01/B6PjVTvsn/fxxj7rHmnJ/j63AIiBntm0vV/85cwYy/4o +HlPH/Qjvn3hZjUlBcveiYat998F+s9gH2usvCkG3kly/n1/667LLCymmCHxtH8ka +7tF3siO1EANureFY8qj6ZvlKeTkZ6g== +-----END CERTIFICATE----- From 1f6d89d617e02dd9e96435fe9d2459fd45ae8487 Mon Sep 17 00:00:00 2001 From: Ravi Dondaputi Date: Wed, 16 Jul 2025 15:50:15 +0530 Subject: [PATCH 04/41] [nrf fromlist] snippets: wifi-enterprise: Store certificates in Protected storage Add config options required for storing certificates in protected storage, and to free up space of ROM to accommodate the additional features that are enabled for TFM. Upstream PR #: 93096 Signed-off-by: Ravi Dondaputi --- snippets/wifi-enterprise/snippet.yml | 3 +++ snippets/wifi-enterprise/wifi-enterprise-nrf-ns.conf | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100644 snippets/wifi-enterprise/wifi-enterprise-nrf-ns.conf diff --git a/snippets/wifi-enterprise/snippet.yml b/snippets/wifi-enterprise/snippet.yml index f88b23ec2a4..ae2fbd2953b 100644 --- a/snippets/wifi-enterprise/snippet.yml +++ b/snippets/wifi-enterprise/snippet.yml @@ -6,3 +6,6 @@ boards: /.*/nrf.*/cpuapp/: append: EXTRA_CONF_FILE: wifi-enterprise-nrf.conf + /.*/nrf.*/cpuapp/ns/: + append: + EXTRA_CONF_FILE: wifi-enterprise-nrf-ns.conf diff --git a/snippets/wifi-enterprise/wifi-enterprise-nrf-ns.conf b/snippets/wifi-enterprise/wifi-enterprise-nrf-ns.conf new file mode 100644 index 00000000000..dd33192d180 --- /dev/null +++ b/snippets/wifi-enterprise/wifi-enterprise-nrf-ns.conf @@ -0,0 +1,8 @@ +# For TLS and X.509 processing MbedTLS needs large heap size and using separate heap +# for MbedTLS gives us more control over the heap size. +CONFIG_MBEDTLS_HEAP_SIZE=75000 +CONFIG_LTO=y +CONFIG_ISR_TABLES_LOCAL_DECLARATION=y +CONFIG_WIFI_CREDENTIALS_RUNTIME_CERTIFICATES=y +CONFIG_WIFI_SHELL_RUNTIME_CERTIFICATES=y +CONFIG_TLS_CREDENTIALS_BACKEND_PROTECTED_STORAGE=y From d1421d94cec9ec4e9734555d2c12c8b02dbd7e87 Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Sun, 20 Jul 2025 14:08:19 +0530 Subject: [PATCH 05/41] Revert "[nrf fromlist] drivers: nrf_wifi: Remove station mode from monitor mode" This reverts commit 807abfe0145ad590fa755e555a2b9ef76683ac43. Signed-off-by: Chaitanya Tata --- drivers/wifi/nrf_wifi/inc/fmac_main.h | 4 +- drivers/wifi/nrf_wifi/inc/wifi_mgmt.h | 2 - drivers/wifi/nrf_wifi/src/fmac_main.c | 10 ++-- drivers/wifi/nrf_wifi/src/net_if.c | 66 +++++++++++++-------------- drivers/wifi/nrf_wifi/src/wifi_mgmt.c | 2 - 5 files changed, 38 insertions(+), 46 deletions(-) diff --git a/drivers/wifi/nrf_wifi/inc/fmac_main.h b/drivers/wifi/nrf_wifi/inc/fmac_main.h index cfe68378ab5..23f96089eb6 100644 --- a/drivers/wifi/nrf_wifi/inc/fmac_main.h +++ b/drivers/wifi/nrf_wifi/inc/fmac_main.h @@ -62,9 +62,6 @@ struct nrf_wifi_vif_ctx_zep { #ifdef CONFIG_NET_STATISTICS_ETHERNET struct net_stats_eth eth_stats; #endif /* CONFIG_NET_STATISTICS_ETHERNET */ -#if defined(CONFIG_NRF70_STA_MODE) || defined(CONFIG_NRF70_RAW_DATA_RX) - bool authorized; -#endif #ifdef CONFIG_NRF70_STA_MODE unsigned int assoc_freq; enum nrf_wifi_fmac_if_carr_state if_carr_state; @@ -75,6 +72,7 @@ struct nrf_wifi_vif_ctx_zep { unsigned char twt_flow_in_progress_map; struct wifi_ps_config *ps_info; bool ps_config_info_evnt; + bool authorized; bool cookie_resp_received; #ifdef CONFIG_NRF70_DATA_TX struct k_work nrf_wifi_net_iface_work; diff --git a/drivers/wifi/nrf_wifi/inc/wifi_mgmt.h b/drivers/wifi/nrf_wifi/inc/wifi_mgmt.h index a4ae2030210..e2aa91caa48 100644 --- a/drivers/wifi/nrf_wifi/inc/wifi_mgmt.h +++ b/drivers/wifi/nrf_wifi/inc/wifi_mgmt.h @@ -22,7 +22,6 @@ #define WIFI_MGMT_DATA_CTRL_FILTER_SETTING 0xE #define WIFI_ALL_FILTER_SETTING 0xF -#ifdef CONFIG_NRF70_STA_MODE struct twt_interval_float { unsigned short mantissa; unsigned char exponent; @@ -55,7 +54,6 @@ int nrf_wifi_get_power_save_config(const struct device *dev, void nrf_wifi_event_proc_get_power_save_info(void *vif_ctx, struct nrf_wifi_umac_event_power_save_info *ps_info, unsigned int event_len); -#endif /* CONFIG_NRF70_STA_MODE */ #ifdef CONFIG_NRF70_SYSTEM_WITH_RAW_MODES int nrf_wifi_mode(const struct device *dev, diff --git a/drivers/wifi/nrf_wifi/src/fmac_main.c b/drivers/wifi/nrf_wifi/src/fmac_main.c index 3d599412651..b218bc13add 100644 --- a/drivers/wifi/nrf_wifi/src/fmac_main.c +++ b/drivers/wifi/nrf_wifi/src/fmac_main.c @@ -350,7 +350,7 @@ int nrf_wifi_reg_domain(const struct device *dev, struct wifi_reg_domain *reg_do goto out; } -#if defined(CONFIG_NRF70_SCAN_ONLY) || defined(CONFIG_NRF70_RAW_DATA_RX) +#ifdef CONFIG_NRF70_SCAN_ONLY if (reg_domain->oper == WIFI_MGMT_SET) { memcpy(reg_domain_info.alpha2, reg_domain->country_code, WIFI_COUNTRY_CODE_LEN); @@ -739,10 +739,10 @@ static int nrf_wifi_drv_main_zep(const struct device *dev) data_config.rate_protection_type = rate_protection_type; callbk_fns.if_carr_state_chg_callbk_fn = nrf_wifi_if_carr_state_chg; callbk_fns.rx_frm_callbk_fn = nrf_wifi_if_rx_frm; -#endif #if defined(CONFIG_NRF70_RAW_DATA_RX) || defined(CONFIG_NRF70_PROMISC_DATA_RX) callbk_fns.sniffer_callbk_fn = nrf_wifi_if_sniffer_rx_frm; #endif /* CONFIG_NRF70_RAW_DATA_RX || CONFIG_NRF70_PROMISC_DATA_RX */ +#endif rx_buf_pools[0].num_bufs = rx1_num_bufs; rx_buf_pools[1].num_bufs = rx2_num_bufs; rx_buf_pools[2].num_bufs = rx3_num_bufs; @@ -756,7 +756,6 @@ static int nrf_wifi_drv_main_zep(const struct device *dev) callbk_fns.scan_start_callbk_fn = nrf_wifi_event_proc_scan_start_zep; callbk_fns.scan_done_callbk_fn = nrf_wifi_event_proc_scan_done_zep; callbk_fns.reg_change_callbk_fn = reg_change_callbk_fn; - callbk_fns.event_get_reg = nrf_wifi_event_get_reg_zep; #ifdef CONFIG_NET_L2_WIFI_MGMT callbk_fns.disp_scan_res_callbk_fn = nrf_wifi_event_proc_disp_scan_res_zep; #endif /* CONFIG_NET_L2_WIFI_MGMT */ @@ -770,6 +769,7 @@ static int nrf_wifi_drv_main_zep(const struct device *dev) callbk_fns.twt_config_callbk_fn = nrf_wifi_event_proc_twt_setup_zep; callbk_fns.twt_teardown_callbk_fn = nrf_wifi_event_proc_twt_teardown_zep; callbk_fns.twt_sleep_callbk_fn = nrf_wifi_event_proc_twt_sleep_zep; + callbk_fns.event_get_reg = nrf_wifi_event_get_reg_zep; callbk_fns.event_get_ps_info = nrf_wifi_event_proc_get_power_save_info; callbk_fns.cookie_rsp_callbk_fn = nrf_wifi_event_proc_cookie_rsp; callbk_fns.process_rssi_from_rx = nrf_wifi_process_rssi_from_rx; @@ -858,12 +858,10 @@ static struct wifi_mgmt_ops nrf_wifi_mgmt_ops = { .get_stats = nrf_wifi_stats_get, .reset_stats = nrf_wifi_stats_reset, #endif /* CONFIG_NET_STATISTICS_WIFI */ -#if defined(CONFIG_NRF70_STA_MODE) || defined(CONFIG_NRF70_RAW_DATA_RX) - .reg_domain = nrf_wifi_reg_domain, -#endif #ifdef CONFIG_NRF70_STA_MODE .set_power_save = nrf_wifi_set_power_save, .set_twt = nrf_wifi_set_twt, + .reg_domain = nrf_wifi_reg_domain, .get_power_save_config = nrf_wifi_get_power_save_config, .set_rts_threshold = nrf_wifi_set_rts_threshold, .get_rts_threshold = nrf_wifi_get_rts_threshold, diff --git a/drivers/wifi/nrf_wifi/src/net_if.c b/drivers/wifi/nrf_wifi/src/net_if.c index 25c9ed5da75..19101fab442 100644 --- a/drivers/wifi/nrf_wifi/src/net_if.c +++ b/drivers/wifi/nrf_wifi/src/net_if.c @@ -239,6 +239,39 @@ static void nrf_wifi_net_iface_work_handler(struct k_work *work) } } +#if defined(CONFIG_NRF70_RAW_DATA_RX) || defined(CONFIG_NRF70_PROMISC_DATA_RX) +void nrf_wifi_if_sniffer_rx_frm(void *os_vif_ctx, void *frm, + struct raw_rx_pkt_header *raw_rx_hdr, + bool pkt_free) +{ + struct nrf_wifi_vif_ctx_zep *vif_ctx_zep = os_vif_ctx; + struct net_if *iface = vif_ctx_zep->zep_net_if_ctx; + struct net_pkt *pkt; + struct nrf_wifi_ctx_zep *rpu_ctx_zep = vif_ctx_zep->rpu_ctx_zep; + struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx = rpu_ctx_zep->rpu_ctx; + struct nrf_wifi_sys_fmac_dev_ctx *sys_dev_ctx = NULL; + int ret; + + sys_dev_ctx = wifi_dev_priv(fmac_dev_ctx); + + pkt = net_raw_pkt_from_nbuf(iface, frm, sizeof(struct raw_rx_pkt_header), + raw_rx_hdr, + pkt_free); + if (!pkt) { + LOG_DBG("Failed to allocate net_pkt"); + return; + } + + net_capture_pkt(iface, pkt); + + ret = net_recv_data(iface, pkt); + if (ret < 0) { + LOG_DBG("RCV Packet dropped by NET stack: %d", ret); + net_pkt_unref(pkt); + } +} +#endif /* CONFIG_NRF70_RAW_DATA_RX || CONFIG_NRF70_PROMISC_DATA_RX */ + void nrf_wifi_if_rx_frm(void *os_vif_ctx, void *frm) { struct nrf_wifi_vif_ctx_zep *vif_ctx_zep = os_vif_ctx; @@ -308,39 +341,6 @@ static bool is_eapol(struct net_pkt *pkt) } #endif /* CONFIG_NRF70_DATA_TX */ -#if defined(CONFIG_NRF70_RAW_DATA_RX) || defined(CONFIG_NRF70_PROMISC_DATA_RX) -void nrf_wifi_if_sniffer_rx_frm(void *os_vif_ctx, void *frm, - struct raw_rx_pkt_header *raw_rx_hdr, - bool pkt_free) -{ - struct nrf_wifi_vif_ctx_zep *vif_ctx_zep = os_vif_ctx; - struct net_if *iface = vif_ctx_zep->zep_net_if_ctx; - struct net_pkt *pkt; - struct nrf_wifi_ctx_zep *rpu_ctx_zep = vif_ctx_zep->rpu_ctx_zep; - struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx = rpu_ctx_zep->rpu_ctx; - struct nrf_wifi_sys_fmac_dev_ctx *sys_dev_ctx = NULL; - int ret; - - sys_dev_ctx = wifi_dev_priv(fmac_dev_ctx); - - pkt = net_raw_pkt_from_nbuf(iface, frm, sizeof(struct raw_rx_pkt_header), - raw_rx_hdr, - pkt_free); - if (!pkt) { - LOG_DBG("Failed to allocate net_pkt"); - return; - } - - net_capture_pkt(iface, pkt); - - ret = net_recv_data(iface, pkt); - if (ret < 0) { - LOG_DBG("RCV Packet dropped by NET stack: %d", ret); - net_pkt_unref(pkt); - } -} -#endif /* CONFIG_NRF70_RAW_DATA_RX || CONFIG_NRF70_PROMISC_DATA_RX */ - enum ethernet_hw_caps nrf_wifi_if_caps_get(const struct device *dev) { enum ethernet_hw_caps caps = (ETHERNET_LINK_10BASE | diff --git a/drivers/wifi/nrf_wifi/src/wifi_mgmt.c b/drivers/wifi/nrf_wifi/src/wifi_mgmt.c index e6ac9d8fc39..875ce786b57 100644 --- a/drivers/wifi/nrf_wifi/src/wifi_mgmt.c +++ b/drivers/wifi/nrf_wifi/src/wifi_mgmt.c @@ -25,7 +25,6 @@ LOG_MODULE_DECLARE(wifi_nrf, CONFIG_WIFI_NRF70_LOG_LEVEL); extern struct nrf_wifi_drv_priv_zep rpu_drv_priv_zep; -#ifdef CONFIG_NRF70_STA_MODE int nrf_wifi_set_power_save(const struct device *dev, struct wifi_ps_params *params) { @@ -749,7 +748,6 @@ void nrf_wifi_event_proc_twt_sleep_zep(void *vif_ctx, out: k_mutex_unlock(&vif_ctx_zep->vif_lock); } -#endif /* CONFIG_NRF70_STA_MODE */ #ifdef CONFIG_NRF70_SYSTEM_WITH_RAW_MODES int nrf_wifi_mode(const struct device *dev, From 2c863e42983ab393b5a2c72657b321e89189987d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Cab=C3=A9?= Date: Mon, 16 Jun 2025 20:40:22 +0200 Subject: [PATCH 06/41] [nrf fromtree] drivers: nrf_wifi: put driver ops in flash MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add const qualifiers to the driver ops to save on RAM usage. Signed-off-by: Benjamin Cabé (cherry picked from commit 8d6316c5b70dc3923c5a187152c4fd014718d41b) --- drivers/wifi/nrf_wifi/src/fmac_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/wifi/nrf_wifi/src/fmac_main.c b/drivers/wifi/nrf_wifi/src/fmac_main.c index b218bc13add..72055fb0299 100644 --- a/drivers/wifi/nrf_wifi/src/fmac_main.c +++ b/drivers/wifi/nrf_wifi/src/fmac_main.c @@ -852,7 +852,7 @@ static int nrf_wifi_drv_main_zep(const struct device *dev) #ifndef CONFIG_NRF70_RADIO_TEST #ifdef CONFIG_NET_L2_WIFI_MGMT -static struct wifi_mgmt_ops nrf_wifi_mgmt_ops = { +static const struct wifi_mgmt_ops nrf_wifi_mgmt_ops = { .scan = nrf_wifi_disp_scan_zep, #ifdef CONFIG_NET_STATISTICS_WIFI .get_stats = nrf_wifi_stats_get, @@ -881,7 +881,7 @@ static struct wifi_mgmt_ops nrf_wifi_mgmt_ops = { #ifdef CONFIG_NRF70_STA_MODE -static struct zep_wpa_supp_dev_ops wpa_supp_ops = { +static const struct zep_wpa_supp_dev_ops wpa_supp_ops = { .init = nrf_wifi_wpa_supp_dev_init, .deinit = nrf_wifi_wpa_supp_dev_deinit, .scan2 = nrf_wifi_wpa_supp_scan2, From 31b330fb32315af9cf6c7b2dea277030523cb768 Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Tue, 17 Jun 2025 22:01:04 +0530 Subject: [PATCH 07/41] [nrf fromtree] modules: nrf_wifi: Improve power down sequence Swap the order, IOVDD should be powered first and then BUCKEN. Signed-off-by: Chaitanya Tata (cherry picked from commit 9cd933e5b010bd76ac5a2f17b23cef00a861ad44) --- modules/nrf_wifi/bus/rpu_hw_if.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/nrf_wifi/bus/rpu_hw_if.c b/modules/nrf_wifi/bus/rpu_hw_if.c index 5dd71a86de2..62291251fb7 100644 --- a/modules/nrf_wifi/bus/rpu_hw_if.c +++ b/modules/nrf_wifi/bus/rpu_hw_if.c @@ -260,15 +260,15 @@ static int rpu_pwroff(void) { int ret; - ret = gpio_pin_set_dt(&bucken_spec, 0); /* BUCKEN = 0 */ + ret = gpio_pin_set_dt(&iovdd_ctrl_spec, 0); /* IOVDD CNTRL = 0 */ if (ret) { - LOG_ERR("BUCKEN GPIO set failed..."); + LOG_ERR("IOVDD GPIO set failed..."); return ret; } - ret = gpio_pin_set_dt(&iovdd_ctrl_spec, 0); /* IOVDD CNTRL = 0 */ + ret = gpio_pin_set_dt(&bucken_spec, 0); /* BUCKEN = 0 */ if (ret) { - LOG_ERR("IOVDD GPIO set failed..."); + LOG_ERR("BUCKEN GPIO set failed..."); return ret; } From cfb8398a5b1d46ab912c1c35c4d6e55f5aab6b0e Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Tue, 17 Jun 2025 22:06:06 +0530 Subject: [PATCH 08/41] [nrf fromtree] modules: nrf_wifi: Remove co-ex GPIOs first Before powering off remove co-ex GPIOs. Signed-off-by: Chaitanya Tata (cherry picked from commit 2b0876c850017f95c92d472daed616b9ac49d7c7) --- modules/nrf_wifi/bus/rpu_hw_if.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/nrf_wifi/bus/rpu_hw_if.c b/modules/nrf_wifi/bus/rpu_hw_if.c index 62291251fb7..39525211486 100644 --- a/modules/nrf_wifi/bus/rpu_hw_if.c +++ b/modules/nrf_wifi/bus/rpu_hw_if.c @@ -503,21 +503,23 @@ int rpu_disable(void) { int ret; - ret = rpu_pwroff(); + #ifdef CONFIG_NRF70_SR_COEX_RF_SWITCH + ret = sr_gpio_remove(); if (ret) { goto out; } - ret = rpu_gpio_remove(); +#endif + + ret = rpu_pwroff(); if (ret) { goto out; } - -#ifdef CONFIG_NRF70_SR_COEX_RF_SWITCH - ret = sr_gpio_remove(); + ret = rpu_gpio_remove(); if (ret) { goto out; } -#endif + + qdev = NULL; cfg = NULL; From 6d9cd8f304b649acc9ea4e1fd5aab7fd3c36bb10 Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Tue, 17 Jun 2025 22:12:13 +0530 Subject: [PATCH 09/41] [nrf fromtree] modules: nrf_wifi: Implement QSPI deinit By default QSPI is uninitialized after every transaction, so, deinit is a no-op, but if QSPI_LOW_POWER is disabled, then we need to uninitialize the QSPI in the deinit. Signed-off-by: Chaitanya Tata (cherry picked from commit 4eb7b9f06bdb1daba8d0638e62abfb1a65fb343e) --- modules/nrf_wifi/bus/qspi_if.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/modules/nrf_wifi/bus/qspi_if.c b/modules/nrf_wifi/bus/qspi_if.c index 6107a5c4157..ad0534a95a3 100644 --- a/modules/nrf_wifi/bus/qspi_if.c +++ b/modules/nrf_wifi/bus/qspi_if.c @@ -528,14 +528,10 @@ static int qspi_device_init(const struct device *dev) return ret; } -static void qspi_device_uninit(const struct device *dev) +static void _qspi_device_uninit(const struct device *dev) { bool last = true; - if (!IS_ENABLED(CONFIG_NRF70_QSPI_LOW_POWER)) { - return; - } - qspi_lock(dev); #ifdef CONFIG_MULTITHREADING @@ -568,6 +564,15 @@ static void qspi_device_uninit(const struct device *dev) qspi_unlock(dev); } +static void qspi_device_uninit(const struct device *dev) +{ + if (!IS_ENABLED(CONFIG_NRF70_QSPI_LOW_POWER)) { + return; + } + + _qspi_device_uninit(dev); +} + /* QSPI send custom command. * * If this is used for both send and receive the buffer sizes must be @@ -1191,7 +1196,7 @@ struct device qspi_perip = { int qspi_deinit(void) { - LOG_DBG("TODO : %s", __func__); + _qspi_device_uninit(&qspi_perip); return 0; } From d5d7fb72cdaa77081487afe33aa362610520c03f Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Tue, 17 Jun 2025 22:17:11 +0530 Subject: [PATCH 10/41] [nrf fromtree] modules: nrf_wifi: Implement SPI deinit Release the SPI during the deinit to put respective GPIOs in low-power state or disconnected. Signed-off-by: Chaitanya Tata (cherry picked from commit 945ddf0acbafa6e0bca3fc145e0a39a408903546) --- modules/nrf_wifi/bus/spi_if.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/nrf_wifi/bus/spi_if.c b/modules/nrf_wifi/bus/spi_if.c index 7ef1694da58..641e1322899 100644 --- a/modules/nrf_wifi/bus/spi_if.c +++ b/modules/nrf_wifi/bus/spi_if.c @@ -263,9 +263,7 @@ int spim_init(struct qspi_config *config) int spim_deinit(void) { - LOG_DBG("TODO : %s", __func__); - - return 0; + return spi_release_dt(&spi_spec); } static void spim_addr_check(unsigned int addr, const void *data, unsigned int len) From 681f7eb4e6aede333db66340faa21e8b8d8f80a6 Mon Sep 17 00:00:00 2001 From: Ravi Dondaputi Date: Tue, 25 Mar 2025 17:03:43 +0530 Subject: [PATCH 11/41] [nrf fromtree] drivers: wifi: Introduce option to use K_HEAP Provide option to revert to K_HEAP instead of using dedicated heaps in Wi-Fi driver. Signed-off-by: Ravi Dondaputi (cherry picked from commit 11a39692218c7c0a6a0222c3b0066b7e6c515f84) --- drivers/wifi/nrf_wifi/Kconfig.nrfwifi | 16 ++++++++++++++++ modules/nrf_wifi/os/shim.c | 24 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/drivers/wifi/nrf_wifi/Kconfig.nrfwifi b/drivers/wifi/nrf_wifi/Kconfig.nrfwifi index 8980cce8205..bfc1ce0c7f0 100644 --- a/drivers/wifi/nrf_wifi/Kconfig.nrfwifi +++ b/drivers/wifi/nrf_wifi/Kconfig.nrfwifi @@ -570,6 +570,21 @@ config NRF70_RSSI_STALE_TIMEOUT_MS value as the driver does not store it and requires RPU to provide the information. +config NRF_WIFI_GLOBAL_HEAP + bool "Use Zephyr kernel heap for Wi-Fi driver" + depends on KERNEL_MEM_POOL && ((HEAP_MEM_POOL_SIZE > 0) || HEAP_MEM_POOL_IGNORE_MIN) + help + Enable this option to use K_HEAP for memory allocations in Wi-Fi driver. + +if NRF_WIFI_GLOBAL_HEAP +config HEAP_MEM_POOL_ADD_SIZE_NRF70 + # Use a maximum that works for typical use cases and boards, each sample/app can override + # this value if needed by using CONFIG_HEAP_MEM_POOL_IGNORE_MIN + def_int 25000 if NRF70_SCAN_ONLY + def_int 150000 +endif # NRF_WIFI_GLOBAL_HEAP + +if !NRF_WIFI_GLOBAL_HEAP config NRF_WIFI_CTRL_HEAP_SIZE int "Dedicated memory pool for control plane" default 20000 @@ -580,6 +595,7 @@ config NRF_WIFI_DATA_HEAP_SIZE default 8000 if NRF70_SCAN_ONLY default 110000 if !SOC_FAMILY_NORDIC_NRF default 130000 +endif if NETWORKING # Finetune defaults for certain system components used by the driver diff --git a/modules/nrf_wifi/os/shim.c b/modules/nrf_wifi/os/shim.c index 29b72203b55..14107f13928 100644 --- a/modules/nrf_wifi/os/shim.c +++ b/modules/nrf_wifi/os/shim.c @@ -33,6 +33,8 @@ #include "common/hal_structs_common.h" LOG_MODULE_REGISTER(wifi_nrf, CONFIG_WIFI_NRF70_LOG_LEVEL); + +#if !defined(CONFIG_NRF_WIFI_GLOBAL_HEAP) #if defined(CONFIG_NOCACHE_MEMORY) K_HEAP_DEFINE_NOCACHE(wifi_drv_ctrl_mem_pool, CONFIG_NRF_WIFI_CTRL_HEAP_SIZE); K_HEAP_DEFINE_NOCACHE(wifi_drv_data_mem_pool, CONFIG_NRF_WIFI_DATA_HEAP_SIZE); @@ -40,6 +42,8 @@ K_HEAP_DEFINE_NOCACHE(wifi_drv_data_mem_pool, CONFIG_NRF_WIFI_DATA_HEAP_SIZE); K_HEAP_DEFINE(wifi_drv_ctrl_mem_pool, CONFIG_NRF_WIFI_CTRL_HEAP_SIZE); K_HEAP_DEFINE(wifi_drv_data_mem_pool, CONFIG_NRF_WIFI_DATA_HEAP_SIZE); #endif /* CONFIG_NOCACHE_MEMORY */ +#endif /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ + #define WORD_SIZE 4 struct zep_shim_intr_priv *intr_priv; @@ -48,14 +52,22 @@ static void *zep_shim_mem_alloc(size_t size) { size_t size_aligned = ROUND_UP(size, 4); +#if defined(CONFIG_NRF_WIFI_GLOBAL_HEAP) + return k_malloc(size_aligned); +#else /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ return k_heap_aligned_alloc(&wifi_drv_ctrl_mem_pool, WORD_SIZE, size_aligned, K_FOREVER); +#endif /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ } static void *zep_shim_data_mem_alloc(size_t size) { size_t size_aligned = ROUND_UP(size, 4); +#if defined(CONFIG_NRF_WIFI_GLOBAL_HEAP) + return k_malloc(size_aligned); +#else /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ return k_heap_aligned_alloc(&wifi_drv_data_mem_pool, WORD_SIZE, size_aligned, K_FOREVER); +#endif /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ } static void *zep_shim_mem_zalloc(size_t size) @@ -99,14 +111,22 @@ static void *zep_shim_data_mem_zalloc(size_t size) static void zep_shim_mem_free(void *buf) { if (buf) { +#if defined(CONFIG_NRF_WIFI_GLOBAL_HEAP) + k_free(buf); +#else /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ k_heap_free(&wifi_drv_ctrl_mem_pool, buf); +#endif /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ } } static void zep_shim_data_mem_free(void *buf) { if (buf) { +#if defined(CONFIG_NRF_WIFI_GLOBAL_HEAP) + k_free(buf); +#else /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ k_heap_free(&wifi_drv_data_mem_pool, buf); +#endif /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ } } @@ -197,7 +217,11 @@ static void *zep_shim_spinlock_alloc(void) static void zep_shim_spinlock_free(void *lock) { +#if defined(CONFIG_NRF_WIFI_GLOBAL_HEAP) + k_free(lock); +#else /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ k_heap_free(&wifi_drv_ctrl_mem_pool, lock); +#endif /* CONFIG_NRF_WIFI_GLOBAL_HEAP */ } static void zep_shim_spinlock_init(void *lock) From 1b6de1bf949f5e5435d92d636f97fd086379c2e8 Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Tue, 1 Jul 2025 03:24:00 +0530 Subject: [PATCH 12/41] [nrf fromtree] modules: nrf_wifi: Fix interface down hang When QSPI LPM is enabled, QSPI will already be uninitialized, and during deinit if uninitialized is being called again then it leads to a hang as it waits for mem busy check to pass which it won't. Fix by checking if the device is initialized before calling uninitialize. Signed-off-by: Chaitanya Tata (cherry picked from commit 1fb2c56e86f2518b67ed56bae1736396afd791c6) --- modules/nrf_wifi/bus/qspi_if.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/nrf_wifi/bus/qspi_if.c b/modules/nrf_wifi/bus/qspi_if.c index ad0534a95a3..949aa591274 100644 --- a/modules/nrf_wifi/bus/qspi_if.c +++ b/modules/nrf_wifi/bus/qspi_if.c @@ -1196,7 +1196,9 @@ struct device qspi_perip = { int qspi_deinit(void) { - _qspi_device_uninit(&qspi_perip); + if (nrfx_qspi_init_check()) { + _qspi_device_uninit(&qspi_perip); + } return 0; } From 938572084fe0e946a2e6238a4be24a67992c33d0 Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Sun, 29 Jun 2025 20:58:44 +0530 Subject: [PATCH 13/41] [nrf fromtree] modules: nrf_wifi: Fix accuracy of microseconds API Using ms and converting to us is a bad idea as we still get ms granualrity in us units. Use the proper API to get us granularity. Signed-off-by: Chaitanya Tata (cherry picked from commit 54573e2a678e607a1367438637bddc0d0ced66ee) --- modules/nrf_wifi/os/shim.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nrf_wifi/os/shim.c b/modules/nrf_wifi/os/shim.c index 14107f13928..df460d5ab53 100644 --- a/modules/nrf_wifi/os/shim.c +++ b/modules/nrf_wifi/os/shim.c @@ -854,7 +854,7 @@ static void zep_shim_work_kill(void *item) static unsigned long zep_shim_time_get_curr_us(void) { - return k_uptime_get() * USEC_PER_MSEC; + return k_ticks_to_us_floor64(k_uptime_ticks()); } static unsigned int zep_shim_time_elapsed_us(unsigned long start_time_us) From 915173f525b6f61f19813e0e679a0d0d9449abb2 Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Sun, 29 Jun 2025 22:48:43 +0530 Subject: [PATCH 14/41] [nrf fromtree] wifi: nrf70: Fix system work queue stack size override Defaults cannot be overidden (even with configdefault extension), they only work if the original symbol is defined after the override e.g., "drivers and then subsys/net" but for kernel symbols,the default value overrides don't work due "kernel and drivers" order, the kernel defines the original symbol with the default and then it cannot be overridden. Move the kernel symbol override to the original definition to make it affect. Else any sample that uses nRF70 but doesn't enable WPA supplicant ends up with 1024 and crashes. Signed-off-by: Chaitanya Tata (cherry picked from commit 4bd1d39c67dfb4860fbd4f9ccc17e084aa32d763) --- drivers/wifi/nrf_wifi/Kconfig.nrfwifi | 6 ++---- kernel/Kconfig | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/wifi/nrf_wifi/Kconfig.nrfwifi b/drivers/wifi/nrf_wifi/Kconfig.nrfwifi index bfc1ce0c7f0..8d414276038 100644 --- a/drivers/wifi/nrf_wifi/Kconfig.nrfwifi +++ b/drivers/wifi/nrf_wifi/Kconfig.nrfwifi @@ -599,10 +599,8 @@ endif if NETWORKING # Finetune defaults for certain system components used by the driver - -config SYSTEM_WORKQUEUE_STACK_SIZE - default 4096 - +# Note: These will take effect only if the symbol is not defined already +# (i.e., the original symbol is processed after "drivers/Kconfig") config NET_TX_STACK_SIZE default 4096 diff --git a/kernel/Kconfig b/kernel/Kconfig index 1e9155cf241..c2976b9f281 100644 --- a/kernel/Kconfig +++ b/kernel/Kconfig @@ -578,7 +578,7 @@ rsource "Kconfig.obj_core" menu "System Work Queue Options" config SYSTEM_WORKQUEUE_STACK_SIZE int "System workqueue stack size" - default 4096 if COVERAGE_GCOV + default 4096 if COVERAGE_GCOV || WIFI_NRF70 default 2560 if WIFI_NM_WPA_SUPPLICANT default 1024 From a9d46de84bed0a00c6227b5ba7b64c261b4f71e5 Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Fri, 4 Jul 2025 00:34:36 +0530 Subject: [PATCH 15/41] [nrf fromtree] drivers: nrf_wifi: Fix TX drop statistics In case FMAC API fails, increment the TX drop counter, helpful in debug. Signed-off-by: Chaitanya Tata (cherry picked from commit e728f804165e9f8ceb578af2b632aabe530828d7) --- drivers/wifi/nrf_wifi/src/net_if.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/wifi/nrf_wifi/src/net_if.c b/drivers/wifi/nrf_wifi/src/net_if.c index 19101fab442..9108a0dab3b 100644 --- a/drivers/wifi/nrf_wifi/src/net_if.c +++ b/drivers/wifi/nrf_wifi/src/net_if.c @@ -429,6 +429,10 @@ int nrf_wifi_if_send(const struct device *dev, #ifdef CONFIG_NRF70_RAW_DATA_TX } #endif /* CONFIG_NRF70_RAW_DATA_TX */ + if (ret == NRF_WIFI_STATUS_FAIL) { + /* FMAC API takes care of freeing the nbuf */ + host_stats->total_tx_drop_pkts++; + } goto unlock; drop: if (host_stats != NULL) { From a6326925d98c01e86b9805809e3db29290ce1b4e Mon Sep 17 00:00:00 2001 From: Gaetan Perrot Date: Tue, 8 Jul 2025 14:09:56 +0900 Subject: [PATCH 16/41] [nrf fromtree] drivers: wifi: nrf_wifi: wifi_mgmt: remove redundant null check Deleted a redundant check for 'rpu_ctx_zep' pointer after it was already dereferenced. Clarifies code logic in nrf_wifi_get_power_save_config function. Signed-off-by: Gaetan Perrot (cherry picked from commit bac20e419eabf36625c073a366008f1384fcc272) --- drivers/wifi/nrf_wifi/src/wifi_mgmt.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/wifi/nrf_wifi/src/wifi_mgmt.c b/drivers/wifi/nrf_wifi/src/wifi_mgmt.c index 875ce786b57..64003b8ff25 100644 --- a/drivers/wifi/nrf_wifi/src/wifi_mgmt.c +++ b/drivers/wifi/nrf_wifi/src/wifi_mgmt.c @@ -202,11 +202,6 @@ int nrf_wifi_get_power_save_config(const struct device *dev, fmac_dev_ctx = rpu_ctx_zep->rpu_ctx; - if (!rpu_ctx_zep) { - LOG_ERR("%s: rpu_ctx_zep is NULL", __func__); - goto out; - } - vif_ctx_zep->ps_info = ps_config; vif_ctx_zep->ps_config_info_evnt = false; From a3571f7180e7d687a5494dbfee259b8413f7679e Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Sun, 13 Jul 2025 01:32:37 +0530 Subject: [PATCH 17/41] [nrf fromtree] drivers: nrf_wifi: Fix return codes for xmit Return proper error codes for xmit instead of generic -1. Signed-off-by: Chaitanya Tata (cherry picked from commit 001f34d84c647d15d76480cb64fc6efce6ea736f) --- drivers/wifi/nrf_wifi/src/net_if.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/wifi/nrf_wifi/src/net_if.c b/drivers/wifi/nrf_wifi/src/net_if.c index 9108a0dab3b..f94dc5a1e21 100644 --- a/drivers/wifi/nrf_wifi/src/net_if.c +++ b/drivers/wifi/nrf_wifi/src/net_if.c @@ -363,7 +363,7 @@ enum ethernet_hw_caps nrf_wifi_if_caps_get(const struct device *dev) int nrf_wifi_if_send(const struct device *dev, struct net_pkt *pkt) { - int ret = -1; + int ret = -EINVAL; #ifdef CONFIG_NRF70_DATA_TX struct nrf_wifi_vif_ctx_zep *vif_ctx_zep = NULL; struct nrf_wifi_ctx_zep *rpu_ctx_zep = NULL; @@ -404,6 +404,7 @@ int nrf_wifi_if_send(const struct device *dev, if (nbuf == NULL) { LOG_ERR("%s: allocation failed", __func__); + ret = -ENOMEM; goto drop; } @@ -420,6 +421,7 @@ int nrf_wifi_if_send(const struct device *dev, #endif /* CONFIG_NRF70_RAW_DATA_TX */ if ((vif_ctx_zep->if_carr_state != NRF_WIFI_FMAC_IF_CARR_STATE_ON) || (!vif_ctx_zep->authorized && !is_eapol(pkt))) { + ret = -EPERM; goto drop; } @@ -432,6 +434,8 @@ int nrf_wifi_if_send(const struct device *dev, if (ret == NRF_WIFI_STATUS_FAIL) { /* FMAC API takes care of freeing the nbuf */ host_stats->total_tx_drop_pkts++; + /* Could be many reasons, but likely no space in the queue */ + ret = -ENOBUFS; } goto unlock; drop: From 64e39c6c4a543bd6950311de6bcf054e03a2eeb3 Mon Sep 17 00:00:00 2001 From: Kapil Bhatt Date: Fri, 11 Jul 2025 06:59:19 +0000 Subject: [PATCH 18/41] [nrf fromtree] drivers: nrf_wifi: Fix rpu recovery debug info Rpu recovey debug stats are stored in hal_dev_ctx which is not persistent in case of interface is brought down/up. Need to add in nrf_wifi_ctx_zep and update before interface goes down. Signed-off-by: Kapil Bhatt (cherry picked from commit dd7413d269d69e2d0c8ee10c3d03929703e7efb1) --- drivers/wifi/nrf_wifi/inc/fmac_main.h | 2 ++ drivers/wifi/nrf_wifi/src/net_if.c | 16 ++++++++++++++++ drivers/wifi/nrf_wifi/src/wifi_util.c | 23 +++++++++++++++-------- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/drivers/wifi/nrf_wifi/inc/fmac_main.h b/drivers/wifi/nrf_wifi/inc/fmac_main.h index 23f96089eb6..8c1d8a1851b 100644 --- a/drivers/wifi/nrf_wifi/inc/fmac_main.h +++ b/drivers/wifi/nrf_wifi/inc/fmac_main.h @@ -118,6 +118,8 @@ struct nrf_wifi_ctx_zep { unsigned int rpu_recovery_retries; int rpu_recovery_success; int rpu_recovery_failure; + int wdt_irq_received; + int wdt_irq_ignored; #endif /* CONFIG_NRF_WIFI_RPU_RECOVERY */ }; diff --git a/drivers/wifi/nrf_wifi/src/net_if.c b/drivers/wifi/nrf_wifi/src/net_if.c index f94dc5a1e21..82945ff55c2 100644 --- a/drivers/wifi/nrf_wifi/src/net_if.c +++ b/drivers/wifi/nrf_wifi/src/net_if.c @@ -72,6 +72,8 @@ static void nrf_wifi_rpu_recovery_work_handler(struct k_work *work) struct nrf_wifi_vif_ctx_zep, nrf_wifi_rpu_recovery_work); struct nrf_wifi_ctx_zep *rpu_ctx_zep = NULL; + struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx = NULL; + struct nrf_wifi_hal_dev_ctx *hal_dev_ctx = NULL; int ret; if (!vif_ctx_zep) { @@ -90,6 +92,18 @@ static void nrf_wifi_rpu_recovery_work_handler(struct k_work *work) return; } + fmac_dev_ctx = rpu_ctx_zep->rpu_ctx; + if (!fmac_dev_ctx) { + LOG_ERR("%s: fmac_dev_ctx is NULL", __func__); + return; + } + + hal_dev_ctx = fmac_dev_ctx->hal_dev_ctx; + if (!hal_dev_ctx) { + LOG_ERR("%s: hal_dev_ctx is NULL", __func__); + return; + } + if (rpu_ctx_zep->rpu_recovery_in_progress) { #ifdef CONFIG_NRF_WIFI_RPU_RECOVERY_DEBUG LOG_ERR("%s: RPU recovery already in progress", __func__); @@ -134,6 +148,8 @@ static void nrf_wifi_rpu_recovery_work_handler(struct k_work *work) } #endif rpu_ctx_zep->rpu_recovery_in_progress = true; + rpu_ctx_zep->wdt_irq_received += hal_dev_ctx->wdt_irq_received; + rpu_ctx_zep->wdt_irq_ignored += hal_dev_ctx->wdt_irq_ignored; #ifdef CONFIG_NRF_WIFI_RPU_RECOVERY_DEBUG LOG_ERR("%s: Bringing the interface down", __func__); #else diff --git a/drivers/wifi/nrf_wifi/src/wifi_util.c b/drivers/wifi/nrf_wifi/src/wifi_util.c index 4a31cae8121..57bda1f4ff4 100644 --- a/drivers/wifi/nrf_wifi/src/wifi_util.c +++ b/drivers/wifi/nrf_wifi/src/wifi_util.c @@ -938,10 +938,20 @@ static int nrf_wifi_util_rpu_recovery_info(const struct shell *sh, } fmac_dev_ctx = ctx->rpu_ctx; + if (!fmac_dev_ctx) { + shell_fprintf(sh, SHELL_ERROR, "FMAC context not initialized\n"); + ret = -ENOEXEC; + goto unlock; + } + hal_dev_ctx = fmac_dev_ctx->hal_dev_ctx; + if (!hal_dev_ctx) { + shell_fprintf(sh, SHELL_ERROR, "HAL context not initialized\n"); + ret = -ENOEXEC; + goto unlock; + } - shell_fprintf(sh, - SHELL_INFO, + shell_fprintf(sh, SHELL_INFO, "wdt_irq_received: %d\n" "wdt_irq_ignored: %d\n" "last_wakeup_now_asserted_time_ms: %lu milliseconds\n" @@ -950,14 +960,11 @@ static int nrf_wifi_util_rpu_recovery_info(const struct shell *sh, "current time: %lu milliseconds\n" "rpu_recovery_success: %d\n" "rpu_recovery_failure: %d\n\n", - hal_dev_ctx->wdt_irq_received, - hal_dev_ctx->wdt_irq_ignored, + ctx->wdt_irq_received, ctx->wdt_irq_ignored, hal_dev_ctx->last_wakeup_now_asserted_time_ms, hal_dev_ctx->last_wakeup_now_deasserted_time_ms, - hal_dev_ctx->last_rpu_sleep_opp_time_ms, - current_time_ms, - ctx->rpu_recovery_success, - ctx->rpu_recovery_failure); + hal_dev_ctx->last_rpu_sleep_opp_time_ms, current_time_ms, + ctx->rpu_recovery_success, ctx->rpu_recovery_failure); ret = 0; unlock: From bb0b5877a62833461dc2f13e1250c6a10e0b1322 Mon Sep 17 00:00:00 2001 From: Jordan Yates Date: Sun, 29 Jun 2025 20:01:59 +1000 Subject: [PATCH 19/41] [nrf fromtree] wifi: nrf_wifi: ignore interface if TX disabled Automatically hide the nRF7x interface from the connection manager if the TX path is disabled (scan only mode). This prevents function calls like `conn_mgr_all_if_up(true)` from bringing up the interface which can never result in a connection. Signed-off-by: Jordan Yates (cherry picked from commit 79edfc012803572b1c75a4667f03bfbb4fa9b6b0) --- drivers/wifi/nrf_wifi/src/net_if.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/wifi/nrf_wifi/src/net_if.c b/drivers/wifi/nrf_wifi/src/net_if.c index 82945ff55c2..a49fdc16498 100644 --- a/drivers/wifi/nrf_wifi/src/net_if.c +++ b/drivers/wifi/nrf_wifi/src/net_if.c @@ -18,6 +18,7 @@ #include LOG_MODULE_DECLARE(wifi_nrf, CONFIG_WIFI_NRF70_LOG_LEVEL); +#include #include #include "net_private.h" @@ -702,6 +703,11 @@ void nrf_wifi_if_init_zep(struct net_if *iface) nrf_wifi_net_iface_work_handler); #endif /* CONFIG_NRF70_DATA_TX */ +#ifdef CONFIG_NRF70_SCAN_ONLY + /* In scan only mode this interface should be ignored by the connectivity manager */ + conn_mgr_ignore_iface(iface); +#endif /* CONFIG_NRF70_SCAN_ONLY */ + #ifdef CONFIG_NRF_WIFI_RPU_RECOVERY k_work_init(&vif_ctx_zep->nrf_wifi_rpu_recovery_work, nrf_wifi_rpu_recovery_work_handler); From b5f4b8e7454beb0dfff9b38c08c0990a5647c650 Mon Sep 17 00:00:00 2001 From: Kapil Bhatt Date: Thu, 26 Jun 2025 09:06:31 +0000 Subject: [PATCH 20/41] [nrf fromlist] drivers: nrf_wifi: Remove station mode from monitor mode Monitor mode doesn't require station mode. Disabling station mode require necessary changes to work monitor mode. Upstream PR #: 92226 Signed-off-by: Kapil Bhatt --- drivers/wifi/nrf_wifi/inc/fmac_main.h | 4 +- drivers/wifi/nrf_wifi/inc/wifi_mgmt.h | 2 + drivers/wifi/nrf_wifi/src/fmac_main.c | 10 ++-- drivers/wifi/nrf_wifi/src/net_if.c | 66 +++++++++++++-------------- drivers/wifi/nrf_wifi/src/wifi_mgmt.c | 2 + 5 files changed, 46 insertions(+), 38 deletions(-) diff --git a/drivers/wifi/nrf_wifi/inc/fmac_main.h b/drivers/wifi/nrf_wifi/inc/fmac_main.h index 8c1d8a1851b..2f49ed8b055 100644 --- a/drivers/wifi/nrf_wifi/inc/fmac_main.h +++ b/drivers/wifi/nrf_wifi/inc/fmac_main.h @@ -62,6 +62,9 @@ struct nrf_wifi_vif_ctx_zep { #ifdef CONFIG_NET_STATISTICS_ETHERNET struct net_stats_eth eth_stats; #endif /* CONFIG_NET_STATISTICS_ETHERNET */ +#if defined(CONFIG_NRF70_STA_MODE) || defined(CONFIG_NRF70_RAW_DATA_RX) + bool authorized; +#endif #ifdef CONFIG_NRF70_STA_MODE unsigned int assoc_freq; enum nrf_wifi_fmac_if_carr_state if_carr_state; @@ -72,7 +75,6 @@ struct nrf_wifi_vif_ctx_zep { unsigned char twt_flow_in_progress_map; struct wifi_ps_config *ps_info; bool ps_config_info_evnt; - bool authorized; bool cookie_resp_received; #ifdef CONFIG_NRF70_DATA_TX struct k_work nrf_wifi_net_iface_work; diff --git a/drivers/wifi/nrf_wifi/inc/wifi_mgmt.h b/drivers/wifi/nrf_wifi/inc/wifi_mgmt.h index e2aa91caa48..a4ae2030210 100644 --- a/drivers/wifi/nrf_wifi/inc/wifi_mgmt.h +++ b/drivers/wifi/nrf_wifi/inc/wifi_mgmt.h @@ -22,6 +22,7 @@ #define WIFI_MGMT_DATA_CTRL_FILTER_SETTING 0xE #define WIFI_ALL_FILTER_SETTING 0xF +#ifdef CONFIG_NRF70_STA_MODE struct twt_interval_float { unsigned short mantissa; unsigned char exponent; @@ -54,6 +55,7 @@ int nrf_wifi_get_power_save_config(const struct device *dev, void nrf_wifi_event_proc_get_power_save_info(void *vif_ctx, struct nrf_wifi_umac_event_power_save_info *ps_info, unsigned int event_len); +#endif /* CONFIG_NRF70_STA_MODE */ #ifdef CONFIG_NRF70_SYSTEM_WITH_RAW_MODES int nrf_wifi_mode(const struct device *dev, diff --git a/drivers/wifi/nrf_wifi/src/fmac_main.c b/drivers/wifi/nrf_wifi/src/fmac_main.c index 72055fb0299..92a58be9a09 100644 --- a/drivers/wifi/nrf_wifi/src/fmac_main.c +++ b/drivers/wifi/nrf_wifi/src/fmac_main.c @@ -350,7 +350,7 @@ int nrf_wifi_reg_domain(const struct device *dev, struct wifi_reg_domain *reg_do goto out; } -#ifdef CONFIG_NRF70_SCAN_ONLY +#if defined(CONFIG_NRF70_SCAN_ONLY) || defined(CONFIG_NRF70_RAW_DATA_RX) if (reg_domain->oper == WIFI_MGMT_SET) { memcpy(reg_domain_info.alpha2, reg_domain->country_code, WIFI_COUNTRY_CODE_LEN); @@ -739,10 +739,10 @@ static int nrf_wifi_drv_main_zep(const struct device *dev) data_config.rate_protection_type = rate_protection_type; callbk_fns.if_carr_state_chg_callbk_fn = nrf_wifi_if_carr_state_chg; callbk_fns.rx_frm_callbk_fn = nrf_wifi_if_rx_frm; +#endif #if defined(CONFIG_NRF70_RAW_DATA_RX) || defined(CONFIG_NRF70_PROMISC_DATA_RX) callbk_fns.sniffer_callbk_fn = nrf_wifi_if_sniffer_rx_frm; #endif /* CONFIG_NRF70_RAW_DATA_RX || CONFIG_NRF70_PROMISC_DATA_RX */ -#endif rx_buf_pools[0].num_bufs = rx1_num_bufs; rx_buf_pools[1].num_bufs = rx2_num_bufs; rx_buf_pools[2].num_bufs = rx3_num_bufs; @@ -756,6 +756,7 @@ static int nrf_wifi_drv_main_zep(const struct device *dev) callbk_fns.scan_start_callbk_fn = nrf_wifi_event_proc_scan_start_zep; callbk_fns.scan_done_callbk_fn = nrf_wifi_event_proc_scan_done_zep; callbk_fns.reg_change_callbk_fn = reg_change_callbk_fn; + callbk_fns.event_get_reg = nrf_wifi_event_get_reg_zep; #ifdef CONFIG_NET_L2_WIFI_MGMT callbk_fns.disp_scan_res_callbk_fn = nrf_wifi_event_proc_disp_scan_res_zep; #endif /* CONFIG_NET_L2_WIFI_MGMT */ @@ -769,7 +770,6 @@ static int nrf_wifi_drv_main_zep(const struct device *dev) callbk_fns.twt_config_callbk_fn = nrf_wifi_event_proc_twt_setup_zep; callbk_fns.twt_teardown_callbk_fn = nrf_wifi_event_proc_twt_teardown_zep; callbk_fns.twt_sleep_callbk_fn = nrf_wifi_event_proc_twt_sleep_zep; - callbk_fns.event_get_reg = nrf_wifi_event_get_reg_zep; callbk_fns.event_get_ps_info = nrf_wifi_event_proc_get_power_save_info; callbk_fns.cookie_rsp_callbk_fn = nrf_wifi_event_proc_cookie_rsp; callbk_fns.process_rssi_from_rx = nrf_wifi_process_rssi_from_rx; @@ -858,10 +858,12 @@ static const struct wifi_mgmt_ops nrf_wifi_mgmt_ops = { .get_stats = nrf_wifi_stats_get, .reset_stats = nrf_wifi_stats_reset, #endif /* CONFIG_NET_STATISTICS_WIFI */ +#if defined(CONFIG_NRF70_STA_MODE) || defined(CONFIG_NRF70_RAW_DATA_RX) + .reg_domain = nrf_wifi_reg_domain, +#endif #ifdef CONFIG_NRF70_STA_MODE .set_power_save = nrf_wifi_set_power_save, .set_twt = nrf_wifi_set_twt, - .reg_domain = nrf_wifi_reg_domain, .get_power_save_config = nrf_wifi_get_power_save_config, .set_rts_threshold = nrf_wifi_set_rts_threshold, .get_rts_threshold = nrf_wifi_get_rts_threshold, diff --git a/drivers/wifi/nrf_wifi/src/net_if.c b/drivers/wifi/nrf_wifi/src/net_if.c index a49fdc16498..4830d63c9d1 100644 --- a/drivers/wifi/nrf_wifi/src/net_if.c +++ b/drivers/wifi/nrf_wifi/src/net_if.c @@ -256,39 +256,6 @@ static void nrf_wifi_net_iface_work_handler(struct k_work *work) } } -#if defined(CONFIG_NRF70_RAW_DATA_RX) || defined(CONFIG_NRF70_PROMISC_DATA_RX) -void nrf_wifi_if_sniffer_rx_frm(void *os_vif_ctx, void *frm, - struct raw_rx_pkt_header *raw_rx_hdr, - bool pkt_free) -{ - struct nrf_wifi_vif_ctx_zep *vif_ctx_zep = os_vif_ctx; - struct net_if *iface = vif_ctx_zep->zep_net_if_ctx; - struct net_pkt *pkt; - struct nrf_wifi_ctx_zep *rpu_ctx_zep = vif_ctx_zep->rpu_ctx_zep; - struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx = rpu_ctx_zep->rpu_ctx; - struct nrf_wifi_sys_fmac_dev_ctx *sys_dev_ctx = NULL; - int ret; - - sys_dev_ctx = wifi_dev_priv(fmac_dev_ctx); - - pkt = net_raw_pkt_from_nbuf(iface, frm, sizeof(struct raw_rx_pkt_header), - raw_rx_hdr, - pkt_free); - if (!pkt) { - LOG_DBG("Failed to allocate net_pkt"); - return; - } - - net_capture_pkt(iface, pkt); - - ret = net_recv_data(iface, pkt); - if (ret < 0) { - LOG_DBG("RCV Packet dropped by NET stack: %d", ret); - net_pkt_unref(pkt); - } -} -#endif /* CONFIG_NRF70_RAW_DATA_RX || CONFIG_NRF70_PROMISC_DATA_RX */ - void nrf_wifi_if_rx_frm(void *os_vif_ctx, void *frm) { struct nrf_wifi_vif_ctx_zep *vif_ctx_zep = os_vif_ctx; @@ -358,6 +325,39 @@ static bool is_eapol(struct net_pkt *pkt) } #endif /* CONFIG_NRF70_DATA_TX */ +#if defined(CONFIG_NRF70_RAW_DATA_RX) || defined(CONFIG_NRF70_PROMISC_DATA_RX) +void nrf_wifi_if_sniffer_rx_frm(void *os_vif_ctx, void *frm, + struct raw_rx_pkt_header *raw_rx_hdr, + bool pkt_free) +{ + struct nrf_wifi_vif_ctx_zep *vif_ctx_zep = os_vif_ctx; + struct net_if *iface = vif_ctx_zep->zep_net_if_ctx; + struct net_pkt *pkt; + struct nrf_wifi_ctx_zep *rpu_ctx_zep = vif_ctx_zep->rpu_ctx_zep; + struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx = rpu_ctx_zep->rpu_ctx; + struct nrf_wifi_sys_fmac_dev_ctx *sys_dev_ctx = NULL; + int ret; + + sys_dev_ctx = wifi_dev_priv(fmac_dev_ctx); + + pkt = net_raw_pkt_from_nbuf(iface, frm, sizeof(struct raw_rx_pkt_header), + raw_rx_hdr, + pkt_free); + if (!pkt) { + LOG_DBG("Failed to allocate net_pkt"); + return; + } + + net_capture_pkt(iface, pkt); + + ret = net_recv_data(iface, pkt); + if (ret < 0) { + LOG_DBG("RCV Packet dropped by NET stack: %d", ret); + net_pkt_unref(pkt); + } +} +#endif /* CONFIG_NRF70_RAW_DATA_RX || CONFIG_NRF70_PROMISC_DATA_RX */ + enum ethernet_hw_caps nrf_wifi_if_caps_get(const struct device *dev) { enum ethernet_hw_caps caps = (ETHERNET_LINK_10BASE | diff --git a/drivers/wifi/nrf_wifi/src/wifi_mgmt.c b/drivers/wifi/nrf_wifi/src/wifi_mgmt.c index 64003b8ff25..a323faf21dd 100644 --- a/drivers/wifi/nrf_wifi/src/wifi_mgmt.c +++ b/drivers/wifi/nrf_wifi/src/wifi_mgmt.c @@ -25,6 +25,7 @@ LOG_MODULE_DECLARE(wifi_nrf, CONFIG_WIFI_NRF70_LOG_LEVEL); extern struct nrf_wifi_drv_priv_zep rpu_drv_priv_zep; +#ifdef CONFIG_NRF70_STA_MODE int nrf_wifi_set_power_save(const struct device *dev, struct wifi_ps_params *params) { @@ -743,6 +744,7 @@ void nrf_wifi_event_proc_twt_sleep_zep(void *vif_ctx, out: k_mutex_unlock(&vif_ctx_zep->vif_lock); } +#endif /* CONFIG_NRF70_STA_MODE */ #ifdef CONFIG_NRF70_SYSTEM_WITH_RAW_MODES int nrf_wifi_mode(const struct device *dev, From 17af3ed244a56d7ba775ca4e47b0f8b459d6960a Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Sun, 20 Jul 2025 14:14:07 +0530 Subject: [PATCH 21/41] Revert "[nrf fromlist] manifest: Update nrf_wifi SHA to remove sta mode from monitor" This reverts commit 926fafbe9f0745eb3c3f0b37e8bfa9c0afc1db13. Signed-off-by: Chaitanya Tata --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index 8620c16f1e2..9807058ac13 100644 --- a/west.yml +++ b/west.yml @@ -328,7 +328,7 @@ manifest: revision: 968d55ff22579080466bf2f482596dd6e35361c6 path: modules/bsim_hw_models/nrf_hw_models - name: nrf_wifi - revision: 936b502c717ac413afea2b62f20f6bf7a84ffee0 + revision: 52286f111b4765e0dd40f43124e7bb5c14758dff path: modules/lib/nrf_wifi - name: open-amp revision: f7f4d083c7909a39d86e217376c69b416ec4faf3 From d29f1a7c5adfb89bba7668abe7c6b3f949539add Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Thu, 3 Jul 2025 21:37:14 +0530 Subject: [PATCH 22/41] [nrf fromtree] manifest: nrf_wifi: Pull fix for raw TX memory leak Fixes memory leak seen during continuous raw TX transmission. Signed-off-by: Chaitanya Tata (cherry picked from commit d5c7cb171b21049758f2907ec4b5a85ac73b43eb) --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index 9807058ac13..9e29918fb21 100644 --- a/west.yml +++ b/west.yml @@ -328,7 +328,7 @@ manifest: revision: 968d55ff22579080466bf2f482596dd6e35361c6 path: modules/bsim_hw_models/nrf_hw_models - name: nrf_wifi - revision: 52286f111b4765e0dd40f43124e7bb5c14758dff + revision: 5f59c2336c69f28ae83f93812a1d726f9fceabfe path: modules/lib/nrf_wifi - name: open-amp revision: f7f4d083c7909a39d86e217376c69b416ec4faf3 From 602a422b0e54f750327aa4b7f93c763ee39a5b7e Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Sun, 20 Jul 2025 14:19:00 +0530 Subject: [PATCH 23/41] Revert "[nrf fromlist] net: wifi: shell: Enable Wi-Fi credentials support" This reverts commit e2f9c7bad98d2e5a029f36c83ef745ad341b7cdc. Signed-off-by: Chaitanya Tata --- modules/hostap/Kconfig | 2 +- snippets/wifi-enterprise/wifi-enterprise.conf | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/modules/hostap/Kconfig b/modules/hostap/Kconfig index 0c08b6c01b0..95dd2531503 100644 --- a/modules/hostap/Kconfig +++ b/modules/hostap/Kconfig @@ -25,7 +25,7 @@ if WIFI_NM_WPA_SUPPLICANT config HEAP_MEM_POOL_ADD_SIZE_HOSTAP def_int 66560 if WIFI_NM_HOSTAPD_AP - def_int 55000 if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE + def_int 48000 if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE def_int 41808 if WIFI_NM_WPA_SUPPLICANT_AP # 30K is mandatory, but might need more for long duration use cases def_int 30000 diff --git a/snippets/wifi-enterprise/wifi-enterprise.conf b/snippets/wifi-enterprise/wifi-enterprise.conf index 4de1130cf69..dbac5ee6387 100644 --- a/snippets/wifi-enterprise/wifi-enterprise.conf +++ b/snippets/wifi-enterprise/wifi-enterprise.conf @@ -7,15 +7,6 @@ CONFIG_NET_BUF_VARIABLE_DATA_SIZE=y CONFIG_MBEDTLS_ENABLE_HEAP=y CONFIG_MBEDTLS_HEAP_SIZE=70000 -#For use with Wi-Fi Credentials -CONFIG_WIFI_CREDENTIALS=y -CONFIG_FLASH=y -CONFIG_FLASH_PAGE_LAYOUT=y -CONFIG_FLASH_MAP=y -CONFIG_NVS=y -CONFIG_SETTINGS=y -CONFIG_SETTINGS_NVS=y - # For use with TLS credentials CONFIG_TLS_CREDENTIALS_SHELL=y CONFIG_BASE64=y From 9280baf00b0b170315e8b1b4614d6384185c6e98 Mon Sep 17 00:00:00 2001 From: Ravi Dondaputi Date: Tue, 15 Apr 2025 17:32:48 +0530 Subject: [PATCH 24/41] [nrf fromtree] net: wifi: shell: Enable Wi-Fi credentials support Add a snippet for Wi-Fi credentials support. Update the heap sizes as required for enterprise mode. Signed-off-by: Ravi Dondaputi (cherry picked from commit 4c14c618f69e8ae0d5ee95a6abbc8a1d5f89afac) --- modules/hostap/Kconfig | 1 + snippets/wifi-credentials/README.rst | 29 +++++++++++++++++++ snippets/wifi-credentials/snippet.yml | 3 ++ .../wifi-credentials/wifi-credentials.conf | 8 +++++ 4 files changed, 41 insertions(+) create mode 100644 snippets/wifi-credentials/README.rst create mode 100644 snippets/wifi-credentials/snippet.yml create mode 100644 snippets/wifi-credentials/wifi-credentials.conf diff --git a/modules/hostap/Kconfig b/modules/hostap/Kconfig index 95dd2531503..1dfe3541017 100644 --- a/modules/hostap/Kconfig +++ b/modules/hostap/Kconfig @@ -25,6 +25,7 @@ if WIFI_NM_WPA_SUPPLICANT config HEAP_MEM_POOL_ADD_SIZE_HOSTAP def_int 66560 if WIFI_NM_HOSTAPD_AP + def_int 55000 if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE && WIFI_CREDENTIALS def_int 48000 if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE def_int 41808 if WIFI_NM_WPA_SUPPLICANT_AP # 30K is mandatory, but might need more for long duration use cases diff --git a/snippets/wifi-credentials/README.rst b/snippets/wifi-credentials/README.rst new file mode 100644 index 00000000000..283bc395858 --- /dev/null +++ b/snippets/wifi-credentials/README.rst @@ -0,0 +1,29 @@ +.. _snippet-wifi-credentials: + +Wi-Fi Credentials Snippet (wifi-credential) +########################################### + +.. code-block:: console + + west build -S wifi-credentials [...] + +Can also be used along with the :ref:`snippet-wifi-enterprise` snippet. + +.. code-block:: console + + west build -S "wifi-enterprise,wifi-credentials" [...] + +Overview +******** + +This snippet enables Wi-Fi credentials support. + +Requirements +************ + +Hardware support for: + +- :kconfig:option:`CONFIG_WIFI` +- :kconfig:option:`CONFIG_WIFI_USE_NATIVE_NETWORKING` +- :kconfig:option:`CONFIG_WIFI_NM_WPA_SUPPLICANT` +- :kconfig:option:`CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE` diff --git a/snippets/wifi-credentials/snippet.yml b/snippets/wifi-credentials/snippet.yml new file mode 100644 index 00000000000..6046c0865dc --- /dev/null +++ b/snippets/wifi-credentials/snippet.yml @@ -0,0 +1,3 @@ +name: wifi-credentials +append: + EXTRA_CONF_FILE: wifi-credentials.conf diff --git a/snippets/wifi-credentials/wifi-credentials.conf b/snippets/wifi-credentials/wifi-credentials.conf new file mode 100644 index 00000000000..4ac28169825 --- /dev/null +++ b/snippets/wifi-credentials/wifi-credentials.conf @@ -0,0 +1,8 @@ +# For use with Wi-Fi Credentials +CONFIG_WIFI_CREDENTIALS=y +CONFIG_FLASH=y +CONFIG_FLASH_PAGE_LAYOUT=y +CONFIG_FLASH_MAP=y +CONFIG_NVS=y +CONFIG_SETTINGS=y +CONFIG_SETTINGS_NVS=y From 50aeeb19bd175d1bf2c39b20bb0ac332c8a3ab66 Mon Sep 17 00:00:00 2001 From: Qiankun Li Date: Tue, 22 Apr 2025 14:50:51 +0530 Subject: [PATCH 25/41] [nrf fromtree] modules: hostap: Fix getting error stations twt capability issue. 1. When external station connects to soft ap, zephyr hostap will fill sta_info before sending mgmt event to l2 wifi layer. sta_info.twt_capable should be filled with external station capability rather than soft ap self. 2. Rename hapd_is_twt_capable to hapd_get_sta_he_twt_capable. Try to get twt_capa form capability of external station rather than soft ap. Signed-off-by: Qiankun Li (cherry picked from commit 7ffc538d135379ff673d5b5ae80fa790f5f67051) --- modules/hostap/src/hapd_events.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/hostap/src/hapd_events.c b/modules/hostap/src/hapd_events.c index c71015f7f92..2d297b71aff 100644 --- a/modules/hostap/src/hapd_events.c +++ b/modules/hostap/src/hapd_events.c @@ -35,10 +35,17 @@ static enum wifi_link_mode hapd_get_sta_link_mode(struct hostapd_iface *iface, } } -static bool hapd_is_twt_capable(struct hostapd_iface *iface, struct sta_info *sta) +#define HE_MACCAP_TWT_REQUESTER BIT(1) + +static bool hapd_get_sta_he_twt_capable(struct hostapd_iface *iface, struct sta_info *sta) { #ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_11AX - return hostapd_get_he_twt_responder(iface->bss[0], IEEE80211_MODE_AP); + if (sta->flags & WLAN_STA_HE) { + return (sta->he_capab->he_mac_capab_info[0] + & HE_MACCAP_TWT_REQUESTER ? true : false); + } else { + return false; + } #else return false; #endif @@ -73,7 +80,7 @@ int hostapd_send_wifi_mgmt_ap_sta_event(struct hostapd_iface *ap_ctx, if (event == NET_EVENT_WIFI_CMD_AP_STA_CONNECTED) { sta_info.link_mode = hapd_get_sta_link_mode(ap_ctx, sta); - sta_info.twt_capable = hapd_is_twt_capable(ap_ctx, sta); + sta_info.twt_capable = hapd_get_sta_he_twt_capable(ap_ctx, sta); } return supplicant_send_wifi_mgmt_event(ifname, From e182ad7a7caa919c8dc7452461b6ab0918e2000a Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Wed, 21 May 2025 13:25:21 +0300 Subject: [PATCH 26/41] [nrf fromtree] hostap: Replace wifi event mechanism by k_fifo Earlier we had socketpair to pass wifi event information from wpa_supplicant side to zephyr adaption layer. This is now replaced by k_fifo to save some RAM. Signed-off-by: Jukka Rissanen (cherry picked from commit 96818f45a91472cb0eabd5cfe42b5b256860f6a5) --- modules/hostap/Kconfig | 3 +- modules/hostap/src/supp_main.c | 171 +++++++++++++++++---------------- subsys/net/lib/sockets/Kconfig | 5 - 3 files changed, 92 insertions(+), 87 deletions(-) diff --git a/modules/hostap/Kconfig b/modules/hostap/Kconfig index 1dfe3541017..11feefbb42d 100644 --- a/modules/hostap/Kconfig +++ b/modules/hostap/Kconfig @@ -13,11 +13,12 @@ config WIFI_NM_WPA_SUPPLICANT select XSI_SINGLE_PROCESS select NET_SOCKETS select NET_SOCKETS_PACKET - select NET_SOCKETPAIR select NET_L2_WIFI_MGMT select WIFI_NM select EXPERIMENTAL select COMMON_LIBC_MALLOC + select ZVFS + select ZVFS_EVENTFD help WPA supplicant as a network management backend for WIFI_NM. diff --git a/modules/hostap/src/supp_main.c b/modules/hostap/src/supp_main.c index 5ba2ef5b10c..c2a4866b921 100644 --- a/modules/hostap/src/supp_main.c +++ b/modules/hostap/src/supp_main.c @@ -11,6 +11,7 @@ LOG_MODULE_REGISTER(wifi_supplicant, CONFIG_WIFI_NM_WPA_SUPPLICANT_LOG_LEVEL); #include #include #include +#include #if !defined(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE) && !defined(CONFIG_MBEDTLS_ENABLE_HEAP) #include @@ -44,6 +45,7 @@ static K_THREAD_STACK_DEFINE(iface_wq_stack, CONFIG_WIFI_NM_WPA_SUPPLICANT_WQ_ST #include "fst/fst.h" #include "includes.h" #include "wpa_cli_zephyr.h" +#include "ctrl_iface_zephyr.h" #ifdef CONFIG_WIFI_NM_HOSTAPD_AP #include "hostapd.h" #include "hapd_main.h" @@ -109,7 +111,8 @@ struct supplicant_context { struct net_mgmt_event_callback cb; struct net_if *iface; char if_name[CONFIG_NET_INTERFACE_NAME_LEN + 1]; - int event_socketpair[2]; + struct k_fifo fifo; + int sock; struct k_work iface_work; struct k_work_q iface_wq; int (*iface_handler)(struct supplicant_context *ctx, struct net_if *iface); @@ -139,39 +142,25 @@ struct k_work_q *get_workq(void) return &get_default_context()->iface_wq; } +/* found in hostap/wpa_supplicant/ctrl_iface_zephyr.c */ +extern int send_data(struct k_fifo *fifo, int sock, const char *buf, size_t len, int flags); + int zephyr_wifi_send_event(const struct wpa_supplicant_event_msg *msg) { struct supplicant_context *ctx; - struct pollfd fds[1]; int ret; /* TODO: Fix this to get the correct container */ ctx = get_default_context(); - if (ctx->event_socketpair[1] < 0) { + if (ctx->sock < 0) { ret = -ENOENT; goto out; } - fds[0].fd = ctx->event_socketpair[0]; - fds[0].events = POLLOUT; - fds[0].revents = 0; - - ret = zsock_poll(fds, 1, WRITE_TIMEOUT); - if (ret < 0) { - ret = -errno; - LOG_ERR("Cannot write event (%d)", ret); - goto out; - } - - ret = zsock_send(ctx->event_socketpair[1], msg, sizeof(*msg), 0); - if (ret < 0) { - ret = -errno; - LOG_WRN("Event send failed (%d)", ret); - goto out; - } - - if (ret != sizeof(*msg)) { + ret = send_data(&ctx->fifo, ctx->sock, + (const char *)msg, sizeof(*msg), 0); + if (ret != 0) { ret = -EMSGSIZE; LOG_WRN("Event partial send (%d)", ret); goto out; @@ -562,84 +551,105 @@ static int setup_interface_monitoring(struct supplicant_context *ctx, struct net static void event_socket_handler(int sock, void *eloop_ctx, void *user_data) { struct supplicant_context *ctx = user_data; - struct wpa_supplicant_event_msg msg; - int ret; + struct wpa_supplicant_event_msg event_msg; + struct zephyr_msg *msg; + zvfs_eventfd_t value; ARG_UNUSED(eloop_ctx); - ARG_UNUSED(ctx); - ret = zsock_recv(sock, &msg, sizeof(msg), 0); - if (ret < 0) { - LOG_ERR("Failed to recv the message (%d)", -errno); - return; - } + do { + zvfs_eventfd_read(sock, &value); - if (ret != sizeof(msg)) { - LOG_ERR("Received incomplete message: got: %d, expected:%d", - ret, sizeof(msg)); - return; - } + msg = k_fifo_get(&ctx->fifo, K_NO_WAIT); + if (msg == NULL) { + LOG_ERR("fifo(event): %s", "empty"); + return; + } - LOG_DBG("Passing message %d to wpa_supplicant", msg.event); + if (msg->data == NULL) { + LOG_ERR("fifo(event): %s", "no data"); + goto out; + } - if (msg.global) { - wpa_supplicant_event_global(msg.ctx, msg.event, msg.data); + if (msg->len != sizeof(event_msg)) { + LOG_ERR("Received incomplete message: got: %d, expected:%d", + msg->len, sizeof(event_msg)); + goto out; + } + + memcpy(&event_msg, msg->data, sizeof(event_msg)); + + LOG_DBG("Passing message %d to wpa_supplicant", event_msg.event); + + if (event_msg.global) { + wpa_supplicant_event_global(event_msg.ctx, event_msg.event, + event_msg.data); #ifdef CONFIG_WIFI_NM_HOSTAPD_AP - } else if (msg.hostapd) { - hostapd_event(msg.ctx, msg.event, msg.data); + } else if (event_msg.hostapd) { + hostapd_event(event_msg.ctx, event_msg.event, event_msg.data); #endif - } else { - wpa_supplicant_event(msg.ctx, msg.event, msg.data); - } - - if (msg.data) { - union wpa_event_data *data = msg.data; - - /* Free up deep copied data */ - if (msg.event == EVENT_AUTH) { - os_free((char *)data->auth.ies); - } else if (msg.event == EVENT_RX_MGMT) { - os_free((char *)data->rx_mgmt.frame); - } else if (msg.event == EVENT_TX_STATUS) { - os_free((char *)data->tx_status.data); - } else if (msg.event == EVENT_ASSOC) { - os_free((char *)data->assoc_info.addr); - os_free((char *)data->assoc_info.req_ies); - os_free((char *)data->assoc_info.resp_ies); - os_free((char *)data->assoc_info.resp_frame); - } else if (msg.event == EVENT_ASSOC_REJECT) { - os_free((char *)data->assoc_reject.bssid); - os_free((char *)data->assoc_reject.resp_ies); - } else if (msg.event == EVENT_DEAUTH) { - os_free((char *)data->deauth_info.addr); - os_free((char *)data->deauth_info.ie); - } else if (msg.event == EVENT_DISASSOC) { - os_free((char *)data->disassoc_info.addr); - os_free((char *)data->disassoc_info.ie); - } else if (msg.event == EVENT_UNPROT_DEAUTH) { - os_free((char *)data->unprot_deauth.sa); - os_free((char *)data->unprot_deauth.da); - } else if (msg.event == EVENT_UNPROT_DISASSOC) { - os_free((char *)data->unprot_disassoc.sa); - os_free((char *)data->unprot_disassoc.da); + } else { + wpa_supplicant_event(event_msg.ctx, event_msg.event, event_msg.data); } - os_free(msg.data); - } + if (event_msg.data) { + union wpa_event_data *data = event_msg.data; + + /* Free up deep copied data */ + if (event_msg.event == EVENT_AUTH) { + os_free((char *)data->auth.ies); + } else if (event_msg.event == EVENT_RX_MGMT) { + os_free((char *)data->rx_mgmt.frame); + } else if (event_msg.event == EVENT_TX_STATUS) { + os_free((char *)data->tx_status.data); + } else if (event_msg.event == EVENT_ASSOC) { + os_free((char *)data->assoc_info.addr); + os_free((char *)data->assoc_info.req_ies); + os_free((char *)data->assoc_info.resp_ies); + os_free((char *)data->assoc_info.resp_frame); + } else if (event_msg.event == EVENT_ASSOC_REJECT) { + os_free((char *)data->assoc_reject.bssid); + os_free((char *)data->assoc_reject.resp_ies); + } else if (event_msg.event == EVENT_DEAUTH) { + os_free((char *)data->deauth_info.addr); + os_free((char *)data->deauth_info.ie); + } else if (event_msg.event == EVENT_DISASSOC) { + os_free((char *)data->disassoc_info.addr); + os_free((char *)data->disassoc_info.ie); + } else if (event_msg.event == EVENT_UNPROT_DEAUTH) { + os_free((char *)data->unprot_deauth.sa); + os_free((char *)data->unprot_deauth.da); + } else if (event_msg.event == EVENT_UNPROT_DISASSOC) { + os_free((char *)data->unprot_disassoc.sa); + os_free((char *)data->unprot_disassoc.da); + } + + os_free(event_msg.data); + } + +out: + os_free(msg->data); + os_free(msg); + + } while (!k_fifo_is_empty(&ctx->fifo)); } static int register_supplicant_event_socket(struct supplicant_context *ctx) { int ret; - ret = socketpair(AF_UNIX, SOCK_STREAM, 0, ctx->event_socketpair); + ret = zvfs_eventfd(0, ZVFS_EFD_NONBLOCK); if (ret < 0) { ret = -errno; LOG_ERR("Failed to initialize socket (%d)", ret); return ret; } - eloop_register_read_sock(ctx->event_socketpair[0], event_socket_handler, NULL, ctx); + ctx->sock = ret; + + k_fifo_init(&ctx->fifo); + + eloop_register_read_sock(ctx->sock, event_socket_handler, NULL, ctx); return 0; } @@ -707,7 +717,7 @@ static void handler(void) supplicant_generate_state_event(ctx->if_name, NET_EVENT_SUPPLICANT_CMD_NOT_READY, 0); - eloop_unregister_read_sock(ctx->event_socketpair[0]); + eloop_unregister_read_sock(ctx->sock); zephyr_global_wpa_ctrl_deinit(); @@ -716,8 +726,7 @@ static void handler(void) out: wpa_supplicant_deinit(ctx->supplicant); - zsock_close(ctx->event_socketpair[0]); - zsock_close(ctx->event_socketpair[1]); + close(ctx->sock); err: os_free(params.pid_file); diff --git a/subsys/net/lib/sockets/Kconfig b/subsys/net/lib/sockets/Kconfig index 6662582aed8..791fc464d38 100644 --- a/subsys/net/lib/sockets/Kconfig +++ b/subsys/net/lib/sockets/Kconfig @@ -350,7 +350,6 @@ if NET_SOCKETPAIR config NET_SOCKETPAIR_BUFFER_SIZE int "Size of the intermediate buffer, in bytes" - default 1024 if WIFI_NM_WPA_SUPPLICANT default 64 range 1 4096 help @@ -372,8 +371,6 @@ if NET_SOCKETPAIR_STATIC config NET_SOCKETPAIR_MAX int "How many socketpairs to pre-allocate" - default 6 if WIFI_NM_HOSTAPD_AP - default 4 if WIFI_NM_WPA_SUPPLICANT default 1 endif # NET_SOCKETPAIR_STATIC @@ -382,8 +379,6 @@ if NET_SOCKETPAIR_HEAP config HEAP_MEM_POOL_ADD_SIZE_SOCKETPAIR int - default 9136 if WIFI_NM_HOSTAPD_AP - default 6852 if WIFI_NM_WPA_SUPPLICANT default 296 endif # NET_SOCKETPAIR_HEAP From 52181b57e34f47d70808e96540404ee316868e5c Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Fri, 27 Jun 2025 16:31:15 +0530 Subject: [PATCH 27/41] [nrf fromtree] modules: hostap: Fix EAP dependencies In case anyone enabled EAP_*_ALL explicitly without enabling the Enterprise then it leads to a build error. Fix by adding the dependency. Signed-off-by: Chaitanya Tata (cherry picked from commit 014dee722bcd63391e4a6b95a5f82bf8bc8fa580) --- modules/hostap/Kconfig | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/hostap/Kconfig b/modules/hostap/Kconfig index 11feefbb42d..6c8d88483cb 100644 --- a/modules/hostap/Kconfig +++ b/modules/hostap/Kconfig @@ -200,6 +200,7 @@ config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE select MBEDTLS_TLS_VERSION_1_2 depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE +if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE config EAP_TLS bool "EAP-TLS support" @@ -258,7 +259,8 @@ config EAP_ALL select EAP_GTC select EAP_TTLS select EAP_MSCHAPV2 - default y if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE + default y +endif # WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE config WIFI_NM_WPA_SUPPLICANT_WPA3 bool "WPA3 support" @@ -302,6 +304,7 @@ config WIFI_NM_HOSTAPD_CRYPTO_ENTERPRISE bool "Hostapd crypto enterprise support" depends on WIFI_NM_HOSTAPD_AP +if WIFI_NM_HOSTAPD_CRYPTO_ENTERPRISE config EAP_SERVER_TLS bool "EAP-TLS server support" @@ -330,7 +333,9 @@ config EAP_SERVER_ALL select EAP_SERVER_PEAP select EAP_SERVER_GTC select EAP_SERVER_TTLS - default y if WIFI_NM_HOSTAPD_CRYPTO_ENTERPRISE + default y + +endif # WIFI_NM_HOSTAPD_CRYPTO_ENTERPRISE config WIFI_NM_WPA_SUPPLICANT_BSS_MAX_IDLE_TIME int "BSS max idle timeout in seconds" From 9829801207b0fa08ab7093f7fd5d1faf292836b1 Mon Sep 17 00:00:00 2001 From: Jordan Yates Date: Mon, 7 Jul 2025 12:06:01 +1000 Subject: [PATCH 28/41] [nrf fromtree] modules: hostap: fix connection termination report If the disconnect event is raised before the network has been connected, report the connection result as `WIFI_STATUS_CONN_FAIL`, instead of as `WIFI_REASON_DISCONN_SUCCESS`, which is interpretted as `WIFI_STATUS_CONN_SUCCESS`. Signed-off-by: Jordan Yates (cherry picked from commit 9245f58b4ccf32b261341fdfc09e993b7eba74f0) --- modules/hostap/src/supp_events.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/hostap/src/supp_events.c b/modules/hostap/src/supp_events.c index 596ffa6ff56..f13552e8416 100644 --- a/modules/hostap/src/supp_events.c +++ b/modules/hostap/src/supp_events.c @@ -224,20 +224,24 @@ int supplicant_send_wifi_mgmt_conn_event(void *ctx, int status_code) int supplicant_send_wifi_mgmt_disc_event(void *ctx, int reason_code) { struct wpa_supplicant *wpa_s = ctx; - int status = wpas_to_wifi_mgmt_disconn_status(reason_code); enum net_event_wifi_cmd event; + int status; if (!wpa_s || !wpa_s->current_ssid) { return -EINVAL; } if (wpa_s->wpa_state >= WPA_COMPLETED) { + /* Disconnect event code & status */ + status = wpas_to_wifi_mgmt_disconn_status(reason_code); if (wpa_s->current_ssid->mode == WPAS_MODE_AP) { event = NET_EVENT_WIFI_CMD_AP_DISABLE_RESULT; } else { event = NET_EVENT_WIFI_CMD_DISCONNECT_RESULT; } } else { + /* Connect event code & status */ + status = WIFI_STATUS_CONN_FAIL; if (wpa_s->current_ssid->mode == WPAS_MODE_AP) { event = NET_EVENT_WIFI_CMD_AP_ENABLE_RESULT; } else { From 842d2d03699e0c54d14d18b7646ae82929a35a84 Mon Sep 17 00:00:00 2001 From: Flavio Ceolin Date: Tue, 8 Jul 2025 10:26:20 -0700 Subject: [PATCH 29/41] [nrf fromtree] hostap: Set enterprise crypto insecure Set enterprise crypto insecure because certifcate validation is disabled. Signed-off-by: Flavio Ceolin (cherry picked from commit 979fcc0b6e57f0a41ee84ea89045744825c977b1) --- modules/hostap/Kconfig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/hostap/Kconfig b/modules/hostap/Kconfig index 6c8d88483cb..743cbf37204 100644 --- a/modules/hostap/Kconfig +++ b/modules/hostap/Kconfig @@ -198,7 +198,12 @@ config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE select MBEDTLS_SERVER_NAME_INDICATION if MBEDTLS_BUILTIN select MBEDTLS_X509_CRL_PARSE_C select MBEDTLS_TLS_VERSION_1_2 + select NOT_SECURE depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE + help + Enable Enterprise Crypto support for WiFi. This feature + is considered NOT SECURE due the lack of certificate + validation. if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE config EAP_TLS From d214bc76aa723f49ad62af075d0ccdb46acaa002 Mon Sep 17 00:00:00 2001 From: Gaetan Perrot Date: Tue, 8 Jul 2025 15:51:11 +0900 Subject: [PATCH 30/41] [nrf fromtree] modules: hostap: supp_api: Fix possible null deference Ensure 'params' is not NULL before accessing its fields. Prevents possible null pointer dereference when calling strlen(params->ssid). Delay access to ssid->ssid and ssid->ssid_len until after null check. Prevents potential crash if wpa_s->current_ssid is NULL. Signed-off-by: Gaetan Perrot (cherry picked from commit b6a5202e55cf0f010d523f31f642dc5ebf66eeea) --- modules/hostap/src/supp_api.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/hostap/src/supp_api.c b/modules/hostap/src/supp_api.c index f58a9f7f78a..c459171329b 100644 --- a/modules/hostap/src/supp_api.c +++ b/modules/hostap/src/supp_api.c @@ -1287,8 +1287,8 @@ int supplicant_status(const struct device *dev, struct wifi_iface_status *status struct wpa_ssid *ssid = wpa_s->current_ssid; u8 channel; struct signal_poll_resp signal_poll; - u8 *_ssid = ssid->ssid; - size_t ssid_len = ssid->ssid_len; + u8 *_ssid; + size_t ssid_len; struct status_resp cli_status; int proto; int key_mgmt; @@ -1299,6 +1299,8 @@ int supplicant_status(const struct device *dev, struct wifi_iface_status *status goto out; } + _ssid = ssid->ssid; + ssid_len = ssid->ssid_len; proto = ssid->proto; key_mgmt = ssid->key_mgmt; sae_pwe = wpa_s->conf->sae_pwe; @@ -1489,9 +1491,15 @@ int supplicant_11k_cfg(const struct device *dev, struct wifi_11k_params *params) int supplicant_11k_neighbor_request(const struct device *dev, struct wifi_11k_params *params) { - int ssid_len = strlen(params->ssid); + int ssid_len; - if (params != NULL && ssid_len > 0) { + if (params == NULL) { + return -1; + } + + ssid_len = strlen(params->ssid); + + if (ssid_len > 0) { if (ssid_len > WIFI_SSID_MAX_LEN) { wpa_printf(MSG_ERROR, "%s: ssid too long %u", __func__, ssid_len); From 8e8f0983d6ec0349774793ecdf2483e6928f105c Mon Sep 17 00:00:00 2001 From: Flavio Ceolin Date: Tue, 8 Jul 2025 09:45:23 -0700 Subject: [PATCH 31/41] [nrf fromtree] build: kconfig: Add support for warning insecure features Add a new promptless Kconfig symbol (INSECURE). This symbols must be selected by any setting which is used to enable an insecure feature. Signed-off-by: Flavio Ceolin (cherry picked from commit 674fd094aa67b31d1d54b1f318adce8ed2faddd6) --- Kconfig.zephyr | 6 ++++++ scripts/kconfig/kconfig.py | 12 ++++++++++++ share/sysbuild/Kconfig | 6 ++++++ 3 files changed, 24 insertions(+) diff --git a/Kconfig.zephyr b/Kconfig.zephyr index 9baae392209..4993e56c8b2 100644 --- a/Kconfig.zephyr +++ b/Kconfig.zephyr @@ -1030,6 +1030,12 @@ config WARN_EXPERIMENTAL Print a warning when the Kconfig tree is parsed if any experimental features are enabled. +config NOT_SECURE + bool + help + Symbol to be selected by a feature to inidicate that feature is + not secure. + config TAINT bool help diff --git a/scripts/kconfig/kconfig.py b/scripts/kconfig/kconfig.py index feb0b447a88..74f8513138f 100755 --- a/scripts/kconfig/kconfig.py +++ b/scripts/kconfig/kconfig.py @@ -93,6 +93,8 @@ def main(): if kconf.syms.get('WARN_EXPERIMENTAL', kconf.y).tri_value == 2: check_experimental(kconf) + check_not_secure(kconf) + # Hack: Force all symbols to be evaluated, to catch warnings generated # during evaluation. Wait till the end to write the actual output files, so # that we don't generate any output if there are warnings-turned-errors. @@ -266,6 +268,16 @@ def check_experimental(kconf): selector_name = split_expr(selector, AND)[0].name warn(f'Experimental symbol {selector_name} is enabled.') +def check_not_secure(kconf): + not_secure = kconf.syms.get('NOT_SECURE') + dep_expr = kconf.n if not_secure is None else not_secure.rev_dep + + if dep_expr is not kconf.n: + selectors = [s for s in split_expr(dep_expr, OR) if expr_value(s) == 2] + for selector in selectors: + selector_name = split_expr(selector, AND)[0].name + warn(f'Not secure symbol {selector_name} is enabled.') + def promptless(sym): # Returns True if 'sym' has no prompt. Since the symbol might be defined in diff --git a/share/sysbuild/Kconfig b/share/sysbuild/Kconfig index e2076941380..5f689e07399 100644 --- a/share/sysbuild/Kconfig +++ b/share/sysbuild/Kconfig @@ -69,6 +69,12 @@ config WARN_DEPRECATED Print a warning when the Kconfig tree is parsed if any deprecated features are enabled. +config NOT_SECURE + bool + help + Symbol to be selected by a feature to inidicate that feature is + not secure. + rsource "images/Kconfig" menu "Build options" From d0a69c9b90f0709191cfaf34ab7ada4763a8f58c Mon Sep 17 00:00:00 2001 From: Gaetan Perrot Date: Tue, 8 Jul 2025 16:27:20 +0900 Subject: [PATCH 32/41] [nrf fromtree] modules: hostap: hapd_events: Fix possible null deference Move usage of ap_ctx pointers after null checks to prevent potential crashes. Signed-off-by: Gaetan Perrot (cherry picked from commit cd855104f24d06707373b70cd6fa73e645d8e4ce) --- modules/hostap/src/hapd_events.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/hostap/src/hapd_events.c b/modules/hostap/src/hapd_events.c index 2d297b71aff..deb4c1705de 100644 --- a/modules/hostap/src/hapd_events.c +++ b/modules/hostap/src/hapd_events.c @@ -69,13 +69,15 @@ int hostapd_send_wifi_mgmt_ap_sta_event(struct hostapd_iface *ap_ctx, void *data) { struct sta_info *sta = data; - char *ifname = ap_ctx->bss[0]->conf->iface; + char *ifname; struct wifi_ap_sta_info sta_info = { 0 }; if (!ap_ctx || !sta) { return -EINVAL; } + ifname = ap_ctx->bss[0]->conf->iface; + memcpy(sta_info.mac, sta->addr, sizeof(sta_info.mac)); if (event == NET_EVENT_WIFI_CMD_AP_STA_CONNECTED) { From 86a4189733e2412aab2a4f5b68d490f75c1c5563 Mon Sep 17 00:00:00 2001 From: Gaetan Perrot Date: Tue, 8 Jul 2025 16:29:09 +0900 Subject: [PATCH 33/41] [nrf fromtree] modules: hostap: supp_events: Fix possible null deference Move usage of ap_ctx pointers after null checks to prevent potential crashes. Signed-off-by: Gaetan Perrot (cherry picked from commit 8a565c0a2b8c12b1ea0298367a0ff525c1ae20b8) --- modules/hostap/src/supp_events.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/hostap/src/supp_events.c b/modules/hostap/src/supp_events.c index f13552e8416..c4175a416be 100644 --- a/modules/hostap/src/supp_events.c +++ b/modules/hostap/src/supp_events.c @@ -304,13 +304,15 @@ int supplicant_send_wifi_mgmt_ap_sta_event(void *ctx, { struct sta_info *sta = data; struct wpa_supplicant *ap_ctx = ctx; - char *ifname = ap_ctx->ifname; + char *ifname; struct wifi_ap_sta_info sta_info = { 0 }; if (!ap_ctx || !sta) { return -EINVAL; } + ifname = ap_ctx->ifname; + memcpy(sta_info.mac, sta->addr, sizeof(sta_info.mac)); if (event == NET_EVENT_WIFI_CMD_AP_STA_CONNECTED) { From 45134f813c5f3a45ac753cd1b4993d4b2864e262 Mon Sep 17 00:00:00 2001 From: Triveni Danda Date: Mon, 14 Jul 2025 19:27:11 +0530 Subject: [PATCH 34/41] [nrf fromtree] modules: hostap: Set default stack size for softAP mode This change is needed to handle to stack overflow issues when using SPIM. Signed-off-by: Triveni Danda (cherry picked from commit 0dcb5a4923f1bf07229e1695d726edb990064572) --- modules/hostap/Kconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/hostap/Kconfig b/modules/hostap/Kconfig index 743cbf37204..2056a43e872 100644 --- a/modules/hostap/Kconfig +++ b/modules/hostap/Kconfig @@ -37,6 +37,8 @@ config WIFI_NM_WPA_SUPPLICANT_THREAD_STACK_SIZE # TODO: Providing higher stack size for Enterprise mode to fix stack # overflow issues. Need to identify the cause for higher stack usage. default 8192 if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE + # This is needed to handle stack overflow issues on nRF Wi-Fi drivers. + default 5900 if WIFI_NM_WPA_SUPPLICANT_AP default 5800 config WIFI_NM_WPA_SUPPLICANT_WQ_STACK_SIZE From c5e7aaed91f1e250e14827354d1461fe2bf8775f Mon Sep 17 00:00:00 2001 From: Gang Li Date: Fri, 11 Jul 2025 12:05:36 +0200 Subject: [PATCH 35/41] [nrf fromtree] modules: hostap: set the cipher suites for WPA2 & WPA3 SAE mode When the external AP is in WPA3 SAE mode, the group cipher uses TKIP and the pairwise cipher uses TKIP and CCMP. Should not connect to the AP. For WPA2 & WPA3 SAE & WPA2/WPA3 mixed mode, set group cipher to CCMP, pairwise cipher to CCMP. Signed-off-by: Gang Li (cherry picked from commit c8fa5e5899575fe5c0a0a6c3013fdc4527d2cdb4) --- modules/hostap/src/supp_api.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/modules/hostap/src/supp_api.c b/modules/hostap/src/supp_api.c index c459171329b..cde1ef95f47 100644 --- a/modules/hostap/src/supp_api.c +++ b/modules/hostap/src/supp_api.c @@ -752,6 +752,14 @@ static int wpas_add_and_config_network(struct wpa_supplicant *wpa_s, goto out; } } + + if (!wpa_cli_cmd_v("set_network %d group CCMP", resp.network_id)) { + goto out; + } + + if (!wpa_cli_cmd_v("set_network %d pairwise CCMP", resp.network_id)) { + goto out; + } } else if (params->security == WIFI_SECURITY_TYPE_PSK_SHA256) { if (!wpa_cli_cmd_v("set_network %d psk \"%s\"", resp.network_id, psk_null_terminated)) { @@ -762,6 +770,14 @@ static int wpas_add_and_config_network(struct wpa_supplicant *wpa_s, resp.network_id)) { goto out; } + + if (!wpa_cli_cmd_v("set_network %d group CCMP", resp.network_id)) { + goto out; + } + + if (!wpa_cli_cmd_v("set_network %d pairwise CCMP", resp.network_id)) { + goto out; + } } else if (params->security == WIFI_SECURITY_TYPE_PSK || params->security == WIFI_SECURITY_TYPE_WPA_PSK) { if (!wpa_cli_cmd_v("set_network %d psk \"%s\"", @@ -779,6 +795,15 @@ static int wpas_add_and_config_network(struct wpa_supplicant *wpa_s, resp.network_id)) { goto out; } + } else { + if (!wpa_cli_cmd_v("set_network %d group CCMP", resp.network_id)) { + goto out; + } + + if (!wpa_cli_cmd_v("set_network %d pairwise CCMP", + resp.network_id)) { + goto out; + } } } else if (params->security == WIFI_SECURITY_TYPE_WPA_AUTO_PERSONAL) { if (!wpa_cli_cmd_v("set_network %d psk \"%s\"", resp.network_id, @@ -806,6 +831,14 @@ static int wpas_add_and_config_network(struct wpa_supplicant *wpa_s, resp.network_id)) { goto out; } + + if (!wpa_cli_cmd_v("set_network %d group CCMP", resp.network_id)) { + goto out; + } + + if (!wpa_cli_cmd_v("set_network %d pairwise CCMP", resp.network_id)) { + goto out; + } #ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE } else if (is_eap_valid_security(params->security)) { if (process_cipher_config(params, &cipher_config)) { From a1b9cfaf2bfb4b240e7b1c13c2b1b91f9ba18237 Mon Sep 17 00:00:00 2001 From: Qingling Wu Date: Fri, 30 May 2025 02:29:20 -0700 Subject: [PATCH 36/41] [nrf fromtree] manifest: hostap: sync for coverity fix sync for coverity fix in hostap Signed-off-by: Qingling Wu (cherry picked from commit f089959651d8894243ae9cd25f7d32b5d6d1b859) --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index 9e29918fb21..c7f54a8dda8 100644 --- a/west.yml +++ b/west.yml @@ -281,7 +281,7 @@ manifest: - hal - name: hostap path: modules/lib/hostap - revision: 8412f4b23b6267ee6035d25515a23aaf243f6ad7 + revision: cf270006050cf944af699301c7f4de2b427cd862 - name: liblc3 revision: 48bbd3eacd36e99a57317a0a4867002e0b09e183 path: modules/lib/liblc3 From 492bd22d250f5f415b3d83c06785569316171cc2 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Thu, 22 May 2025 11:21:26 +0300 Subject: [PATCH 37/41] [nrf fromtree] manifest: Use k_fifo for IPC in hostap Make sure to use k_fifo for IPC in hostap to save memory. Signed-off-by: Jukka Rissanen (cherry picked from commit 03ad3a32a27da098fc697376e2932c36b85c3509) --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index c7f54a8dda8..e1ff77d7c2b 100644 --- a/west.yml +++ b/west.yml @@ -281,7 +281,7 @@ manifest: - hal - name: hostap path: modules/lib/hostap - revision: cf270006050cf944af699301c7f4de2b427cd862 + revision: bc5d22f5838d017b889d1452a5854f9a32895414 - name: liblc3 revision: 48bbd3eacd36e99a57317a0a4867002e0b09e183 path: modules/lib/liblc3 From 9d74c13419766dfc152217044fd454af0b6f4a4e Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Wed, 9 Jul 2025 18:13:28 +0530 Subject: [PATCH 38/41] [nrf fromtree] manifest: hostap: Pull fix for warning in interface down Fix a warning seen during interface down. Signed-off-by: Chaitanya Tata (cherry picked from commit a869c3e3a31afa893a8c88f8761f8f206769ee27) --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index e1ff77d7c2b..d15e692caa4 100644 --- a/west.yml +++ b/west.yml @@ -281,7 +281,7 @@ manifest: - hal - name: hostap path: modules/lib/hostap - revision: bc5d22f5838d017b889d1452a5854f9a32895414 + revision: e942f86e865d5b24bbbe8b0c333f030cbbe62bfb - name: liblc3 revision: 48bbd3eacd36e99a57317a0a4867002e0b09e183 path: modules/lib/liblc3 From 596ec748e00b250762d68367f1cf137c1431a036 Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Fri, 18 Jul 2025 12:08:10 +0530 Subject: [PATCH 39/41] [nrf fromlist] modules: nrf_wifi: Fix bustest QSPI crash Commit 5e25283821a("drivers: wifi: Create dedicated mem pool for Wi-Fi driver") introduced OSAL dependecy in the Zephyr QSPI driver for HL read, but in bustest we don't enable nrf_wifi OS module, so, it crashes here. And we should not be using OSAL APIs in Zephyr code anyway. And in this case we don't even need to use the heap, so, move the rx buffer to stack. Upstream PR #: 93303 Signed-off-by: Chaitanya Tata --- .../zephyr/drivers/wifi/nrf_wifi/bus/rpu_hw_if.h | 5 +++++ modules/nrf_wifi/bus/qspi_if.c | 15 ++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/include/zephyr/drivers/wifi/nrf_wifi/bus/rpu_hw_if.h b/include/zephyr/drivers/wifi/nrf_wifi/bus/rpu_hw_if.h index 2524b64ab50..2fecce9cdc7 100644 --- a/include/zephyr/drivers/wifi/nrf_wifi/bus/rpu_hw_if.h +++ b/include/zephyr/drivers/wifi/nrf_wifi/bus/rpu_hw_if.h @@ -31,6 +31,11 @@ enum { NUM_MEM_BLOCKS }; +/* Keeping it higher to avoid changing it ofter, but modify this value + * if rpu_7002_memmap is changed. + */ +#define NRF_WIFI_QSPI_SLAVE_MAX_LATENCY 4 + extern char blk_name[][15]; extern uint32_t rpu_7002_memmap[][3]; diff --git a/modules/nrf_wifi/bus/qspi_if.c b/modules/nrf_wifi/bus/qspi_if.c index 949aa591274..97bab6335c4 100644 --- a/modules/nrf_wifi/bus/qspi_if.c +++ b/modules/nrf_wifi/bus/qspi_if.c @@ -23,8 +23,8 @@ #include #include +#include #include "spi_nor.h" -#include "osal_api.h" /* The QSPI bus node which the NRF70 is on */ #define QSPI_IF_BUS_NODE DT_NODELABEL(qspi) @@ -1290,15 +1290,14 @@ int qspi_read(unsigned int addr, void *data, int len) int qspi_hl_readw(unsigned int addr, void *data) { int status; - uint8_t *rxb = NULL; uint32_t len = 4; + uint8_t rxb[4 + (NRF_WIFI_QSPI_SLAVE_MAX_LATENCY * 4)]; - len = len + (4 * qspi_cfg->qspi_slave_latency); + len += (4 * qspi_cfg->qspi_slave_latency); - rxb = nrf_wifi_osal_mem_alloc(len); - - if (rxb == NULL) { - LOG_ERR("%s: ERROR ENOMEM line %d", __func__, __LINE__); + if (len > sizeof(rxb)) { + LOG_ERR("%s: len exceeded, check NRF_WIFI_QSPI_SLAVE_MAX_LATENCY (len=%u, rxb=%zu)", + __func__, (unsigned int)len, sizeof(rxb)); return -ENOMEM; } @@ -1314,8 +1313,6 @@ int qspi_hl_readw(unsigned int addr, void *data) *(uint32_t *)data = *(uint32_t *)(rxb + (len - 4)); - nrf_wifi_osal_mem_free(rxb); - return status; } From fb7eb5305c6036d7af02100935409899a80814d7 Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Sun, 20 Jul 2025 13:43:25 +0530 Subject: [PATCH 40/41] [nrf fromlist] drivers: nrf_wifi: Fix deadlock in display scan and recovery When running Zperf traffic + scan in the background eventual we hit a deadlock: * sysworkq: recovery->stop_zep->vif_lock->hal_disable->wait lock_rx * nrf70_bh_wq: event_tasklet->lock_rx->disp_scan_done-> disp_scan_res_get_zep-> waiting on vif_lock The traffic triggers recovery (another bug) and conflicts with display scan. Fix by moving scan results processing to system workqueue instead of doing it in the FMAC event callback context, this is how supplicant scan also works. Upstream PR #: 93377 Signed-off-by: Chaitanya Tata --- drivers/wifi/nrf_wifi/inc/fmac_main.h | 1 + drivers/wifi/nrf_wifi/src/fmac_main.c | 30 +++++++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/drivers/wifi/nrf_wifi/inc/fmac_main.h b/drivers/wifi/nrf_wifi/inc/fmac_main.h index 2f49ed8b055..c193515ae2d 100644 --- a/drivers/wifi/nrf_wifi/inc/fmac_main.h +++ b/drivers/wifi/nrf_wifi/inc/fmac_main.h @@ -52,6 +52,7 @@ struct nrf_wifi_vif_ctx_zep { uint16_t max_bss_cnt; unsigned int scan_res_cnt; struct k_work_delayable scan_timeout_work; + struct k_work disp_scan_res_work; struct net_eth_addr mac_addr; int if_type; diff --git a/drivers/wifi/nrf_wifi/src/fmac_main.c b/drivers/wifi/nrf_wifi/src/fmac_main.c index 92a58be9a09..379c3242b18 100644 --- a/drivers/wifi/nrf_wifi/src/fmac_main.c +++ b/drivers/wifi/nrf_wifi/src/fmac_main.c @@ -171,12 +171,8 @@ void nrf_wifi_event_proc_scan_done_zep(void *vif_ctx, switch (vif_ctx_zep->scan_type) { #ifdef CONFIG_NET_L2_WIFI_MGMT case SCAN_DISPLAY: - status = nrf_wifi_disp_scan_res_get_zep(vif_ctx_zep); - if (status != NRF_WIFI_STATUS_SUCCESS) { - LOG_ERR("%s: nrf_wifi_disp_scan_res_get_zep failed", __func__); - return; - } - vif_ctx_zep->scan_in_progress = false; + /* Schedule scan result processing in system workqueue to avoid deadlock */ + k_work_submit(&vif_ctx_zep->disp_scan_res_work); break; #endif /* CONFIG_NET_L2_WIFI_MGMT */ #ifdef CONFIG_NRF70_STA_MODE @@ -242,6 +238,26 @@ void nrf_wifi_scan_timeout_work(struct k_work *work) vif_ctx_zep->scan_in_progress = false; } +void nrf_wifi_disp_scan_res_work_handler(struct k_work *work) +{ + struct nrf_wifi_vif_ctx_zep *vif_ctx_zep = NULL; + enum nrf_wifi_status status = NRF_WIFI_STATUS_FAIL; + + vif_ctx_zep = CONTAINER_OF(work, struct nrf_wifi_vif_ctx_zep, disp_scan_res_work); + + if (!vif_ctx_zep) { + LOG_ERR("%s: vif_ctx_zep is NULL", __func__); + return; + } + + status = nrf_wifi_disp_scan_res_get_zep(vif_ctx_zep); + if (status != NRF_WIFI_STATUS_SUCCESS) { + LOG_ERR("%s: nrf_wifi_disp_scan_res_get_zep failed", __func__); + return; + } + vif_ctx_zep->scan_in_progress = false; +} + #ifdef CONFIG_NRF70_STA_MODE static void nrf_wifi_process_rssi_from_rx(void *vif_ctx, signed short signal) @@ -837,6 +853,8 @@ static int nrf_wifi_drv_main_zep(const struct device *dev) #else k_work_init_delayable(&vif_ctx_zep->scan_timeout_work, nrf_wifi_scan_timeout_work); + k_work_init(&vif_ctx_zep->disp_scan_res_work, + nrf_wifi_disp_scan_res_work_handler); #endif /* CONFIG_NRF70_RADIO_TEST */ k_mutex_init(&rpu_drv_priv_zep.rpu_ctx_zep.rpu_lock); From 8a247874a1d70f68b4dc16029bdea6652964a8ed Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Mon, 9 Jun 2025 09:29:14 +0300 Subject: [PATCH 41/41] [nrf fromtree] lib: zvfs: Add default eventfd count for hostap hostap needs more eventfd to function so set a proper default value. Signed-off-by: Jukka Rissanen (cherry picked from commit 410afbaf198902077c3884257b34b333999c944b) --- lib/os/zvfs/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/os/zvfs/Kconfig b/lib/os/zvfs/Kconfig index b22d2b1f172..495d5c84968 100644 --- a/lib/os/zvfs/Kconfig +++ b/lib/os/zvfs/Kconfig @@ -25,6 +25,7 @@ if ZVFS_EVENTFD config ZVFS_EVENTFD_MAX int "Maximum number of ZVFS eventfd's" + default 8 if WIFI_NM_WPA_SUPPLICANT default 1 range 1 4096 help