Устройства PCI сообщают свой класс и подкласс среди других параметров (для распознавания, прежде чем ОС определит, какой драйвер использовать для них). Класс устройства 0x02 "Сетевой контроллер" имеет следующие подклассы:
- 0x00 - сетевой контроллер Ethernet
- 0x01 - сетевой контроллер Token Ring
- 0x02 - сетевой контроллер FDDI
- и т.п.
- 0x80 - некоторый другой тип сетевого контроллера
Когда был определен первоначальный список подклассов, Ethernet был довольно популярной коммуникационной технологией и с самого первого дня получил собственный подкласс. Но Wi-Fi появился чуть позже - поскольку в этом списке не было выделенного подкласса, многие адаптеры Wi-Fi просто используют подкласс "Другой сетевой контроллер" 0x80.
В PCI 3.0 есть класс 0x0D "Беспроводной контроллер" с подклассов больше подходит для Wi-Fi:
- 0x00… 0x12 - подклассы для беспроводной связи без Wi-Fi (Bluetooth, IrDA и т.д.)
- 0x20 - контроллер 802.11a (5 ГГц Wi-Fi)
- 0x21 - контроллер 802.11b (2,4 ГГц Wi-Fi)
- 0x80 - какой-то другой тип беспроводного контроллера
Предположительно современный двойной адаптер 2,4 и 5 ГГц мог бы подбросить монету, чтобы выбрать между 0x20 или 0x21, или он мог бы снова классифицировать себя как 0x80 "некоторый другой подтип".
Но поскольку класс и подкласс на самом деле не используются для чего-то еще, кроме поиска драйверов ОС, похоже, что многие производители никогда не видели причин для перехода с старого доброго класса устройств 0x0280 «Сетевой контроллер: Другое».