Есть ли файл устройства в каталоге /dev, представляющий беспроводной адаптер?
Я изучал каталог / dev и мне интересно, все ли устройства сопоставлены с этими файлами? В частности, я ищу беспроводной файл. Я надеялся найти что-то вроде / dev / wifi или / dev / wlan0
Wirless работает, но я не могу найти устройство в / dev. Использование slackware 14.0 64bit с multilib. Вот мой список / dev http://pastebin.com/YtRUgnKV
1 ответ
Сетевые устройства не вписываются в обычную модель чтения / записи для устройств (за исключением сетевых блочных устройств, которые имеют специальные приложения), в Linux они не находятся в /dev
, Это не значит, что они не могут быть в /dev/
любой конкретный драйвер может создать узел устройства, и для взаимодействия с ним могут использоваться пользовательские инструменты (т. е. через ioctsl). На солярисе сетевые устройства находятся в /dev
именно для этой цели.
Это то, что обычно цитируют (Драйверы устройств Linux, 2nd Ed., 2001; Глава 14 Сетевые драйверы).
Сейчас мы обсуждаем драйверы char и block и готовы перейти к увлекательному миру сетей. Сетевые интерфейсы являются третьим стандартным классом устройств Linux, и в этой главе описывается, как они взаимодействуют с остальной частью ядра.
[...]
Есть несколько важных различий между подключенными дисками и интерфейсами доставки пакетов. Начнем с того, что диск существует в виде специального файла в каталоге /dev, тогда как сетевой интерфейс не имеет такой точки входа. Обычные файловые операции (чтение, запись и т. Д.) Не имеют смысла применительно к сетевым интерфейсам, поэтому к ним невозможно применить подход Unix "все является файлом". Таким образом, сетевые интерфейсы существуют в своем собственном пространстве имен и экспортируют другой набор операций.
Вы можете увидеть, какие интерфейсы доступны в /proc/net/dev
и вы можете получить доступ к конфигурации устройства и статистике в /sys/class/net/
,
Если вы посмотрите в документации, вы не увидите никаких обычных сетевых устройств, только TAP/TUN, PPP и сетевые блочные устройства.
Древние версии ядра Linux до версии 1.0 создавали устройства в /dev
в целях контроля (это очень, очень давно... 1994 или ранее). Если вы прыгаете в машину времени и вылавливаете копиюMAKEDEV
с 1994 года вы увидите, что это поддерживается /dev/ne[0-3]
, /dev/wd[0-3]
и другие, вероятно, почтенный NE2000 и клоны. См. Последний вопрос в §8.1 версии Linux Ethernet HOWTO 1993 года.
Смотрите также: https://unix.stackexchange.com/questions/23199/why-are-network-interfaces-not-in-dev-like-other-devices