Linux Devices

In Linux various special files can be found under the directory /dev. These files are called device files and behave unlike ordinary files. The most common types of device files are for block devices and character devices. These files are an interface to the actual driver (part of the Linux kernel) which in turn accesses the hardware. Another, less common, type of device file is the named pipe. The most important device files are listed in the tables below.

fd0 First Floppy Drive
fd1 Second Floppy Drive

hda IDE Hard disk / CD-ROM on the first IDE port (Master)
hdb IDE Hard disk / CD-ROM on the first IDE port (Slave)
hdc IDE Hard disk / CD-ROM on the second IDE port (Master)
hdd IDE Hard disk / CD-ROM on the second IDE port (Slave)
hda1 First partition of the first IDE hard disk
hdd15 Fifteenth partition of the fourth IDE hard disk

sda SCSI Hard disk with lowest SCSI ID (e.g. 0)
sdb SCSI Hard disk with next higher SCSI ID (e.g. 1)
sdc SCSI Hard disk with next higher SCSI ID (e.g. 2)
sda1 First partition of the first SCSI hard disk
sdd10 Tenth partition of the fourth SCSI hard disk

sr0 SCSI CD-ROM with the lowest SCSI ID
sr1 SCSI CD-ROM with the next higher SCSI ID

ttyS0 Serial port 0, COM1 under MS-DOS
ttyS1 Serial port 1, COM2 under MS-DOS
psaux PS/2 mouse device
gpmdata Pseudo device, repeater data from GPM (mouse) daemon

cdrom Symbolic link to the CD-ROM drive
mouse Symbolic link to the mouse device file

null Anything written to this device will disappear
zero One can endlessly read zeros out of this device

Setting Up Your Mouse

The mouse can be used in both the Linux console (with gpm) and the X window environment. Normally, this is a simple matter of installing gpm and the X server itself. Both should be configured to use /dev/input/mice as the mouse device. The correct mouse protocol is named exps2 in gpm, and ExplorerPS/2 in X. The respective configuration files are /etc/gpm.conf and /etc/X11/xorg.conf.

Certain kernel modules must be loaded in order for your mouse to work. In most cases the correct modules are autodetected, but not always for old-style serial and bus mice[19], which are quite rare except on very old computers. Summary of Linux kernel modules needed for different mouse types:

Module Description
psmouse PS/2 mice (should be autodetected)
usbhid USB mice (should be autodetected)
sermouse Most serial mice
logibm Bus mouse connected to Logitech adapter card
inport Bus mouse connected to ATI or Microsoft InPort card

To load a mouse driver module, you can use the modconf command (from the package with the same name) and look in the category kernel/drivers/input/mouse.



[19] Serial mice usually have a 9-hole D-shaped connector; bus mice have an 8-pin round connector, not to be confused with the 6-pin round connector of a PS/2 mouse or the 4-pin round connector of an ADB mouse.