diff --git a/config/boards/bananapim4berry.csc b/config/boards/bananapim4berry.conf similarity index 53% rename from config/boards/bananapim4berry.csc rename to config/boards/bananapim4berry.conf index 29cbf6673..a3078fbb4 100644 --- a/config/boards/bananapim4berry.csc +++ b/config/boards/bananapim4berry.conf @@ -13,23 +13,14 @@ BOOT_LOGO="desktop" KERNEL_TARGET="current,edge" KERNEL_TEST_TARGET="current" -PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools" +PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools hostapd" function post_family_tweaks_bsp__bananapi_module_conf() { mkdir -p "${destination}"/etc/modprobe.d/ - display_alert "$BOARD" "Configuring rlt8821cu wifi module" "info" + display_alert "$BOARD" "Configuring rtl8821cu wifi module" "info" - cat <<-EOF > "${destination}"/etc/modprobe.d/8821cu.conf - # https://github.com/morrownr/8821cu-20210916/blob/main/8821cu.conf - # - # To see all options that are available: - # - # for f in /sys/module/8821cu/parameters/*;do echo "\$(basename \$f): \$(sudo cat \$f)";done - # - blacklist rtw88_8821cu - # - options 8821cu rtw_led_ctrl=2 - EOF + cp -f "${SRC}"/packages/bsp/wifi-rtl8821cu/etc/modprobe.d/8821cu.conf \ + "${destination}"/etc/modprobe.d/8821cu.conf } diff --git a/packages/bsp/wifi-rtl8821cu/etc/modprobe.d/8821cu.conf b/packages/bsp/wifi-rtl8821cu/etc/modprobe.d/8821cu.conf new file mode 100644 index 000000000..92314dc4f --- /dev/null +++ b/packages/bsp/wifi-rtl8821cu/etc/modprobe.d/8821cu.conf @@ -0,0 +1,207 @@ +# /etc/modprobe.d/8821cu.conf +# +# source: https://github.com/morrownr/8821cu-20210916/blob/main/8821cu.conf +# +# Purpose: Allow easy access to specific driver options. +# +# Note: pull-request: wireless-next-2022-12-12 +# wireless-next patches for v6.2 +# wifi: rtw88: Add rtw8821cu chipset support +# +# The following line blacklists (deactivates) the above in-kernel driver. +blacklist rtw88_8821cu +# +# Edit the following line to change, add or delete options: +options 8821cu rtw_led_ctrl=1 +# +# Note: The above `options` line is a good default for managed mode. Below is +# an example for AP mode. Modify as required after reading the documentation: +#options 8821cu rtw_drv_log_level=1 rtw_led_ctrl=1 rtw_vht_enable=2 rtw_power_mgnt=1 rtw_beamform_cap=1 rtw_dfs_region_domain=1 +# +# After editing is complete, save this file (if using nano: Ctrl + x, y, Enter) +# and reboot to activate the changes. +# +# Important: Some adapters based on the rtl8821cu chipset may require the +# `rtw_RFE_type` option to be set. If wifi or bluetooth does not work +# after driver installation, see the appropriate section in the below +# documentation. This issue has not been seen on wifi only adapters. +# +# Documentation: +# +# ----- +# +# Log options ( rtw_drv_log_level ) +# +# 0 = NONE (default) +# 1 = ALWAYS +# 2 = ERROR +# 3 = WARNING +# 4 = INFO +# 5 = DEBUG +# 6 = MAX +# +# Note: You can save a log file that only includes RTW log entries by running +# the following in a terminal: +# +# sudo ./save-log.sh +# +# Note: A log option greater than 1 must be set. The name of the log +# file will be `rtw.log`. +# +# ----- +# +# LED options ( rtw_led_ctrl ) +# +# 0 = Always off +# 1 = Normal blink (default) +# 2 = Always on +# +# ----- +# +# VHT options ( rtw_vht_enable ) +# +# 0 = Disable +# 1 = Enable (default) +# 2 = Force auto enable (use only for 5 GHz AP mode) +# +# Notes: +# - A non-default setting can degrade performance greatly in managed mode. +# - Option 2 allows 80 MHz channel width for 5GHz AP mode, such as when +# you are using hostapd. +# +# ----- +# +# Power options ( rtw_power_mgnt ) +# +# 0 = Disable power saving +# 1 = Power saving on, minPS (default) +# 2 = Power saving on, maxPS (not recommended for AP mode) +# +# ----- +# +# Beamforming options ( rtw_beamform_cap ) +# +# 1 = SU Beamformer (recommended for AP mode) +# 2 = SU Beamformee +# 3 = SU Beamformer and SU Beamformee +# 10= SU Beamformee and MU Beamformee (default) +# 11= SU Beamformer and SU Beamformee and MU Beamformee +# +# Note: MU Beamformer is not supported. +# +# From the source code: +# +# /* /os_dep/linux/os_intfs.c +# * +# * BIT0: Enable VHT SU Beamformer +# * BIT1: Enable VHT SU Beamformee +# * BIT2: Enable VHT MU Beamformer, depend on VHT SU Beamformer (not supported) +# * BIT3: Enable VHT MU Beamformee, depend on VHT SU Beamformee +# */ +# +# ----- +# +# USB options: ( rtw_switch_usb_mode ) +# +# Note: This option is not supported on this chipset. This chipset is USB2 only. +# +# ----- +# +# DFS Options ( rtw_dfs_region_domain ) +# +# 0 = NONE (default) +# 1 = FCC +# 2 = MKK +# 3 = ETSI +# +# Notes: +# - Activates DFS channels in AP mode. +# - DFS FCC 80 MHz channels for hostapd: 52(58), 100(106), 116(122) and 132(138) +# - For more information: https://en.wikipedia.org/wiki/List_of_WLAN_channels +# +# Note: An AP needs to listen on a DFS channel for a period of 60 seconds +# before transmitting on the channel. If any radar pulses are detected, +# the AP cannot use that channel and will have to try a different channel. +# +# ----- +# +# Wireless Mode options ( rtw_wireless_mode ) +# +# 1 = 2.4GHz 802.11b +# 2 = 2.4GHz 802.11g +# 3 = 2.4GHz 802.11b/g +# 4 = 5GHz 802.11a +# 8 = 2.4Hz 802.11n +# 11 = 2.4GHz 802.11b/g/n +# 16 = 5GHz 802.11n +# 20 = 5GHz 802.11a/n +# 64 = 5GHz 802.11ac +# 84 = 5GHz 802.11a/n/ac +# 95 = 2.4GHz 802.11b/g/n 5GHz 802.11a/n/ac (default) +# +# ----- +# +# Country Code options ( rtw_country_code ) +# +# Note: Allows the Country Code to be set in cases where it is unable to +# be obtained otherwise. +# +# URL: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 +# +# Example for the US: rtw_country_code=US +# Example for Panama: rtw_country_code=PA +# Example for Norway: rtw_country_code=NO +# Example for Kuwait: rtw_country_code=KW +# Example for Taiwan: rtw_country_code=TW +# +# ----- +# +# Select RFE type ( rtw_RFE_type ) +# +# 0 = (2-Ant, DPDT), (2G_WLG, iPA, iLNA, iSW), (5G, iPA, iLNA, iSW) +# 1 = (1-Ant, SPDT@Ant1), (2G_WLG, iPA, iLNA, iSW), (5G, iPA, iLNA, iSW) +# 2 = (1-Ant, SPDT@Ant1) , (2G_BTG, iPA, iLNA, iSW), (5G, iPA, iLNA, iSW) +# 3 = (1-Ant, DPDT@Ant2), (2G_WLG, iPA, iLNA, iSW), (5G, iPA, iLNA, iSW) +# 4 = (1-Ant, DPDT@Ant2), (2G_BTG, iPA, iLNA, iSW), (5G, iPA, iLNA, iSW) +# 5 = (2-Ant), (2G_WLG, iPA, iLNA, iSW), (5G, iPA, iLNA, iSW) +# 6 = (2-Ant), (2G_WLG, iPA, iLNA, iSW), (5G, iPA, iLNA, iSW) +# 7 = (1-Ant), (2G_BTG, iPA, iLNA, iSW), (5G, iPA, iLNA, iSW) (try this setting first) +# 64 = this appears to be the default on adapters that do not support bluetooth +# +# Note: RFE Type is used to set antenna isolation and the BT coexistence +# mechanism. Some adapters require this setting and some do not. It may be +# necessary to try different settings to determine which setting is optimal +# for your adapter. +# +# ----- +# +# To see all options that are available: +# +# $ ls /sys/module/8821cu/parameters/ +# +# ----- +# +# To see the values that are in use: +# +# $ grep [[:alnum:]] /sys/module/8821cu/parameters/* +# or +# $ for f in /sys/module/8821cu/parameters/*;do echo "\$(basename \$f): \$(sudo cat \$f)";done +# ----- +# +# hostapd setup information for rtl8821cu +# Note: The best settings can vary but the following may be a good place to start. +# +# /etc/modprobe.d/8821cu.conf +# options 8821cu rtw_drv_log_level=0 rtw_led_ctrl=0 rtw_vht_enable=2 rtw_power_mgnt=1 rtw_dfs_region_domain=1 +# +# Note: The best setting for `rtw_dfs_region_domain=` will depend on your location. +# +# /etc/hostapd/hostapd.conf +# +# hw ht capab: 0x862 +# ht_capab=[HT40+][HT40-][SHORT-GI-20][SHORT-GI-40][MAX-AMSDU-7935] +# +# hw vht capab: 0x03c00022 +# vht_capab=[MAX-MPDU-11454][SHORT-GI-80][HTC-VHT][MAX-A-MPDU-LEN-EXP7] +# +# -----