Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've been exploring the /dev directory and am curious are all the devices mapped to those files there? Specifically I'm looking for a wireless file. I was hoping to find something like /dev/wifi or /dev/wlan0

Wirless is working but i can't seem to find the device in /dev. Using slackware 14.0 64bit with multilib. Here's my /dev listing http://pastebin.com/YtRUgnKV

share|improve this question
    
The problem is way beyond the scope of the question. I wanted to make sure that the device must exist in that directory. I don't have it there but wireless works. Is it possible that its using a different name? –  Keeper Hood Mar 11 '13 at 14:28

1 Answer 1

up vote 7 down vote accepted

Network devices don't fit neatly into the normal read/write model for devices (with the exception of network block devices, which have special applications), on linux they are not in /dev. This doesn't mean they cannot be in /dev/, any particular driver can create a device node and userland tools can be used to interact with it (i.e. via ioctsl). On Solaris network devices are in /dev for exactly that purpose.

This is what's usually quoted (Linux Devices Drivers, 2nd Ed., 2001; Chapter 14 Network Drivers).

We are now through discussing char and block drivers and are ready to move on to the fascinating world of networking. Network interfaces are the third standard class of Linux devices, and this chapter describes how they interact with the rest of the kernel.

[...]

There are a few important differences between mounted disks and packet-delivery interfaces. To begin with, a disk exists as a special file in the /dev directory, whereas a network interface has no such entry point. The normal file operations (read, write, and so on) do not make sense when applied to network interfaces, so it is not possible to apply the Unix "everything is a file" approach to them. Thus, network interfaces exist in their own namespace and export a different set of operations.

You can see what interfaces are available in /proc/net/dev, and you can access device configuration and statistics under /sys/class/net/.

If you look in the documentation you won't see any normal network devices, only TAP/TUN, PPP and network block devices.

Ancient, pre-1.0 linux kernel versions did create devices in /dev for control purposes (that's a long, long time ago... 1994 or earlier). If you jump in a time machine and fish out a copy of MAKEDEV from 1994 you'll see it supported /dev/ne[0-3], /dev/wd[0-3], and others, likely the venerable NE2000 and clones. See the final question in §8.1 of the 1993 version of the Linux Ethernet HOWTO.

See also: http://unix.stackexchange.com/questions/23199/why-are-network-interfaces-not-in-dev-like-other-devices

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.