From 7a3b281230e4ea16b4939edcf4bdcde7e84f3b00 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 22 Mar 2025 21:24:16 +0100 Subject: [PATCH] update example mac80211 script and wireless config Signed-off-by: Felix Fietkau --- config/wireless | 25 ++-- examples/wireless/mac80211.sh | 273 ++++++++++++++++++++++++++++++++-- 2 files changed, 273 insertions(+), 25 deletions(-) diff --git a/config/wireless b/config/wireless index 5a14619..c92d2d3 100644 --- a/config/wireless +++ b/config/wireless @@ -1,20 +1,25 @@ config wifi-device radio0 option type mac80211 + option phy wl0 + option band 2g option channel 11 - option hwmode 11ng - option path 'platform/ar933x_wmac' - option htmode HT20 - list ht_capab SHORT-GI-20 - list ht_capab SHORT-GI-40 - list ht_capab RX-STBC1 - list ht_capab DSSS_CCK-40 - # REMOVE THIS LINE TO ENABLE WIFI: - # option disabled 1 + option htmode HE20 + error foo -config wifi-iface +config wifi-iface vif0 option device radio0 option network lan option mode ap option ssid OpenWrt option encryption none +config wifi-vlan + option iface vif0 + option name 'v#' + option vid '*' + +config wifi-station + option iface vif0 + option mac 00:11:22:33:44:55 + option vid 100 + option key deadbeef diff --git a/examples/wireless/mac80211.sh b/examples/wireless/mac80211.sh index 3e31bc9..28e16f7 100755 --- a/examples/wireless/mac80211.sh +++ b/examples/wireless/mac80211.sh @@ -4,31 +4,274 @@ NETIFD_MAIN_DIR=../../scripts init_wireless_driver "$@" +MP_CONFIG_INT="mesh_retry_timeout mesh_confirm_timeout mesh_holding_timeout mesh_max_peer_links + mesh_max_retries mesh_ttl mesh_element_ttl mesh_hwmp_max_preq_retries + mesh_path_refresh_time mesh_min_discovery_timeout mesh_hwmp_active_path_timeout + mesh_hwmp_preq_min_interval mesh_hwmp_net_diameter_traversal_time mesh_hwmp_rootmode + mesh_hwmp_rann_interval mesh_gate_announcements mesh_sync_offset_max_neighor + mesh_rssi_threshold mesh_hwmp_active_path_to_root_timeout mesh_hwmp_root_interval + mesh_hwmp_confirmation_interval mesh_awake_window mesh_plink_timeout" +MP_CONFIG_BOOL="mesh_auto_open_plinks mesh_fwding" +MP_CONFIG_STRING="mesh_power_mode" + +hostapd_add_log_config() { + config_add_boolean \ + log_80211 \ + log_8021x \ + log_radius \ + log_wpa \ + log_driver \ + log_iapp \ + log_mlme + + config_add_int log_level +} + +hostapd_common_add_device_config() { + config_add_array basic_rate + config_add_array supported_rates + config_add_string beacon_rate + + config_add_string country country3 + config_add_boolean country_ie doth + config_add_boolean spectrum_mgmt_required + config_add_int local_pwr_constraint + config_add_string require_mode + config_add_boolean legacy_rates + config_add_int cell_density + config_add_int rts_threshold + config_add_int rssi_reject_assoc_rssi + config_add_int rssi_ignore_probe_request + config_add_int maxassoc + config_add_int reg_power_type + config_add_boolean stationary_ap + + config_add_string acs_chan_bias + config_add_array hostapd_options + + config_add_int airtime_mode + config_add_int mbssid + + config_add_boolean afc + config_add_string \ + afc_request_version afc_request_id afc_serial_number \ + afc_location_type afc_location afc_height afc_height_type + config_add_array afc_cert_ids afc_freq_range afc_op_class + config_add_int \ + afc_min_power afc_major_axis afc_minor_axis afc_orientation \ + afc_vertical_tolerance + + hostapd_add_log_config +} + + drv_mac80211_init_device_config() { - # identifiers - config_add_string macaddr - config_add_string path - config_add_string phy - - # config - config_add_int channel - config_add_string hwmode + hostapd_common_add_device_config + + config_add_string path phy 'macaddr:macaddr' + config_add_string tx_burst + config_add_string distance + config_add_string ifname_prefix + config_add_string macaddr_base + config_add_int radio beacon_int chanbw frag rts + config_add_int rxantenna txantenna txpower min_tx_power + config_add_int num_global_macaddr multiple_bssid + config_add_boolean noscan ht_coex acs_exclude_dfs background_radar config_add_array ht_capab + config_add_array channels + config_add_array scan_list + config_add_boolean \ + rxldpc \ + short_gi_80 \ + short_gi_160 \ + tx_stbc_2by1 \ + su_beamformer \ + su_beamformee \ + mu_beamformer \ + mu_beamformee \ + he_su_beamformer \ + he_su_beamformee \ + he_mu_beamformer \ + vht_txop_ps \ + htc_vht \ + rx_antenna_pattern \ + tx_antenna_pattern \ + he_spr_sr_control \ + he_spr_psr_enabled \ + he_bss_color_enabled \ + he_twt_required + config_add_int \ + beamformer_antennas \ + beamformee_antennas \ + vht_max_a_mpdu_len_exp \ + vht_max_mpdu \ + vht_link_adapt \ + vht160 \ + rx_stbc \ + tx_stbc \ + he_bss_color \ + he_spr_non_srg_obss_pd_max_offset + config_add_boolean \ + ldpc \ + greenfield \ + short_gi_20 \ + short_gi_40 \ + max_amsdu \ + dsss_cck_40 +} + +hostapd_common_add_bss_config() { + config_add_string 'bssid:macaddr' 'ssid:string' + config_add_boolean wds wmm uapsd hidden utf8_ssid ppsk + + config_add_int maxassoc max_inactivity + config_add_boolean disassoc_low_ack isolate short_preamble skip_inactivity_poll + + config_add_int \ + wep_rekey eap_reauth_period \ + wpa_group_rekey wpa_pair_rekey wpa_master_rekey + config_add_boolean wpa_strict_rekey + config_add_boolean wpa_disable_eapol_key_retries + + config_add_boolean tdls_prohibit + + config_add_boolean rsn_preauth auth_cache + config_add_int ieee80211w + config_add_int eapol_version + + config_add_array auth_server acct_server + config_add_string 'server:host' + config_add_string auth_secret key + config_add_int 'auth_port:port' 'port:port' + + config_add_string acct_secret + config_add_int acct_port + config_add_int acct_interval + + config_add_int bss_load_update_period chan_util_avg_period + + config_add_string dae_client + config_add_string dae_secret + config_add_int dae_port + + config_add_string nasid + config_add_string ownip + config_add_string radius_client_addr + config_add_string iapp_interface + config_add_string eap_type ca_cert client_cert identity anonymous_identity auth priv_key priv_key_pwd + config_add_boolean ca_cert_usesystem ca_cert2_usesystem + config_add_string subject_match subject_match2 + config_add_array altsubject_match altsubject_match2 + config_add_array domain_match domain_match2 domain_suffix_match domain_suffix_match2 + config_add_string ieee80211w_mgmt_cipher + + config_add_int dynamic_vlan vlan_naming vlan_no_bridge + config_add_string vlan_tagged_interface vlan_bridge + config_add_string vlan_file + + config_add_string 'key1:wepkey' 'key2:wepkey' 'key3:wepkey' 'key4:wepkey' 'password:wpakey' - config_add_int chanbw + config_add_string wpa_psk_file + + config_add_int multi_ap + + config_add_boolean wps_pushbutton wps_label ext_registrar wps_pbc_in_m1 + config_add_int wps_ap_setup_locked wps_independent + config_add_string wps_device_type wps_device_name wps_manufacturer wps_pin + config_add_string multi_ap_backhaul_ssid multi_ap_backhaul_key + + config_add_boolean wnm_sleep_mode wnm_sleep_mode_no_keys bss_transition mbo + config_add_int time_advertisement + config_add_string time_zone + config_add_string vendor_elements + + config_add_boolean ieee80211k rrm_neighbor_report rrm_beacon_report + + config_add_boolean ftm_responder stationary_ap + config_add_string lci civic + + config_add_boolean ieee80211r pmk_r1_push ft_psk_generate_local ft_over_ds + config_add_int r0_key_lifetime reassociation_deadline + config_add_string mobility_domain r1_key_holder rxkh_file + config_add_array r0kh r1kh + + config_add_int ieee80211w_max_timeout ieee80211w_retry_timeout + + config_add_string macfilter 'macfile:file' + config_add_array 'maclist:list(macaddr)' + + config_add_array bssid_blacklist + config_add_array bssid_whitelist + + config_add_int mcast_rate + config_add_array basic_rate + config_add_array supported_rates + + config_add_boolean sae_require_mfp + config_add_int sae_pwe + + config_add_string 'owe_transition_bssid:macaddr' 'owe_transition_ssid:string' + config_add_string owe_transition_ifname + + config_add_boolean iw_enabled iw_internet iw_asra iw_esr iw_uesa + config_add_int iw_access_network_type iw_venue_group iw_venue_type + config_add_int iw_ipaddr_type_availability iw_gas_address3 + config_add_string iw_hessid iw_network_auth_type iw_qos_map_set + config_add_array iw_roaming_consortium iw_domain_name iw_anqp_3gpp_cell_net iw_nai_realm + config_add_array iw_anqp_elem iw_venue_name iw_venue_url + + config_add_boolean hs20 disable_dgaf osen + config_add_int anqp_domain_id + config_add_int hs20_deauth_req_timeout + config_add_array hs20_oper_friendly_name + config_add_array osu_provider + config_add_array operator_icon + config_add_array hs20_conn_capab + config_add_string osu_ssid hs20_wan_metrics hs20_operating_class hs20_t_c_filename hs20_t_c_timestamp + + config_add_string hs20_t_c_server_url + + config_add_array airtime_sta_weight + config_add_int airtime_bss_weight airtime_bss_limit + + config_add_boolean multicast_to_unicast multicast_to_unicast_all proxy_arp per_sta_vif + + config_add_array hostapd_bss_options + config_add_boolean default_disabled + + config_add_boolean request_cui + config_add_array radius_auth_req_attr + config_add_array radius_acct_req_attr + + config_add_int eap_server radius_server_auth_port + config_add_string eap_user_file ca_cert server_cert private_key private_key_passwd server_id radius_server_clients + + config_add_boolean fils + config_add_string fils_dhcp + + config_add_int ocv + + config_add_boolean apup + config_add_string apup_peer_ifname_prefix } drv_mac80211_init_iface_config() { - config_add_string macaddr + hostapd_common_add_bss_config - config_add_boolean wds - config_add_int maxassoc - config_add_int dtim_period + config_add_string 'macaddr:macaddr' ifname + config_add_boolean wds powersave enable + config_add_string wds_bridge + config_add_int maxassoc config_add_int max_listen_int + config_add_int dtim_period + config_add_int start_disabled - config_add_boolean hidden - config_add_boolean wmm + # mesh + config_add_string mesh_id + config_add_int $MP_CONFIG_INT + config_add_boolean $MP_CONFIG_BOOL + config_add_string $MP_CONFIG_STRING } setup_vif() { -- 2.30.2