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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
|
T H E L I N U X D E V I C E L I S T
maintained by rick@ee.uwm.edu (Rick Miller, Linux Device Registrar)
Last revised: February 20, 1993
This is a list of the device names, along with Major and minor numbers,
which the Linux kernel may currently recognize. I say "may" because some
of them may require patches to your kernel, others must be configured-in
using the Linux kernel's "make config" routine before compiling.
Many thanks to all the folks that have gone to such trouble to write the
drivers for the devices listed here. I hope this list helps you folks!
IF YOU WANT ANY CHANGES OR ADDITIONS TO THIS LIST, *TELL ME*!
DEVICES NOT LISTED HERE SHOULD USE MAJOR NUMBERS *ABOVE 127*
UNTIL ALLOCATED A MORE PERMANENT NUMBER IN THE LOWER RANGE.
(I suggest using a more-or-less random number to avoid the
chance of collisions with any other experimental drivers.)
TO HAVE MAJOR/MINOR NUMBERS ALLOCATED (OFICIALLY) FOR
YOUR DEVICE DRIVER, SEND E-MAIL TO: RICK@EE.UWM.EDU
Majors:
0. Unnamed . (unknown) .... for proc-fs, NFS clients, etc.
1. Memory .. (character) .. ram, mem, kmem, null, port, zero, core
2. Floppy .. (block) ...... fd[0-1]<[dhDH]{360,720,1200,1440}>
3. AT-Disk . (block) ...... hd[a-d]<[0-8]>
4. Tty ..... (character) .. tty's and pty's
5. tty ..... (character) .. tty, cua[0-63]
6. Lp ...... (character) .. lp[0-2]
7. Tape? ... (block) ...... t[0-?] (reserved for Non-SCSI tape drives)
8. SCSI-Disk (block) ...... sd[a-h]<[0-8]>
9. SCSI-Tape (character) .. <n>st[0-1] or <n>rmt[0-1]
10. Mouse (character) .. logibm, psaux, inportbm, atibm, (mouse)
11. CD-ROM .. (block) ...... scd[0-1]
12. Loop? ... (block) ...... loop[0-1]
12. QIC-tape? (character) .. rmt{8,16}, tape<{-d,-reset}>
13. XT-disk . (block) ...... xd[a-b]<[0-8]>
14. Audio ... (character) .. audio, dsp, midi, mixer, sequencer
15. Joystick (?) .......... js0, js1
16. Socket .. (character) .. net, arp
17. AF_UNIX . (character) .. unix
18. AF_INET . (character) .. inet, ip, icmp, tcp, udp
19. "WE"-drv (character) .. we[0-3]
20. "DP8390" (character) .. wd[0-3], ec[0-3], ne[0-3]
Breakdown of minors by Majors:
------------------------------
0. Unnamed . (unknown) .... for proc-fs, NFS clients, etc.
Minors?
1. Memory .. (character) .. ram, mem, kmem, null, port, zero
0. /dev/ram: a BLOCK device (RAM-disk)
1. /dev/mem
2. /dev/kmem
3. /dev/null
4. /dev/port
5. /dev/zero
6. /dev/core: like /dev/mem, but in "core"-file format for gdb
2. Floppy .. (block) ...... fd[0-1]<[dhDH]{360,720,1200,1440}>
Minors are [drive + [4 * type]] where drive 0-3 == A:-D: (floppy)
and type is: 0: Autodetect 4: 720k on 3.5" DD
1: 360k on 5.25" DD 5: 360k on 5.25" HD
2: 1.2M on 5.25" HD 6. 720k on 5.25" HD
3: 360k on 3.5" DD 7. 1.44M on 3.5" HD
0. /dev/fd0: Autodetected first floppy.
1. /dev/fd1: Autodetected second floppy.
2. /dev/fd2: Autodetected third floppy.
3. /dev/fd3: Autodetected fourth floppy.
4. /dev/fd0d360: 360k on 5.25" DD in first drive
5. /dev/fd1d360: 360k on 5.25" DD in second drive
(You can work out the rest of the intermediates...)
8. /dev/fd0h1200: 1.2M on 5.25" HD in first drive
12. /dev/fd0D360 (/dev/fd0H360): 360k on 3.5" DD in first drive
16. /dev/fd0D720 (/dev/fd0H720): 720k on 3.5" DD in first drive
20. /dev/fd0h360: 360k on 5.25" HD in first drive
24. /dev/fd0h720: 720k on 5.25" HD in first drive
28. /dev/fd0H1440: 1.44M on 3.5" HD in first drive
Naming goes like this:
fd[drive][media][size]
where: [drive]=0-3: Corresponds to DOS's "A:"-"D:".
[media]={d,h,D,H}: d=Double Density 5.25" diskette
h=High Density 5.25" diskette
D=Double Density 3.5" diskette
H=High Density 3.5" diskette
[size]={360,720,1200,1440} kilobytes.
Floppies are assumed to be double-sided (DS), and
drives are assumed to be high-density devices.
3. AT-Disk . (block) ...... hd[a-d]<[0-8]>
(For IDE, MFM, and RLE drives and controllers.)
On the first AT controller card:
0. /dev/hda (/dev/hda0): The whole first HD, including its MBR.
1-4. /dev/hda{1-4}: Primary partitions on the first hard drive.
5-8. /dev/hda{5-8}: Extended partitions on the first hard drive.
64. /dev/hdb (/dev/hdb0): The whole second HD, including its MBR.
65-68. /dev/hdb{1-4}: Primary partitions on the second hard drive.
69-72. /dev/hdb{5-8}: Extended partitions on the second hard drive.
On the second AT controller card:
128. /dev/hdc (/dev/hdc0): The whole third HD, including its MBR.
129-132. /dev/hdc{1-4}: Primary partitions on the third hard drive.
133-136. /dev/hdc{5-8}: Extended partitions on the third hard drive.
192. /dev/hdd (/dev/hdd0): The whole fourth HD, including its MBR.
193-196. /dev/hdd{1-4}: Primary partitions on the fourth hard drive.
197-200. /dev/hdd{5-8}: Extended partitions on the fourth hard drive.
Notes: BE *VERY* CAREFUL WITH the four "whole drive" devices (hda,
hdb, hdc, and hdd)!! These four devices embody the *entire*
*drive*, not just one partition. The only things that use
them are things that need to read/change the partition table
(like fdisk).
Linux doesn't order anything. It perceives partitions in the
order in which they appear in the partition table. Thus,
/dev/hd?1 may follow /dev/hd?2 in the cylinder numbering.
The names of the hard drives are not the same as under Minix.
4. Tty ..... (character) .. tty's and pty's
0. /dev/tty0: This is the currently active Virtual Console.
1-63. /dev/tty[1-63]: Specific virtual consoles.
64-127. /dev/ttyS[0-63]: Serial ports (dial-in mode).
128-191. /dev/pty[p-s][0-f]: PTY Masters.
192-255. /dev/tty[p-s][0-f]: PTY Slaves. ([0-f]=0123456789abcdef)
Notes: There are several constants set in the kernel sources which
can be changed to compile a more customized kernel. They're
found in [/usr/src]/linux/include/linux/tty.h:
NR_CONSOLES The number of virtual consoles.
NR_SERIALS The number of serial lines.
5. tty ..... (character) .. tty, cua[0-63]
0. /dev/tty: the tty that owns the process calling it.
64-127. /dev/cua[0-63]: Serial ports (dial-out mode).
6. Lp ...... (character) .. lp[0-2]
Parallel (printer) ports. (Increasable in include/linux/lp.h)
0. /dev/lp0
1. /dev/lp1: Same as MS-DOS's "LPT1:" on my machine...
2. /dev/lp2
Notes: The number of line printers is defined by LP_NO which is
found in [/usr/src]/linux/include/lp.h.
Even if you only have one printer port, Linux may still call
it /dev/lp1 (rather than /dev/lp0). Watch during boot-up to
see how it recognizes your printer port.
7. Tape .... (block) ...... t[0-?] (reserved for Non-SCSI tape drives)
This one's getting old. No minor numbers are yet assigned.
It's not even in the source code. Maybe it never will be...
8. SCSI-Disk (block) ...... sd[a-h]<[0-8]>
Minors numbers are ((16 * Drive) + Partition)
where
Drive is the number of the physical drive in order of detection
and
Partition is as follows:
0 is the whole drive
1-4 are the DOS "primary" partitions
5-15 are the DOS "extended" (or "logical") partitions, so...
0. /dev/sda (/dev/sda0): The first (detected) SCSI drive.
1-4. /dev/sda[1-4]: Primary partitions on the first SCSI drive.
5-15. /dev/sda[5-15]: Extended partitions on the first SCSI drive.
16. /dev/sdb (/dev/sdb0): The second (detected) SCSI drive.
17-20. /dev/sdb[1-4]: Primary partitions on the second drive.
21-31. /dev/sdb[5-15]: Extended partitions on the second drive.
32. /dev/sdc (/dev/sdc0): The third (detected) SCSI drive.
...and so on.
9. SCSI-Tape (character) .. <n>st[0-1] or <n>rmt[0-1]
0. /dev/st0: First (detected) SCSI tape drive, rewind-on-close.
1. /dev/st1: Second (detected) SCSI tape drive, rewind-on-close.
128. /dev/nst0: First (detected) SCSI tape, *no* rewind-on-close.
129. /dev/nst1: Second (detected) SCSI tape, *no* rewind-on-close.
10. Mouse (character) .. logibm, psaux, inportbm, atibm, (mouse)
(MGR may require that /dev/mouse be linked to one of these...)
NOTE THE CHANGES TO DIFFERENTIATE MOUSE TYPES!
(Please implement these in the distributions.)
0. /dev/logibm: Logitec-'compatible' bus mouse
1. /dev/psaux: PS/2 mouse port (may not work on some lap-tops, yet)
2. /dev/inportbm: MicroSoft "InPort" bus mouse
3. /dev/atibm: ATI XL bus mouse
11. CD-ROM .. (block) ...... scd[0-1]
0. /dev/scd0: The first (detected) SCSI CD-ROM.
1. /dev/scd1: The second (detected) SCSI CD-ROM.
("There's not much more to it than that" says Eric Youngdale.)
12. Loop? ... (block) ...... loop[0-1]
(I have no idea what this is... Loopback Ethernet device, maybe?)
0. /dev/loop0
1. /dev/loop1
12. QIC-tape? (character) .. rmt{8,16}, tape<{-d,-reset}>
(I really don't have much info on this one... )
6. /dev/rmt8: QIC-120
8. /dev/rmt16 (/dev/tape): QIC-150
136. /dev/tape-d: (It has something to do with being 128+8... ?)
255. /dev/tape-reset: For resetting only.
13. XT-disk . (block) ...... xd[a-b]<[0-8]>
XT (8-bit) hard disk controller devices.
Minor numbers are assigned in the same manner as for the
normal (AT-type) Hard Drive devices ("/dev/hd*").
14. Audio ... (character) .. audio, dsp, midi, mixer, sequencer
0. /dev/mixer: Mixer and Control Device
1. /dev/sequencer: FM-synthesizer and Midi
2. /dev/midi: (for future use)
3. /dev/dsp: Digitized voice (DAC/ADC)
4. /dev/audio: (Reserved for compatibility with Sun)
15. Joystick (?) .......... js0, js1
0. /dev/js0: (Left/Right?) joystick.
1. /dev/js1: (Right/Left?) joystick.
16. Socket .. (character) .. net, arp
0. /dev/net: Generic layer (sockets)
1. /dev/arp: Address Resolution Protocol (ARP)
17. AF_UNIX . (character) .. unix
0. /dev/unix: AF_UNIX protocol layer
18. AF_INET . (character) .. inet, ip, icmp, tcp, udp
0. /dev/inet: AF_INET protocol layer
1. /dev/ip: Iner-net Protocol (IP)
2. /dev/icmp: Internet Communications Management(?) Protocol (ICMP)
3. /dev/tcp: Transport Control(?) Protocol (TCP)
4. /dev/udp: (?) Protocol (UDP)
19. "WE"-drv (character) .. we[0-3]
0-3. /dev/we[0-3]: "WE" driver
20. "DP8390" (character) .. wd[0-3], ec[0-3], ne[0-3]
0-3. /dev/wd[0-3]: "DP8390" driver, WD8003
8-11. /dev/ec[0-3]: "DP8390" driver, 3C503
16-19. /dev/ne[0-3]: "DP8390" driver, NE2000
Rick Miller <rick@ee.uwm.edu> | <rick@discus.mil.wi.us> Ricxjo Muelisto
Occupation: Husband, Father, WEPCo. WAN Mgr., Discus Sys0p, and Linux fan
|