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