Currently, when a Wireless card is detected at boot a single wlan interface is created.
Like so;
vyos@vyos# show interfaces ethernet eth0 { hw-id 00:1a:8c:45:3d:2c } ethernet eth1 { hw-id 00:1a:8c:45:3d:2d } ethernet eth2 { hw-id 00:1a:8c:45:3d:2e } ethernet eth3 { hw-id 00:1a:8c:45:3d:2f } loopback lo { } wireless wlan0 { hw-id 00:0e:8e:69:7f:17 physical-device phy0 } [edit]
You can create an SSID under the wireless interface, perfectly fine - and it seems to work a treat.
vyos@vyos# run show interfaces Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address S/L Description --------- ---------- --- ----------- eth0 - u/u eth1 - u/D eth2 - u/D eth3 - u/D lo 127.0.0.1/8 u/u ::1/128 wlan0 192.168.1.254/24 u/u [edit] vyos@vyos# show interfaces ethernet eth0 { hw-id 00:1a:8c:45:3d:2c } ethernet eth1 { hw-id 00:1a:8c:45:3d:2d } ethernet eth2 { hw-id 00:1a:8c:45:3d:2e } ethernet eth3 { hw-id 00:1a:8c:45:3d:2f } loopback lo { } wireless wlan0 { address 192.168.1.254/24 channel 1 country-code UK hw-id 00:0e:8e:69:7f:17 physical-device phy0 ssid TestingOne type access-point } [edit]
The issue comes if you want to create a second SSID on the same Physical adaptor.
A crash occurs and the system reboots.
vyos@vyos# show interfaces ethernet eth0 { hw-id 00:1a:8c:45:3d:2c } ethernet eth1 { hw-id 00:1a:8c:45:3d:2d } ethernet eth2 { hw-id 00:1a:8c:45:3d:2e } ethernet eth3 { hw-id 00:1a:8c:45:3d:2f } loopback lo { } wireless wlan0 { address 192.168.1.254/24 channel 1 country-code UK hw-id 00:0e:8e:69:7f:17 physical-device phy0 ssid TestingOne type access-point } +wireless wlan1 { + address 192.168.2.254/24 + channel 1 + country-code UK + physical-device phy0 + ssid TestingTwo + type access-point +} [edit] vyos@vyos# commit [ 705.500003] BUG: unable to handle kernel NULL pointer dereference at 0000000000000066 [ 705.508768] PGD 0 P4D 0 [ 705.511598] Oops: 0002 [#1] SMP PTI [ 705.515495] CPU: 1 PID: 3053 Comm: hostapd Tainted: G O 4.19.155-amd64-vyos #1 [ 705.525027] Hardware name: Sophos XG/Aptio CRB, BIOS 5.6.5 08/19/2014 [ 705.532234] RIP: 0010:ath_tx_node_init+0x38/0x100 [ath9k] [ 705.538269] Code: 48 c7 46 28 2c 01 00 00 48 c7 46 30 2c 01 00 00 48 c7 46 38 2c 01 00 00 e9 8f 00 00 00 48 8b 84 d0 98 00 00 00 b9 40 00 00 00 <44> 88 40 66 41 b8 01 00 00 00 66 89 48 64 48 8d 48 18 66 44 89 40 [ 705.559269] RSP: 0018:ffffa78100c6fb30 EFLAGS: 00010246 [ 705.565101] RAX: 0000000000000000 RBX: ffff99ab64397380 RCX: 0000000000000040 [ 705.573078] RDX: 0000000000000000 RSI: ffff99ab643974f0 RDI: ffff99ab748c1540 [ 705.581054] RBP: ffff99ab748c1540 R08: 0000000000000000 R09: 0000000000000000 [ 705.589032] R10: 0000000000000003 R11: 0000000000000000 R12: ffff99ab748c2dc8 [ 705.597008] R13: ffff99ab7b1534c8 R14: ffff99ab748c1f50 R15: ffff99ab643974c8 [ 705.604985] FS: 00007f07ce35c500(0000) GS:ffff99ab7bb00000(0000) knlGS:0000000000000000 [ 705.614032] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 705.620453] CR2: 0000000000000066 CR3: 000000011f028000 CR4: 00000000001006e0 [ 705.628429] Call Trace: [ 705.631167] ath9k_add_interface+0xf4/0x120 [ath9k] [ 705.636640] drv_add_interface+0x2b/0x60 [mac80211] [ 705.642112] ieee80211_do_open+0x28b/0x8c0 [mac80211] [ 705.647762] __dev_open+0xb1/0x130 [ 705.651564] __dev_change_flags+0x19e/0x210 [ 705.656238] dev_change_flags+0x1c/0x50 [ 705.660525] devinet_ioctl+0x584/0x6b0 [ 705.664714] inet_ioctl+0x13e/0x220 [ 705.668611] ? dev_get_by_name_rcu+0x6e/0x80 [ 705.673383] ? dev_get_by_name_rcu+0x6e/0x80 [ 705.678154] ? dev_ioctl+0x4af/0x560 [ 705.682148] sock_do_ioctl+0x3e/0x130 [ 705.686241] ? syscall_return_via_sysret+0x14/0x83 [ 705.691595] ? __switch_to_asm+0x41/0x70 [ 705.695978] ? __switch_to_asm+0x35/0x70 [ 705.700360] sock_ioctl+0x199/0x320 [ 705.704257] ? __switch_to_asm+0x35/0x70 [ 705.708639] ? __switch_to_asm+0x41/0x70 [ 705.713021] ? __switch_to_asm+0x35/0x70 [ 705.717402] ? __switch_to_asm+0x41/0x70 [ 705.721784] ? __switch_to_asm+0x35/0x70 [ 705.726166] ? __switch_to_asm+0x41/0x70 [ 705.730549] ? __switch_to_asm+0x35/0x70 [ 705.734931] ? __switch_to_asm+0x35/0x70 [ 705.739315] do_vfs_ioctl+0x9f/0x630 [ 705.743309] ? __sys_recvmsg+0x4f/0xa0 [ 705.747498] ksys_ioctl+0x35/0x70 [ 705.751201] __x64_sys_ioctl+0x11/0x20 [ 705.755390] do_syscall_64+0x49/0xe0 [ 705.759384] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 705.765030] RIP: 0033:0x7f07ce46e427 [ 705.769023] Code: 00 00 90 48 8b 05 69 aa 0c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 39 aa 0c 00 f7 d8 64 89 01 48 [ 705.790023] RSP: 002b:00007ffef893c368 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 705.798478] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f07ce46e427 [ 705.806454] RDX: 00007ffef893c370 RSI: 0000000000008914 RDI: 0000000000000006 [ 705.814431] RBP: 0000000000000006 R08: 00007ffef893c37f R09: 000056224ef90c60 [ 705.822408] R10: 0000000000000007 R11: 0000000000000246 R12: 00007ffef893c370 [ 705.830385] R13: 000056224ef8ec70 R14: 0000000000000001 R15: 0000000000000000 [ 705.838361] Modules linked in: af_packet fuse nft_chain_nat_ipv4 nf_nat_ipv4 nft_chain_nat_ipv6 nf_nat_ipv6 nft_chain_route_ipv6 xt_CT xt_tcpudp nft_compat nfnetlink_cthe lper nft_counter nf_tables nfnetlink nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre nf_nat_h323 nf_conntrack_h323 nf_nat_sip nf_conntrack_sip nf_nat_proto_gre nf_nat_t ftp nf_nat_ftp nf_nat nf_conntrack_tftp nf_conntrack_ftp nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c arc4 ath9k ath9k_common ath9k_hw ath mac80211 intel_soc_dts_the rmal intel_soc_dts_iosf intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc cfg80211 evdev aesni_intel aes_x86_64 crypto_simd cryptd glue_helper intel_cstate pcspkr iTCO_wdt iTCO_vendor_support button pcc_cpufreq mpls_iptunnel mpls_router ip_tunnel mpls_gso br_netfilter [ 705.918101] bridge stp llc ip_tables x_tables autofs4 usb_storage ohci_hcd uhci_hcd squashfs zstd_decompress xxhash loop overlay ext4 crc32c_generic crc16 mbcache jbd2 n ls_ascii sd_mod crc32c_intel i2c_i801 lpc_ich ahci ehci_pci libahci ehci_hcd igb(O) libata scsi_mod fan thermal [ 705.945924] CR2: 0000000000000066 [ 705.949703] ---[ end trace 7afb9cf9dc1a33ba ]--- [ 705.954885] RIP: 0010:ath_tx_node_init+0x38/0x100 [ath9k] [ 705.960935] Code: 48 c7 46 28 2c 01 00 00 48 c7 46 30 2c 01 00 00 48 c7 46 38 2c 01 00 00 e9 8f 00 00 00 48 8b 84 d0 98 00 00 00 b9 40 00 00 00 <44> 88 40 66 41 b8 01 00 00 00 66 89 48 64 48 8d 48 18 66 44 89 40 [ 705.981948] RSP: 0018:ffffa78100c6fb30 EFLAGS: 00010246 [ 705.987801] RAX: 0000000000000000 RBX: ffff99ab64397380 RCX: 0000000000000040 [ 705.995792] RDX: 0000000000000000 RSI: ffff99ab643974f0 RDI: ffff99ab748c1540 [ 706.003773] RBP: ffff99ab748c1540 R08: 0000000000000000 R09: 0000000000000000 [ 706.011761] R10: 0000000000000003 R11: 0000000000000000 R12: ffff99ab748c2dc8 [ 706.019749] R13: ffff99ab7b1534c8 R14: ffff99ab748c1f50 R15: ffff99ab643974c8 [ 706.027739] FS: 00007f07ce35c500(0000) GS:ffff99ab7bb00000(0000) knlGS:0000000000000000 [ 706.036797] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 706.043231] CR2: 0000000000000066 CR3: 000000011f028000 CR4: 00000000001006e0 [ 706.051220] Kernel panic - not syncing: Fatal exception [ 706.057076] Kernel Offset: 0x2d000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 706.069137] Rebooting in 60 seconds..
The crash can be avoided if you create the adaptor using "iw" beforehand, bind it to the physical adaptor - then create the interface within the VyOS config.
However, it is lost on a reboot and the system will enter a constant reboot loop as it parses the config at boot.
vyos@vyos:~$ sudo su root@vyos:/home/vyos# /sbin/iw phy phy0 interface add wlan1 type managed root@vyos:/home/vyos# ifconfig wlan1 up root@vyos:/home/vyos# exit
vyos@vyos# show interfaces ethernet eth0 { hw-id 00:1a:8c:45:3d:2c } ethernet eth1 { hw-id 00:1a:8c:45:3d:2d } ethernet eth2 { hw-id 00:1a:8c:45:3d:2e } ethernet eth3 { hw-id 00:1a:8c:45:3d:2f } loopback lo { } wireless wlan0 { + address 192.168.1.254/24 + channel 1 + country-code UK hw-id 00:0e:8e:69:7f:17 physical-device phy0 + ssid TestingOne + type access-point } +wireless wlan1 { + address 192.168.2.254/24 + channel 1 + country-code UK + physical-device phy0 + ssid TestingTwo + type access-point +} [edit] vyos@vyos# commit [edit] vyos@vyos# run show interfaces Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address S/L Description --------- ---------- --- ----------- eth0 - u/u eth1 - u/D eth2 - u/D eth3 - u/D lo 127.0.0.1/8 u/u ::1/128 wlan0 192.168.1.254/24 u/u wlan1 192.168.2.254/24 u/u [edit]
All tests were completed on bare metal, Sophos XG115w Rev. 2.
The wireless card in question is an AR5BHB112. Model: WPEA-128N