Compare commits
30 Commits
Author | SHA1 | Date | |
---|---|---|---|
bbd4085a2c | |||
61e98c956c | |||
58e204a004 | |||
9d7fae28c4 | |||
d1922dd935 | |||
ce468dc798 | |||
cf8514dab7 | |||
c6846320b8 | |||
245626589d | |||
c9df2b7516 | |||
c9f4d75e87 | |||
1f462665cc | |||
889a54fd21 | |||
8058f197f1 | |||
5c1f99965a | |||
29e103a176 | |||
e05b253210 | |||
5d193970bc | |||
4be4747f96 | |||
9c426a57bf | |||
a689dcabab | |||
6ba330eb81 | |||
2ea51c7833 | |||
50ba10ad0e | |||
df4fd21984 | |||
b46bf38e84 | |||
ad80c3d464 | |||
d139c423cb | |||
08dab0af7d | |||
e1fd69bfee |
259
inventory.yml
259
inventory.yml
@ -1,6 +1,48 @@
|
|||||||
|
templates:
|
||||||
|
package_ath10k_mesh: &package_ath10k_mesh
|
||||||
|
- name: kmod-ath10k-ct
|
||||||
|
state: absent
|
||||||
|
- name: ath10k-firmware-qca988x-ct
|
||||||
|
state: absent
|
||||||
|
- name: kmod-ath10k
|
||||||
|
state: present
|
||||||
|
- name: ath10k-firmware-qca988x
|
||||||
|
state: present
|
||||||
|
|
||||||
|
package_wpad_mesh: &package_wpad_mesh
|
||||||
|
- name: wpad-basic-wolfssl
|
||||||
|
state: absent
|
||||||
|
- name: wpad-mesh-wolfssl
|
||||||
|
state: absent
|
||||||
|
- name: wpad-basic-mbedtls
|
||||||
|
state: absent
|
||||||
|
- name: wpad-mesh-mbedtls
|
||||||
|
state: absent
|
||||||
|
- name: wpad-wolfssl
|
||||||
|
state: present
|
||||||
|
|
||||||
|
# Note: This is intentionally a duplicate of package_wpad_mesh --
|
||||||
|
# need to manually test migration of other devices to an actual
|
||||||
|
# wpad-mesh-wolfssl (or similar) variant.
|
||||||
|
package_wpad_full: &package_wpad_full
|
||||||
|
- name: wpad-basic-wolfssl
|
||||||
|
state: absent
|
||||||
|
- name: wpad-mesh-wolfssl
|
||||||
|
state: absent
|
||||||
|
- name: wpad-wolfssl
|
||||||
|
state: present
|
||||||
|
- name: wpad-basic-mbedtls
|
||||||
|
state: absent
|
||||||
|
- name: wpad-mesh-mbedtls
|
||||||
|
state: absent
|
||||||
|
|
||||||
openwrt:
|
openwrt:
|
||||||
hosts:
|
hosts:
|
||||||
ap3825i2.lan:
|
ap3825i1:
|
||||||
|
packages:
|
||||||
|
ath10k: *package_ath10k_mesh
|
||||||
|
wpad: *package_wpad_mesh
|
||||||
|
|
||||||
network:
|
network:
|
||||||
device:
|
device:
|
||||||
- name: br-lan
|
- name: br-lan
|
||||||
@ -8,11 +50,55 @@ openwrt:
|
|||||||
ports:
|
ports:
|
||||||
- eth0
|
- eth0
|
||||||
- eth1
|
- eth1
|
||||||
|
stp: 1
|
||||||
|
|
||||||
|
interface:
|
||||||
|
- key: lan
|
||||||
|
device: br-lan
|
||||||
|
proto: dhcp
|
||||||
|
|
||||||
|
wireless:
|
||||||
|
wifi_device:
|
||||||
|
- name: radio0
|
||||||
|
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||||
|
template: qca9880_5
|
||||||
|
channel: 48
|
||||||
|
|
||||||
|
- name: radio1
|
||||||
|
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||||
|
template: ath9k_2
|
||||||
|
channel: 11
|
||||||
|
|
||||||
|
wifi_iface:
|
||||||
|
- ifname: labbmesh5
|
||||||
|
device: radio0
|
||||||
|
template: labbmesh
|
||||||
|
disabled: 0
|
||||||
|
|
||||||
|
- ifname: labb2
|
||||||
|
device: radio1
|
||||||
|
template: labb
|
||||||
|
|
||||||
|
ap3825i4:
|
||||||
|
packages:
|
||||||
|
ath10k: *package_ath10k_mesh
|
||||||
|
wpad: *package_wpad_mesh
|
||||||
|
|
||||||
|
network:
|
||||||
|
device:
|
||||||
|
- name: br-lan
|
||||||
|
type: bridge
|
||||||
|
ports:
|
||||||
|
- eth0
|
||||||
|
- eth1.7
|
||||||
|
stp: 1
|
||||||
|
|
||||||
- name: br-vgolan
|
- name: br-vgolan
|
||||||
type: bridge
|
type: bridge
|
||||||
ports:
|
ports:
|
||||||
- eth0.2
|
- eth0.2
|
||||||
|
- eth1.2
|
||||||
|
stp: 1
|
||||||
|
|
||||||
interface:
|
interface:
|
||||||
- key: lan
|
- key: lan
|
||||||
@ -28,32 +114,48 @@ openwrt:
|
|||||||
- name: radio0
|
- name: radio0
|
||||||
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||||
template: qca9880_5
|
template: qca9880_5
|
||||||
|
channel: 48
|
||||||
|
|
||||||
- name: radio1
|
- name: radio1
|
||||||
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||||
template: ath9k_2
|
template: ath9k_2
|
||||||
|
channel: 6
|
||||||
|
|
||||||
wifi_iface:
|
wifi_iface:
|
||||||
- ifname: vgo2
|
- ifname: vgo2
|
||||||
device: radio1
|
device: radio1
|
||||||
template: vgo2
|
template: vgo2
|
||||||
disabled: 1
|
disabled: 0
|
||||||
|
|
||||||
|
- ifname: vgomesh2
|
||||||
|
device: radio1
|
||||||
|
template: vgomesh2
|
||||||
|
disabled: 0
|
||||||
|
|
||||||
- ifname: vgo5
|
- ifname: vgo5
|
||||||
device: radio0
|
device: radio0
|
||||||
template: vgo5
|
template: vgo5
|
||||||
disabled: 1
|
disabled: 0
|
||||||
|
|
||||||
# What if I added comments?
|
|
||||||
- ifname: labb2
|
- ifname: labb2
|
||||||
device: radio1
|
device: radio1
|
||||||
template: labb
|
template: labb
|
||||||
|
|
||||||
|
- ifname: labbmesh5
|
||||||
|
device: radio0
|
||||||
|
template: labbmesh
|
||||||
|
disabled: 0
|
||||||
|
|
||||||
- ifname: labb5
|
- ifname: labb5
|
||||||
device: radio0
|
device: radio0
|
||||||
template: labb
|
template: labb
|
||||||
|
|
||||||
ap3825i3.lan:
|
- ifname: labbmesh2
|
||||||
|
device: radio1
|
||||||
|
template: labbmesh
|
||||||
|
disabled: 0
|
||||||
|
|
||||||
|
ap3825i3:
|
||||||
network:
|
network:
|
||||||
device:
|
device:
|
||||||
- name: br-lan
|
- name: br-lan
|
||||||
@ -105,7 +207,7 @@ openwrt:
|
|||||||
device: radio0
|
device: radio0
|
||||||
template: labb
|
template: labb
|
||||||
|
|
||||||
mr16_3.lan:
|
mr16_4:
|
||||||
network:
|
network:
|
||||||
device:
|
device:
|
||||||
- name: br-lan
|
- name: br-lan
|
||||||
@ -114,10 +216,113 @@ openwrt:
|
|||||||
- eth0
|
- eth0
|
||||||
stp: 1
|
stp: 1
|
||||||
|
|
||||||
|
interface:
|
||||||
|
- key: lan
|
||||||
|
device: br-lan
|
||||||
|
proto: dhcp
|
||||||
|
|
||||||
|
wireless:
|
||||||
|
wifi_device:
|
||||||
|
- name: radio0
|
||||||
|
path: pci0000:00/0000:00:11.0
|
||||||
|
template: ath9k_2
|
||||||
|
hwmode:
|
||||||
|
band: 2g
|
||||||
|
channel: 6
|
||||||
|
disabled: 1
|
||||||
|
|
||||||
|
- name: radio1
|
||||||
|
path: pci0000:00/0000:00:12.0
|
||||||
|
template: ath9k_5
|
||||||
|
hwmode:
|
||||||
|
band: 5g
|
||||||
|
channel: 48
|
||||||
|
|
||||||
|
wifi_iface:
|
||||||
|
- ifname: labbmesh2
|
||||||
|
device: radio0
|
||||||
|
template: labbmesh
|
||||||
|
|
||||||
|
- ifname: labbmesh5
|
||||||
|
device: radio1
|
||||||
|
template: labbmesh
|
||||||
|
|
||||||
|
ap3825i7:
|
||||||
|
packages:
|
||||||
|
ath10k: *package_ath10k_mesh
|
||||||
|
wpad: *package_wpad_mesh
|
||||||
|
|
||||||
|
network:
|
||||||
|
device:
|
||||||
|
- name: br-lan
|
||||||
|
type: bridge
|
||||||
|
ports:
|
||||||
|
- eth0.7
|
||||||
|
- eth1.7
|
||||||
|
|
||||||
- name: br-vgolan
|
- name: br-vgolan
|
||||||
type: bridge
|
type: bridge
|
||||||
ports:
|
ports:
|
||||||
- eth0.2
|
- eth0.2
|
||||||
|
- eth1.2
|
||||||
|
|
||||||
|
interface:
|
||||||
|
- key: lan
|
||||||
|
device: br-lan
|
||||||
|
proto: dhcp
|
||||||
|
|
||||||
|
- key: vgolan
|
||||||
|
device: br-vgolan
|
||||||
|
proto: dhcp
|
||||||
|
|
||||||
|
wireless:
|
||||||
|
wifi_device:
|
||||||
|
|
||||||
|
- name: radio0
|
||||||
|
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||||
|
template: qca9880_5
|
||||||
|
channel: 157
|
||||||
|
|
||||||
|
- name: radio1
|
||||||
|
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||||
|
template: ath9k_2
|
||||||
|
channel: 1
|
||||||
|
|
||||||
|
wifi_iface:
|
||||||
|
- ifname: labb2
|
||||||
|
device: radio0
|
||||||
|
template: labb
|
||||||
|
|
||||||
|
- ifname: labb5
|
||||||
|
device: radio1
|
||||||
|
template: labb
|
||||||
|
|
||||||
|
- ifname: vgo2
|
||||||
|
device: radio0
|
||||||
|
template: vgo2
|
||||||
|
|
||||||
|
- ifname: vgo5
|
||||||
|
device: radio1
|
||||||
|
template: vgo5
|
||||||
|
|
||||||
|
ap3825i6:
|
||||||
|
packages:
|
||||||
|
ath10k: *package_ath10k_mesh
|
||||||
|
wpad: *package_wpad_mesh
|
||||||
|
|
||||||
|
network:
|
||||||
|
device:
|
||||||
|
- name: br-lan
|
||||||
|
type: bridge
|
||||||
|
ports:
|
||||||
|
- eth1
|
||||||
|
stp: 1
|
||||||
|
|
||||||
|
- name: br-vgolan
|
||||||
|
type: bridge
|
||||||
|
ports:
|
||||||
|
- eth1.2
|
||||||
|
stp: 1
|
||||||
|
|
||||||
interface:
|
interface:
|
||||||
- key: lan
|
- key: lan
|
||||||
@ -131,44 +336,30 @@ openwrt:
|
|||||||
wireless:
|
wireless:
|
||||||
wifi_device:
|
wifi_device:
|
||||||
- name: radio0
|
- name: radio0
|
||||||
path: pci0000:00/0000:00:11.0
|
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||||
template: ath9k_2
|
template: qca9880_5
|
||||||
hwmode: 11n
|
channel: 157
|
||||||
band:
|
|
||||||
channel: 6
|
|
||||||
|
|
||||||
- name: radio1
|
- name: radio1
|
||||||
path: pci0000:00/0000:00:12.0
|
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||||
template: ath9k_5
|
template: ath9k_2
|
||||||
hwmode: 11n
|
channel: 1
|
||||||
band:
|
|
||||||
channel: 48
|
|
||||||
|
|
||||||
wifi_iface:
|
wifi_iface:
|
||||||
- ifname: vgo5
|
- ifname: vgo2
|
||||||
device: radio1
|
device: radio1
|
||||||
|
template: vgo2
|
||||||
|
disabled: 0
|
||||||
|
|
||||||
|
- ifname: vgo5
|
||||||
|
device: radio0
|
||||||
template: vgo5
|
template: vgo5
|
||||||
disabled: 0
|
disabled: 0
|
||||||
|
|
||||||
- ifname: vgomesh2
|
|
||||||
device: radio0
|
|
||||||
template: vgomesh2
|
|
||||||
disabled: 0
|
|
||||||
|
|
||||||
- ifname: labb2
|
- ifname: labb2
|
||||||
device: radio0
|
device: radio1
|
||||||
template: labb
|
template: labb
|
||||||
|
|
||||||
- ifname: labb5
|
- ifname: labb5
|
||||||
device: radio1
|
|
||||||
template: labb
|
|
||||||
|
|
||||||
- ifname: labbmesh2
|
|
||||||
device: radio0
|
device: radio0
|
||||||
template: labbmesh
|
template: labb
|
||||||
|
|
||||||
- ifname: labbmesh5
|
|
||||||
device: radio1
|
|
||||||
template: labbmesh
|
|
||||||
|
|
||||||
# What if I added comments?
|
|
||||||
|
5
roles/config/handlers/main.yml
Normal file
5
roles/config/handlers/main.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
- name: Reload dropbear
|
||||||
|
service:
|
||||||
|
name: dropbear
|
||||||
|
state: reloaded
|
||||||
|
enabled: yes
|
2
roles/config/meta/main.yml
Normal file
2
roles/config/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
dependencies:
|
||||||
|
- role: gekmihesg.openwrt
|
45
roles/config/tasks/main.yml
Normal file
45
roles/config/tasks/main.yml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
- name: Setup hostname
|
||||||
|
when: inventory_hostname is defined
|
||||||
|
uci:
|
||||||
|
command: set
|
||||||
|
key: 'system.@system[0]'
|
||||||
|
value:
|
||||||
|
hostname: "{{ inventory_hostname }}"
|
||||||
|
|
||||||
|
- name: Setup timezone
|
||||||
|
uci:
|
||||||
|
command: set
|
||||||
|
key: 'system.@system[0]'
|
||||||
|
value:
|
||||||
|
timezone: "{{ timezone | default(system[template | default('default')].timezone) }}"
|
||||||
|
zonename: "{{ zonename | default(system[template | default('default')].zonename) }}"
|
||||||
|
log_ip: "{{ log_ip | default(system[template | default('default')].log_ip) }}"
|
||||||
|
log_port: "{{ log_port | default(system[template | default('default')].log_port) }}"
|
||||||
|
log_proto: "{{ log_proto | default(system[template | default('default')].log_proto) }}"
|
||||||
|
|
||||||
|
- name: commit changes
|
||||||
|
uci:
|
||||||
|
command: commit
|
||||||
|
key: system
|
||||||
|
|
||||||
|
- name: Update authorized keys
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/dropbear/authorized_keys
|
||||||
|
line: "{{ lookup('file', lookup('env', 'HOME') + '/.ssh/id_ed25519.pub') }}"
|
||||||
|
state: present
|
||||||
|
create: yes
|
||||||
|
mode: 644
|
||||||
|
|
||||||
|
- name: Disable Root password authentication
|
||||||
|
uci:
|
||||||
|
command: set
|
||||||
|
key: "dropbear.@dropbear[0]"
|
||||||
|
value:
|
||||||
|
RootPasswordAuth: "off"
|
||||||
|
PasswordAuth: "off"
|
||||||
|
notify: reload dropbear
|
||||||
|
|
||||||
|
- name: Commit changes
|
||||||
|
uci:
|
||||||
|
command: commit
|
||||||
|
key: dropbear
|
8
roles/config/vars/main.yml
Normal file
8
roles/config/vars/main.yml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
system:
|
||||||
|
|
||||||
|
default: &default_system
|
||||||
|
timezone: 'EST5EDT,M3.2.0,M11.1.0'
|
||||||
|
zonename: 'America/New York'
|
||||||
|
log_ip: 10.0.7.226
|
||||||
|
log_proto: tcp
|
||||||
|
log_port: 514
|
2
roles/netconfig/meta/main.yml
Normal file
2
roles/netconfig/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
dependencies:
|
||||||
|
- role: gekmihesg.openwrt
|
75
roles/netconfig/tasks/main.yml
Normal file
75
roles/netconfig/tasks/main.yml
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
- name: Setup network devices
|
||||||
|
uci:
|
||||||
|
command: section
|
||||||
|
config: network
|
||||||
|
type: device
|
||||||
|
find_by:
|
||||||
|
name: "{{ item.name }}"
|
||||||
|
value:
|
||||||
|
type: "{{ item.type }}"
|
||||||
|
ports: "{{ item.ports }}"
|
||||||
|
stp: "{{ item.stp | default() }}"
|
||||||
|
loop: "{{ network['device'] }}"
|
||||||
|
|
||||||
|
- name: Setup network interfaces
|
||||||
|
uci:
|
||||||
|
command: section
|
||||||
|
config: network
|
||||||
|
type: interface
|
||||||
|
name: "{{ item.key }}"
|
||||||
|
value:
|
||||||
|
device: "{{ item.device }}"
|
||||||
|
proto: "{{ item.proto }}"
|
||||||
|
ifname: "{{ item.ifname | default() }}"
|
||||||
|
loop: "{{ network['interface'] }}"
|
||||||
|
|
||||||
|
- name: commit changes
|
||||||
|
uci:
|
||||||
|
command: commit
|
||||||
|
key: network
|
||||||
|
notify: restart network
|
||||||
|
|
||||||
|
- name: Setup wireless devices (radios)
|
||||||
|
uci:
|
||||||
|
command: section
|
||||||
|
config: wireless
|
||||||
|
type: wifi-device
|
||||||
|
find_by:
|
||||||
|
path: "{{ item.path }}"
|
||||||
|
name: "{{ item.name }}"
|
||||||
|
value:
|
||||||
|
type: "mac80211" # they'd BETTER be.
|
||||||
|
band: "{{ item.band | default(wifi_device[item.template].band) | default() }}"
|
||||||
|
channel: "{{ item.channel | default(wifi_device[item.template].channel) }}"
|
||||||
|
country: "{{ item.country | default(wifi_device[item.template].country) }}"
|
||||||
|
disabled: "{{ item.disabled | default(wifi_device[item.template].disabled) }}"
|
||||||
|
hwmode: "{{ item.hwmode | default(wifi_device[item.template].hwmode) | default() }}"
|
||||||
|
htmode: "{{ item.htmode | default(wifi_device[item.template].htmode) }}"
|
||||||
|
log_level: "{{ item.log_level | default(wifi_device[item.template].log_level) | default() }}"
|
||||||
|
loop: "{{ wireless['wifi_device'] }}"
|
||||||
|
|
||||||
|
- name: Setup wireless ifaces (VIFs)
|
||||||
|
uci:
|
||||||
|
command: section
|
||||||
|
config: wireless
|
||||||
|
type: wifi-iface
|
||||||
|
name: "{{ item.ifname | default(wifi_iface[item.template].ifname) | default('') }}"
|
||||||
|
value:
|
||||||
|
ifname: "{{ item.ifname | default(wifi_iface[item.template].ifname) | default('') if not item.force_ifnameless | default(false) }}"
|
||||||
|
mode: "{{ item.mode | default(wifi_iface[item.template].mode) }}"
|
||||||
|
device: "{{ item.device | default(wifi_iface[item.template].device) }}"
|
||||||
|
network: "{{ item.network | default(wifi_iface[item.template].network) }}"
|
||||||
|
ssid: "{{ item.ssid | default(wifi_iface[item.template].ssid) | default() }}"
|
||||||
|
mesh_id: "{{ item.mesh_id | default(wifi_iface[item.template].mesh_id) | default() }}"
|
||||||
|
encryption: "{{ item.encryption | default(wifi_iface[item.template].encryption) }}"
|
||||||
|
key: "{{ item.key | default(wifi_iface[item.template].key) }}"
|
||||||
|
disabled: "{{ item.disabled | default(wifi_iface[item.template].disabled) | default(0) }}"
|
||||||
|
skip_inactivity_poll: "{{ item.skip_inactivity_poll | default(wifi_iface[item.template].skip_inactivity_poll) | default() }}"
|
||||||
|
disassoc_low_ack: "{{ item.disassoc_low_ack | default(wifi_iface[item.template].disassoc_low_ack) | default() }}"
|
||||||
|
loop: "{{ wireless['wifi_iface'] }}"
|
||||||
|
|
||||||
|
- name: commit changes
|
||||||
|
uci:
|
||||||
|
command: commit
|
||||||
|
key: wireless
|
||||||
|
notify: reload wifi
|
@ -5,12 +5,12 @@ wifi_iface:
|
|||||||
mode: 'ap'
|
mode: 'ap'
|
||||||
encryption: 'psk2'
|
encryption: 'psk2'
|
||||||
key: 'password'
|
key: 'password'
|
||||||
|
skip_inactivity_poll: '1'
|
||||||
|
disassoc_low_ack: '0'
|
||||||
|
|
||||||
vgo: &vgo_wifi_iface
|
vgo: &vgo_wifi_iface
|
||||||
<<: *default_wifi_iface
|
<<: *default_wifi_iface
|
||||||
network: 'vgolan'
|
network: 'vgolan'
|
||||||
skip_inactivity_poll: '1'
|
|
||||||
disassoc_low_ack: '0'
|
|
||||||
key: !vault |
|
key: !vault |
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
63626332663164663666656466373031633564663435646531663331666262626265656335646364
|
63626332663164663666656466373031633564663435646531663331666262626265656335646364
|
||||||
@ -31,7 +31,8 @@ wifi_iface:
|
|||||||
ssid:
|
ssid:
|
||||||
mode: 'mesh'
|
mode: 'mesh'
|
||||||
encryption: 'psk2+ccmp'
|
encryption: 'psk2+ccmp'
|
||||||
skip_inactivity_poll:
|
skip_inactivity_poll: 1
|
||||||
|
disassoc_low_ack:
|
||||||
|
|
||||||
labb: &labb_wifi_iface
|
labb: &labb_wifi_iface
|
||||||
<<: *default_wifi_iface
|
<<: *default_wifi_iface
|
||||||
@ -45,6 +46,10 @@ wifi_iface:
|
|||||||
3163343464646535370a636331383863653137646636343831643961633633333536393539643861
|
3163343464646535370a636331383863653137646636343831643961633633333536393539643861
|
||||||
62326536343964333331653966663931313438333161626533393235373232626265
|
62326536343964333331653966663931313438333161626533393235373232626265
|
||||||
|
|
||||||
|
labbwpa3: &labb_wifi_iface_wpa3
|
||||||
|
<<: *labb_wifi_iface
|
||||||
|
encryption: 'sae'
|
||||||
|
|
||||||
labbmesh:
|
labbmesh:
|
||||||
<<: *labb_wifi_iface
|
<<: *labb_wifi_iface
|
||||||
<<: *mesh_wifi_iface
|
<<: *mesh_wifi_iface
|
||||||
@ -61,12 +66,38 @@ wifi_device:
|
|||||||
channel: auto
|
channel: auto
|
||||||
country: US
|
country: US
|
||||||
disabled: 0
|
disabled: 0
|
||||||
|
log_level: 0
|
||||||
|
|
||||||
qca9880_5:
|
qca9880_5:
|
||||||
<<: *default_wifi_device
|
<<: *default_wifi_device
|
||||||
band: 5g
|
band: 5g
|
||||||
htmode: VHT80
|
htmode: VHT80
|
||||||
|
|
||||||
|
mt761x_2:
|
||||||
|
<<: *default_wifi_device
|
||||||
|
band: 2g
|
||||||
|
htmode: VHT20
|
||||||
|
|
||||||
|
mt761x_5:
|
||||||
|
<<: *default_wifi_device
|
||||||
|
band: 5g
|
||||||
|
htmode: VHT80
|
||||||
|
|
||||||
|
mt791x_2:
|
||||||
|
<<: *default_wifi_device
|
||||||
|
band: 2g
|
||||||
|
htmode: HE20
|
||||||
|
|
||||||
|
mt791x_5:
|
||||||
|
<<: *default_wifi_device
|
||||||
|
band: 5g
|
||||||
|
htmode: HE80
|
||||||
|
|
||||||
|
mt7916_6:
|
||||||
|
<<: *default_wifi_device
|
||||||
|
band: 6g
|
||||||
|
htmode: HE160
|
||||||
|
|
||||||
ath9k_2:
|
ath9k_2:
|
||||||
<<: *default_wifi_device
|
<<: *default_wifi_device
|
||||||
band: 2g
|
band: 2g
|
5
roles/netpkgconfig/handlers/main.yml
Normal file
5
roles/netpkgconfig/handlers/main.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
- name: Touch a file
|
||||||
|
command:
|
||||||
|
argv:
|
||||||
|
- touch
|
||||||
|
- /tmp/test_proof
|
2
roles/netpkgconfig/meta/main.yml
Normal file
2
roles/netpkgconfig/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
dependencies:
|
||||||
|
- role: gekmihesg.openwrt
|
29
roles/netpkgconfig/tasks/main.yml
Normal file
29
roles/netpkgconfig/tasks/main.yml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
- name: Install the correct wpad packages
|
||||||
|
opkg:
|
||||||
|
name: "{{ item.name }}"
|
||||||
|
state: "{{ item.state }}"
|
||||||
|
loop: "{{ packages.wpad | default([]) }}"
|
||||||
|
notify: "{{ item.notify | default([]) }}"
|
||||||
|
register: wpad_config
|
||||||
|
|
||||||
|
- name: Reload wpad
|
||||||
|
nohup:
|
||||||
|
command: "wifi down; /etc/init.d/wpad restart; wifi up"
|
||||||
|
delay: 10
|
||||||
|
when:
|
||||||
|
- wpad_config.changed
|
||||||
|
|
||||||
|
- name: Wait for connection after netpkg reconfig
|
||||||
|
wait_for_connection:
|
||||||
|
timeout: 70
|
||||||
|
delay: 5
|
||||||
|
when:
|
||||||
|
- wpad_config.changed
|
||||||
|
- openwrt_wait_for_connection
|
||||||
|
|
||||||
|
- name: Install the correct ath10k packages
|
||||||
|
opkg:
|
||||||
|
name: "{{ item.name }}"
|
||||||
|
state: "{{ item.state }}"
|
||||||
|
loop: "{{ packages.ath10k | default([]) }}"
|
||||||
|
notify: "{{ item.notify | default([]) }}"
|
@ -1,78 +1,5 @@
|
|||||||
- hosts: openwrt
|
- hosts: openwrt
|
||||||
roles:
|
roles:
|
||||||
- gekmihesg.openwrt
|
- config
|
||||||
tasks:
|
- netpkgconfig
|
||||||
|
- netconfig
|
||||||
- name: Setup network devices
|
|
||||||
uci:
|
|
||||||
command: section
|
|
||||||
config: network
|
|
||||||
type: device
|
|
||||||
find_by:
|
|
||||||
name: "{{ item.name }}"
|
|
||||||
value:
|
|
||||||
type: "{{ item.type }}"
|
|
||||||
ports: "{{ item.ports }}"
|
|
||||||
stp: "{{ item.stp | default() }}"
|
|
||||||
loop: "{{ network['device'] }}"
|
|
||||||
|
|
||||||
- name: Setup network interfaces
|
|
||||||
uci:
|
|
||||||
command: section
|
|
||||||
config: network
|
|
||||||
type: interface
|
|
||||||
name: "{{ item.key }}"
|
|
||||||
value:
|
|
||||||
device: "{{ item.device }}"
|
|
||||||
proto: "{{ item.proto }}"
|
|
||||||
ifname: "{{ item.ifname | default() }}"
|
|
||||||
loop: "{{ network['interface'] }}"
|
|
||||||
|
|
||||||
- name: commit changes
|
|
||||||
uci:
|
|
||||||
command: commit
|
|
||||||
key: network
|
|
||||||
notify: restart network
|
|
||||||
|
|
||||||
- name: Setup wireless devices (radios)
|
|
||||||
uci:
|
|
||||||
command: section
|
|
||||||
config: wireless
|
|
||||||
type: wifi-device
|
|
||||||
find_by:
|
|
||||||
path: "{{ item.path }}"
|
|
||||||
value:
|
|
||||||
band: "{{ item.band | default(wifi_device[item.template].band) | default() }}"
|
|
||||||
channel: "{{ item.channel | default(wifi_device[item.template].channel) }}"
|
|
||||||
country: "{{ item.country | default(wifi_device[item.template].country) }}"
|
|
||||||
disabled: "{{ item.disabled | default(wifi_device[item.template].disabled) }}"
|
|
||||||
hwmode: "{{ item.hwmode | default(wifi_device[item.template].hwmode) | default() }}"
|
|
||||||
htmode: "{{ item.htmode | default(wifi_device[item.template].htmode) }}"
|
|
||||||
loop: "{{ wireless['wifi_device'] }}"
|
|
||||||
|
|
||||||
- name: Setup wireless ifaces (VIFs)
|
|
||||||
uci:
|
|
||||||
command: section
|
|
||||||
config: wireless
|
|
||||||
type: wifi-iface
|
|
||||||
find:
|
|
||||||
ifname: "{{ item.ifname | default(wifi_iface[item.template].ifname) | default('') }}"
|
|
||||||
value:
|
|
||||||
ifname: "{{ item.ifname | default(wifi_iface[item.template].ifname) | default('') }}"
|
|
||||||
mode: "{{ item.mode | default(wifi_iface[item.template].mode) }}"
|
|
||||||
device: "{{ item.device | default(wifi_iface[item.template].device) }}"
|
|
||||||
network: "{{ item.network | default(wifi_iface[item.template].network) }}"
|
|
||||||
ssid: "{{ item.ssid | default(wifi_iface[item.template].ssid) | default() }}"
|
|
||||||
mesh_id: "{{ item.mesh_id | default(wifi_iface[item.template].mesh_id) | default() }}"
|
|
||||||
encryption: "{{ item.encryption | default(wifi_iface[item.template].encryption) }}"
|
|
||||||
key: "{{ item.key | default(wifi_iface[item.template].key) }}"
|
|
||||||
disabled: "{{ item.disabled | default(wifi_iface[item.template].disabled) | default(0) }}"
|
|
||||||
skip_inactivity_poll: "{{ item.skip_inactivity_poll | default(wifi_iface[item.template].skip_inactivity_poll) | default() }}"
|
|
||||||
disassoc_low_ack: "{{ item.disassoc_low_ack | default(wifi_iface[item.template].disassoc_low_ack) | default() }}"
|
|
||||||
loop: "{{ wireless['wifi_iface'] }}"
|
|
||||||
|
|
||||||
- name: commit changes
|
|
||||||
uci:
|
|
||||||
command: commit
|
|
||||||
key: wireless
|
|
||||||
notify: reload wifi
|
|
||||||
|
Loading…
Reference in New Issue
Block a user