• RK3568 RTL8821cs适配 WPA3连接 与 WPA3热点配置


    kernel:4-19

    SOC:RK3568

    system:Android12

    模组:RTL8821CS

    调试手段可以看之前的正基AP6256

    一.驱动配置:

    首先设备树配置如下:

    因为 SDIO 电压是1.8V,必须加上sd-uhs-sdr104;

    1. &sdio_pwrseq{
    2. compatible = "mmc-pwrseq-simple";
    3. clocks = <&pmucru CLK_RTC_32K>;
    4. pinctrl-names = "default";
    5. pinctrl-0 = <&wifi_enable_h>;
    6. /*
    7. * On the module itself this is one of these (depending
    8. * on the actual card populated):
    9. * - SDIO_RESET_L_WL_REG_ON
    10. * - PDN (power down when low)
    11. */
    12. post-power-on-delay-ms = <200>;
    13. reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
    14. status = "okay";
    15. };
    16. //sdio
    17. &sdmmc1 {
    18. max-frequency = <150000000>;
    19. supports-sdio;
    20. bus-width = <4>;
    21. cap-sd-highspeed;
    22. cap-sdio-irq;
    23. keep-power-in-suspend;
    24. mmc-pwrseq = <&sdio_pwrseq>;
    25. non-removable;
    26. pinctrl-names = "default";
    27. pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
    28. sd-uhs-sdr104;
    29. status = "okay";
    30. };

    rockchip_defconfig配置如下

    1. CONFIG_WL_ROCKCHIP=y
    2. CONFIG_WIFI_BUILD_MODULE=y
    3. CONFIG_RTL_WIRELESS_SOLUTION=y
    4. CONFIG_RTL8821CS=m

    如果上电和sdio通路正常,SDIO会读出该模组的ID(日志如下),

    1. [ 11.206833][ T9] mmc_host mmc1: Bus speed (slot 0) = 375000Hz (slot req 400000Hz, actual 375000HZ div = 0)
    2. [ 11.226160][ T120] dwmmc_rockchip fe2c0000.dwmmc: card claims to support voltages below defined range
    3. [ 11.254622][ T120] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 100000000Hz, actual 50000000HZ div = 0)
    4. [ 11.616025][ T120] dwmmc_rockchip fe2c0000.dwmmc: Successfully tuned phase to 1
    5. [ 11.617214][ T120] mmc1: new ultra high speed SDR50 SDIO card at address 0001

    然后上层去加载驱动frameworks/opt/net/wifi/libwifi_hal/rk_wifi_ctrl.cpp

    UNKOWN_DRIVER_MODULE_ARG  为驱动参数

    1. #define RTL8723BS_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8723bs.ko"
    2. #define RTL8723BS_VQ0_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8723bs-vq0.ko"
    3. #define RTL8723CS_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8723cs.ko"
    4. #define RTL8723DS_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8723ds.ko"
    5. #define RTL8188FU_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8188fu.ko"
    6. #define RTL8822BU_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8822bu.ko"
    7. #define RTL8822BS_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8822bs.ko"
    8. #define RTL8189ES_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8189es.ko"
    9. #define RTL8189FS_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8189fs.ko"
    10. #define RTL8192DU_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8192du.ko"
    11. #define RTL8812AU_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8812au.ko"
    12. #define RTL8822BE_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8822be.ko"
    13. #define RTL8821CS_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8821cs.ko"
    14. #define RTL8822CU_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8822cu.ko"
    15. #define RTL8822CS_DRIVER_MODULE_PATH WIFI_MODULE_PATH"8822cs.ko"
    16. #define SSV6051_DRIVER_MODULE_PATH WIFI_MODULE_PATH"ssv6051.ko"
    17. #define ESP8089_DRIVER_MODULE_PATH WIFI_MODULE_PATH"esp8089.ko"
    18. #define BCM_DRIVER_MODULE_PATH WIFI_MODULE_PATH"bcmdhd.ko"
    19. #define MLAN_DRIVER_MODULE_PATH WIFI_MODULE_PATH"mlan.ko"
    20. #define MVL_DRIVER_MODULE_PATH WIFI_MODULE_PATH"sd8xxx.ko"
    21. #define RK912_DRIVER_MODULE_PATH WIFI_MODULE_PATH"rk912.ko"
    22. #define SPRDWL_DRIVER_MODULE_PATH WIFI_MODULE_PATH"sprdwl_ng.ko"
    23. #define BES2600_DRIVER_MODULE_PATH WIFI_MODULE_PATH"bes2600.ko"
    24. #define RTL8188EU_DRIVER_MODULE_NAME "8188eu"
    25. #define RTL8723BU_DRIVER_MODULE_NAME "8723bu"
    26. #define RTL8723BS_DRIVER_MODULE_NAME "8723bs"
    27. #define RTL8723BS_VQ0_DRIVER_MODULE_NAME "8723bs-vq0"
    28. #define RTL8723CS_DRIVER_MODULE_NAME "8723cs"
    29. #define RTL8723DS_DRIVER_MODULE_NAME "8723ds"
    30. #define RTL8188FU_DRIVER_MODULE_NAME "8188fu"
    31. #define RTL8822BU_DRIVER_MODULE_NAME "8822bu"
    32. #define RTL8822BS_DRIVER_MODULE_NAME "8822bs"
    33. #define RTL8189ES_DRIVER_MODULE_NAME "8189es"
    34. #define RTL8189FS_DRIVER_MODULE_NAME "8189fs"
    35. #define RTL8192DU_DRIVER_MODULE_NAME "8192du"
    36. #define RTL8812AU_DRIVER_MODULE_NAME "8812au"
    37. #define RTL8822BE_DRIVER_MODULE_NAME "8822be"
    38. #define RTL8821CS_DRIVER_MODULE_NAME "8821cs"
    39. #define RTL8822CU_DRIVER_MODULE_NAME "8822cu"
    40. #define RTL8822CS_DRIVER_MODULE_NAME "8822cs"
    41. #define SSV6051_DRIVER_MODULE_NAME "ssv6051"
    42. #define ESP8089_DRIVER_MODULE_NAME "esp8089"
    43. #define BCM_DRIVER_MODULE_NAME "bcmdhd"
    44. #define MVL_DRIVER_MODULE_NAME "sd8xxx"
    45. #define RK912_DRIVER_MODULE_NAME "rk912"
    46. #define SPRDWL_DRIVER_MODULE_NAME "sprdwl"
    47. WN_DRIVER_MODULE_ARG:q
    48. #define BES2600_DRIVER_MODULE_NAME "bes2600"
    49. #define UNKOWN_DRIVER_MODULE_ARG "rtw_RFE_type=2" //驱动参数,
    50. #define SSV6051_DRIVER_MODULE_ARG "stacfgpath=/vendor/etc/firmware/ssv6051-wifi.cfg"
    51. #define MVL88W8977_DRIVER_MODULE_ARG "drv_mode=1 fw_name=mrvl/sd8977_wlan_v2.bin cal_data_cfg=none cfg80211_wext=0xf"
    52. static wifi_device supported_wifi_devices[] = {
    53. {"RTL8188EU", "0bda:8179"},
    54. {"RTL8188EU", "0bda:0179"},
    55. {"RTL8723BU", "0bda:b720"},
    56. {"RTL8723BS", "024c:b723"},
    57. {"RTL8822BS", "024c:b822"},
    58. {"RTL8723CS", "024c:b703"},
    59. {"RTL8723DS", "024c:d723"},
    60. {"RTL8188FU", "0bda:f179"},
    61. {"RTL8822BU", "0bda:b82c"},
    62. {"RTL8189ES", "024c:8179"},
    63. {"RTL8189FS", "024c:f179"},
    64. {"RTL8192DU", "0bda:8194"},
    65. {"RTL8812AU", "0bda:8812"},
    66. {"RTL8821CS", "024c:c821"},
    67. {"RTL8822CU", "0bda:c82c"},
    68. {"RTL8822CS", "024c:c822"},
    69. {"SSV6051", "3030:3030"},
    70. {"ESP8089", "6666:1111"},
    71. {"AP6354", "02d0:4354"},
    72. {"AP6330", "02d0:4330"},
    73. {"AP6356S", "02d0:4356"},
    74. {"AP6335", "02d0:4335"},
    75. {"AP6255", "02d0:a9bf"},
    76. {"RTL8822BE", "10ec:b822"},
    77. {"MVL88W8977", "02df:9145"},
    78. {"SPRDWL", "0000:0000"},
    79. };
    80. const wifi_file_name module_list[] =
    81. {
    82. {"RTL8723BU", RTL8723BU_DRIVER_MODULE_NAME, RTL8723BU_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    83. {"RTL8188EU", RTL8188EU_DRIVER_MODULE_NAME, RTL8188EU_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    84. {"RTL8192DU", RTL8192DU_DRIVER_MODULE_NAME, RTL8192DU_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    85. {"RTL8822BU", RTL8822BU_DRIVER_MODULE_NAME, RTL8822BU_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    86. {"RTL8822BS", RTL8822BS_DRIVER_MODULE_NAME, RTL8822BS_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    87. {"RTL8188FU", RTL8188FU_DRIVER_MODULE_NAME, RTL8188FU_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    88. {"RTL8189ES", RTL8189ES_DRIVER_MODULE_NAME, RTL8189ES_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    89. {"RTL8723BS", RTL8723BS_DRIVER_MODULE_NAME, RTL8723BS_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    90. {"RTL8723CS", RTL8723CS_DRIVER_MODULE_NAME, RTL8723CS_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    91. {"RTL8723DS", RTL8723DS_DRIVER_MODULE_NAME, RTL8723DS_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    92. {"RTL8812AU", RTL8812AU_DRIVER_MODULE_NAME, RTL8812AU_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    93. {"RTL8189FS", RTL8189FS_DRIVER_MODULE_NAME, RTL8189FS_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    94. {"RTL8822BE", RTL8822BE_DRIVER_MODULE_NAME, RTL8822BE_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    95. {"RTL8821CS", RTL8821CS_DRIVER_MODULE_NAME, RTL8821CS_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    96. {"RTL8822CU", RTL8822CU_DRIVER_MODULE_NAME, RTL8822CU_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    97. 108,9 39%
    98. {"RTL8821CS", RTL8821CS_DRIVER_MODULE_NAME, RTL8821CS_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    99. {"RTL8822CU", RTL8822CU_DRIVER_MODULE_NAME, RTL8822CU_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    100. {"RTL8822CS", RTL8822CS_DRIVER_MODULE_NAME, RTL8822CS_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, REALTEK_WIFI_HAL},
    101. {"SSV6051", SSV6051_DRIVER_MODULE_NAME, SSV6051_DRIVER_MODULE_PATH, SSV6051_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    102. {"ESP8089", ESP8089_DRIVER_MODULE_NAME, ESP8089_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    103. {"AP6335", BCM_DRIVER_MODULE_NAME, BCM_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    104. {"AP6330", BCM_DRIVER_MODULE_NAME, BCM_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    105. {"AP6354", BCM_DRIVER_MODULE_NAME, BCM_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    106. {"AP6356S", BCM_DRIVER_MODULE_NAME, BCM_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    107. {"AP6255", BCM_DRIVER_MODULE_NAME, BCM_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    108. {"APXXX", BCM_DRIVER_MODULE_NAME, BCM_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    109. {"MVL88W8977", MVL_DRIVER_MODULE_NAME, MVL_DRIVER_MODULE_PATH, MVL88W8977_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    110. {"RK912", RK912_DRIVER_MODULE_NAME, RK912_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, BROADCOM_WIFI_HAL},
    111. {"SPRDWL", SPRDWL_DRIVER_MODULE_NAME, SPRDWL_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, SPRD_WIFI_HAL},
    112. {"BES2600", BES2600_DRIVER_MODULE_NAME, BES2600_DRIVER_MODULE_PATH, UNKOWN_DRIVER_MODULE_ARG, BES_WIFI_HAL},
    113. };

    一.wpa3配置:

    wpa3需要厂家给驱动的支持,没有可以找RK原厂要,他们有

    修改Packages/modules/Wifi/service/ServiceWifiResources/res/values/config

    1. @@ -28,7 +28,7 @@
    2. Note: This config is replacing the config_wifi_dual_band_support
    3. since more bands may now be supported (such as 6GHz), the naming dual_band
    4. is no longer indicative, and a separate config now exists for each band -->
    5. - <bool translatable="false" name ="config_wifi5ghzSupport">falsebool>
    6. + <bool translatable="false" name ="config_wifi5ghzSupport">truebool>
    7. <bool translatable="false" name ="config_wifi6ghzSupport">falsebool>
    8. @@ -174,7 +174,7 @@
    9. <bool translatable="false" name ="config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging">falsebool>
    10. - <integer translatable="false" name="config_wifiHardwareSoftapMaxClientCount">16integer>
    11. + <integer translatable="false" name="config_wifiHardwareSoftapMaxClientCount">8integer>
    12. <bool translatable="false" name ="config_wifiSoftapResetChannelConfig">truebool>
    13. @@ -278,16 +278,16 @@
    14. <bool translatable="false" name="config_wifiSofapClientForceDisconnectSupported">truebool>
    15. - <bool translatable="false" name="config_wifi_softap_acs_supported">falsebool>
    16. + <bool translatable="false" name="config_wifi_softap_acs_supported">truebool>
    17. - <bool translatable="false" name="config_wifi_softap_sae_supported">falsebool>
    18. + <bool translatable="false" name="config_wifi_softap_sae_supported">truebool>
    19. <bool translatable="false" name="config_wifiSoftapMacAddressCustomizationSupported">truebool>
    20. - <bool translatable="false" name="config_wifi_softap_ieee80211ac_supported">falsebool>
    21. + <bool translatable="false" name="config_wifi_softap_ieee80211ac_supported">truebool>

  • 相关阅读:
    2022年数维杯国际数模赛浅评
    栈和队列的练习题
    Netty内存池的整体架构
    ROS仿真软件Turtlebot-Gazebo的安装使用以及错误处理[机器人避障]
    企业销售额和客户服务有关系吗?
    shiro授权-SSM
    模方新建工程时,显示空三与模型坐标系不一致怎么解决
    【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷01
    动态线程池 dynamic-tp 源码
    Apache Airflow (十三) :Airflow分布式集群搭建及使用-原因及
  • 原文地址:https://blog.csdn.net/yinsui1839/article/details/133949693