Other Hardware Devices

# 7. Other Hardware Devices

Contents of this section

Any other devices that didn't fit into any of the above categories got lumped together here.

## 7.1 Ethernet Devices (`ether=')

Different drivers make use of different parameters, but they all at least share having an IRQ, an I/O port base value, and a name. In its most generic form, it looks something like this:

            ether=irq,iobase[,param_1[,param_2,...param_8]]],name

The first non-numeric argument is taken as the name. The `param_n` values (if applicable) usually have different meanings for each different card/driver. Typical `param_n` values are used to specify things like shared memory address, interface selection, DMA channel and the like.

The most common use of this parameter is to force probing for a second ethercard, as the default is to only probe for one. This can be accomplished with a simple:

            ether=0,0,eth1

Note that the values of zero for the IRQ and I/O base in the above example tell the driver(s) to autoprobe.

Note that the Ethernet-HowTo has complete and extensive documentation on using multiple cards and on the card/driver specific implementation of the `param_n` values where used. Interested readers should refer to the section in that document on their particular card for more complete information.

## 7.2 The Floppy Disk Driver (`floppy=')

There are many floppy driver options, and they are all listed in `README.fd` in `linux/drivers/block`. This information is taken directly from that file.

### floppy=mask,allowed_drive_mask

Sets the bitmask of allowed drives to `mask`. By default, only units 0 and 1 of each floppy controller are allowed. This is done because certain non-standard hardware (ASUS PCI motherboards) mess up the keyboard when accessing units 2 or 3. This option is somewhat obsoleted by the cmos option.

### floppy=all_drives

Sets the bitmask of allowed drives to all drives. Use this if you have more than two drives connected to a floppy controller.

### floppy=asus_pci

Sets the bitmask to allow only units 0 and 1. (The default)

### floppy=daring

Tells the floppy driver that you have a well behaved floppy controller. This allows more efficient and smoother operation, but may fail on certain controllers. This may speed up certain operations.

### floppy=0,daring

Tells the floppy driver that your floppy controller should be used with caution.

### floppy=one_fdc

Tells the floppy driver that you have only floppy controller (default)

### floppy=two_fdc or floppy=address,two_fdc

Tells the floppy driver that you have two floppy controllers. The second floppy controller is assumed to be at address. If address is not given, 0x370 is assumed.

### floppy=thinkpad

Tells the floppy driver that you have a Thinkpad. Thinkpads use an inverted convention for the disk change line.

### floppy=0,thinkpad

Tells the floppy driver that you don't have a Thinkpad.

### floppy=drive,type,cmos

Sets the cmos type of `drive` to `type`. Additionally, this drive is allowed in the bitmask. This is useful if you have more than two floppy drives (only two can be described in the physical cmos), or if your BIOS uses non-standard CMOS types. Setting the CMOS to 0 for the first two drives (default) makes the floppy driver read the physical cmos for those drives.

### floppy=unexpected_interrupts

Print a warning message when an unexpected interrupt is received (default behaviour)

### floppy=no_unexpected_interrupts or floppy=L40SX

Don't print a message when an unexpected interrupt is received. This is needed on IBM L40SX laptops in certain video modes. (There seems to be an interaction between video and floppy. The unexpected interrupts only affect performance, and can safely be ignored.)

## 7.3 The Sound Driver (`sound=')

The sound driver can also accept boot args to override the compiled in values. This is not recommended, as it is rather complex. It is described in the `Readme.Linux` file, in `linux/drivers/sound`. It accepts a boot arg of the form:

            sound=device1[,device2[,device3...[,device11]]]

where each `deviceN` value is of the following format `0xTaaaId` and the bytes are used as follows:

T - device type: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16-MPU401

aaa - I/O address in hex.

I - interrupt line in hex (i.e 10=a, 11=b, ...)

d - DMA channel.

As you can see it gets pretty messy, and you are better off to compile in your own personal values as recommended. Using a boot arg of `sound=0' will disable the sound driver entirely.

## 7.4 The Bus Mouse Driver (`bmouse=')

The busmouse driver only accepts one parameter, that being the hardware IRQ value to be used.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter