CONFIG_USB Universal Serial Bus (USB) is a specification for a serial bus subsystem which offers higher speeds and more features than the traditional PC serial port. The bus supplies power to peripherals and allows for hot swapping. Up to 127 USB peripherals can be connected to a single USB port in a tree structure. The USB port is the root of the tree, the peripherals are the leaves and the inner nodes are special USB devices called hubs. Many newer PC's have USB ports and newer peripherals such as scanners, keyboards, mice, modems, and printers support the USB protocol and can be connected to the PC via those ports. Say Y here if your computer has a USB port and you want to use USB devices. You then need to say Y to at least one of "UHCI support" or "OHCI support" below (the type of interface that the USB hardware in your computer provides to the operating system) and then choose from among the drivers for USB peripherals. You may want to check out the information provided in and especially the links given in . This code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called usbcore.o. If you want to compile it as a module, say M here and read . CONFIG_USB_DEBUG Say Y here if you want the USB core & hub drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with USB support and want to see more of what is going on. CONFIG_USB_LONG_TIMEOUT This option makes the standard time out a bit longer. Basically, some devices are just slow to respond, so this makes usb more patient. There should be no harm in selecting this, but it is needed for some MGE Ellipse UPSes. If you have an MGE Ellipse UPS, or you see timeouts in HID transactions, say Y; otherwise say N. CONFIG_USB_DEVICEFS If you say Y here (and to "/proc file system support" in the "File systems section, above), you will get a file /proc/bus/usb/devices which lists the devices currently connected to your USB bus or busses, a file /proc/bus/usb/drivers which lists the USB kernel client drivers currently loaded, and for every connected device a file named "/proc/bus/usb/xxx/yyy", where xxx is the bus number and yyy the device number; the latter files can be used by user space programs to talk directly to the device. These files are "virtual", meaning they are generated on the fly and not stored on the hard drive. You may need to mount the usbfs file system to see the files, use mount -t usbfs none /proc/bus/usb For the format of the various /proc/bus/usb/ files, please read . Please note that this code is completely unrelated to devfs, the "/dev file system support". Most users want to say Y here. CONFIG_USB_BANDWIDTH If you say Y here, the USB subsystem enforces USB bandwidth allocation and will prevent some device opens from succeeding if they would cause USB bandwidth usage to go above 90% of the bus bandwidth. If you say N here, these conditions will cause warning messages about USB bandwidth usage to be logged and some devices or drivers may not work correctly. CONFIG_USB_DYNAMIC_MINORS If you say Y here, the USB subsystem will use dynamic minor allocation for any device that uses the USB major number. This means that you can have more than 16 of a single type of device (like USB printers). If you are unsure about this, say N here.