1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// @generated by ados-capabilities-codegen from wfb-adapters.toml. Do not edit by hand.
//! Generated WFB adapter tables.
//!
//! The single source of truth for the radio adapter classification and the
//! management-WiFi deny-set. The source file is `wfb-adapters.toml`;
//! regenerate with `cargo run -p ados-capabilities-codegen`.
/// WFB-ng compatible chipsets by (VID, PID) -> label.
#[rustfmt::skip]
pub const WFB_COMPATIBLE: &[(u16, u16, &str)] = &[
(0x0BDA, 0x8812, "RTL8812AU"),
(0x0BDA, 0x881A, "RTL8812AU (alt)"),
(0x0BDA, 0x881B, "RTL8812AU (alt)"),
(0x0BDA, 0x881C, "RTL8812AU (alt)"),
(0x0BDA, 0xA81A, "RTL8812AU (a81a)"),
(0x0BDA, 0xB812, "RTL8812EU"),
(0x2357, 0x0120, "RTL8812AU (TP-Link)"),
(0x2357, 0x0101, "RTL8812AU (TP-Link alt)"),
];
/// Driver-name fallback for boards whose VID:PID is not yet in the table.
#[rustfmt::skip]
pub const WFB_COMPATIBLE_DRIVERS: &[&str] = &[
"8812au",
"8812eu",
"rtl8812au",
"rtl8812eu",
"rtl88x2eu",
"rtl88xxau",
];
/// Management-WiFi USB vendor deny-set. These radios advertise monitor
/// mode but cannot inject 802.11 frames, so they must never be tagged
/// WFB-compatible.
#[rustfmt::skip]
pub const DENY_VID: &[u16] = &[0xA69C];
/// Management-WiFi driver-prefix deny-set, denied first so neither the
/// USB-ID match nor the driver-name fallback can flip them WFB-compatible.
#[rustfmt::skip]
pub const DENY_DRIVER_PREFIXES: &[&str] = &["aic8800", "brcmfmac"];