Initial commit

This commit is contained in:
2024-10-30 01:50:38 +01:00
commit 587ca23374
147 changed files with 7521 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
---
# Check current driver release
- name: Check current ath10k firmware release
ansible.bultin.command:
cmd: "opkg list-installed | grep ath10k-firmware | awk '{print $1}'"
register: ath10k_firmware_current_release
# Enable reinstall if installed driver contain *-ct postfix
- name: Enable replacement of current driver
ansible.builtin.set_fact:
replace_ath10k_ct_driver: true
when: "'-ct' in ath10k_firmware_current_release.stdout"
# Replace current driver with new one
- name: Replace ath10k-ct firmware and module
when: replace_ath10k_ct_driver
block:
# Get current ath10k module package name
- name: Check current ath10k module release
ansible.builtin.command:
cmd: "opkg list-installed | grep kmod-ath10k | awk '{print $1}'"
register: ath10k_kmod_current_release
# Set current ath10k module package name fact
- name: Set current ath10k module release fact
ansible.builtin.set_fact:
ath10k_kmod_pkg_name: "{{ ath10k_kmod_current_release.stdout }}"
# Set current driver release name fact
- name: Set current driver release name fact
ansible.builtin.set_fact:
ath10k_driver_pkg_name: "{{ ath10k_firmware_current_release.stdout }}"
# Remove current driver
- name: Remove current driver
opkg:
name: "{{ item }}"
state: "absent"
loop: ["{{ ath10k_kmod_pkg_name }}", "{{ ath10k_driver_pkg_name }}"]
# Install new driver
- name: Install new driver
opkg:
name: "{{ item }}"
state: "present"
loop:
[
"{{ ath10k_kmod_pkg_name | regex_replace('-?ct', '') }}",
"{{ ath10k_driver_pkg_name | regex_replace('-?ct', '') }}",
]

View File

@@ -0,0 +1,14 @@
---
# Configure mesh parameters
- name: Configure mesh parameters
uci:
command: "set"
config: "mesh11sd"
section: "mesh_params"
type: "mesh11sd"
value:
mesh_fwding: "{{ mesh11sd_settings.mesh_fwding | default(omit) }}"
mesh_rssi_threshold: "{{ mesh11sd_settings.mesh_rssi_threshold | default(omit) }}"
mesh_gate_announcements: "{{ mesh11sd_settings.mesh_gate_announcements | default(omit) }}"
mesh_hwmp_rootmode: "{{ mesh11sd_settings.mesh_hwmp_rootmode | default(omit) }}"
mesh_max_peer_links: "{{ mesh11sd_settings.mesh_max_peer_links | default(omit) }}"

View File

@@ -0,0 +1,31 @@
---
# Fix ath10k drivers
# https://openwrt.org/docs/guide-user/network/wifi/mesh/80211s#wireless_hardware_support
- name: Fix ath10k drivers
ansible.builtin.include_tasks: ath10k.yml
when: mesh_enabled and ath10k_ct_fix
# Install required packages
- name: Install required packages
ansible.builtin.include_tasks: prepare.yml
when: mesh_enabled
# Create mesh interface
- name: Create mesh interface
ansible.builtin.include_role:
name: "wireless"
vars:
wireless_interfaces: "{{ mesh11sd_interfaces | default([]) }}"
when: mesh_enabled
# Configure mesh interface
- name: Configure mesh interface
ansible.builtin.include_tasks: configure.yml
when: mesh_enabled
# Apply changes and reload wireless service
- name: Apply changes and reload wireless
when: mesh_enabled
uci:
command: commit
notify: Reload wireless

View File

@@ -0,0 +1,20 @@
---
# Remove non-mesh wpad packages
- name: Remove non-mesh wpad packages
opkg:
name: "{{ item }}"
state: "absent"
loop: "{{ non_mesh_pkgs }}"
# Update opkg cache
- name: Update opkg cache
ansible.builtin.command:
cmd: "opkg update"
changed_when: false
# Install mesh packages
- name: Install mesh packages
opkg:
name: "{{ item }}"
state: "present"
loop: "{{ mesh11sd_pkgs }}"