USB

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 14:17, 2 October 2008 (edit)
Alvin (Talk | contribs)
m (USB drivers)
← Previous diff
Revision as of 14:27, 2 October 2008 (edit) (undo)
Alvin (Talk | contribs)
m (USB drivers)
Next diff →
Line 51: Line 51:
'''Storage:''' '''Storage:'''
-Also read about USB storage [[http://www.dd-wrt.com/wiki/index.php/USB_storage| here]] - as of dd-wrt v.24-final the Mega version has built-in USB storage support.+Also read [[USB_storage]] for more on USB Storage. As of dd-wrt v.24-final the Mega version has built-in USB storage support.
kmod-usb-storage -- Kernel modules for USB storage support kmod-usb-storage -- Kernel modules for USB storage support
Line 72: Line 72:
'''Printer and multifunction:''' '''Printer and multifunction:'''
-Also see [[http://www.dd-wrt.com/wiki/index.php/USB_printer_sharing| this section]] for USB printer support. As of dd-wrt v.24-final the Mega version has built-in USB printer support.+Also see [[USB_printer_sharing]] for more on USB printer support. As of dd-wrt v.24-final the Mega version has built-in USB printer support.
kmod-usb-printer -- Kernel modules for USB Printer support kmod-usb-printer -- Kernel modules for USB Printer support

Revision as of 14:27, 2 October 2008

See also: USB storage

Contents

USB support

Of the Supported Devices, just a few support USB. These include the ASUS WL-500g Premium and various devices in this same series, as well as the Asus WL-500W and the Linksys WRTSL54GS.

USB can be enabled by installing the required kernel modules to JFFS, then using a startup script to mount individual devices. See USB storage for instructions and example scripts.

The cost of USB-capable network routers starts at $50 for the Asus WL-520gU (as of March 13, 2008), depending on capability, but the ability to add external hardware easily makes these far more powerful units.

USB devices

The various USB options include:

  • Network-attached storage including flash memories, hard discs, floppy discs and CD/DVD-ROM devices. These can be shared across a LAN using Samba; an external hard drive also provides plentiful swap space for use as virtual memory.
  • Printer Sharing; as either a pass-through driver (p910nd - for printers not supported directly by embedded Linux or those needing proprietary manufacturers' drivers) or CUPS (for fully Linux-supported printers only)
  • CD recording; the Optware packages provide cdrtools: common low-level CD recording tools such as cdrecord and mkisofs.
  • Local network sharing of supported scanner models using SANE drivers; these may be accessed from Linux desktop PC's or (through third-party utilities like SaneTwain) even from Windows PC's.

The availability of external storage and peripherals makes a greater number of packages, including audio and multimedia, potentially usable from these otherwise-tiny devices.

Multimedia

There are a number of Optware packages designed to handle audio or to convert multimedia data from one format to another. USB audio hardware is becoming more commonplace due to its use with Voice over IP softphone applications, and the "video 4 linux" project has done much toward making analogue video capture and webcam devices operate with the Linux desktop. It would appear that, once USB support is available, many packages are available to be tested on the embedded Linux platform.

Getting video back out, however, is no easy task.

One device which may be of interest is a USB hard drive enclosure with a built-in media player, such as the Mediasonic HM2-U2TV or others like it. Install a laptop HDD into this tiny device, connect it to your USB-aware router as network-attached storage and load it with images, audio and video files. Unplug it and connect it to your PAL or NTSC TV monitor as a self-contained media playback device. Note that the media player is deactivated whenever the USB interface is connected.

Another possible combination: a Dreambox DM500 (dream-multimedia-tv.de) and a NAS-capable Linux router on the same network. The DM500's are Linux-based digital TV units (they do not tune analogue signals). Having no built-in USB or storage, these depend on network-attached storage elsewhere on the LAN in order to provide PVR-like capabilities. Pair these with a Linux-based router such as the Asus WL-700GE (which has a built-in 160GB HDD) or any of the USB-capable devices (which interface to USB hard drives) and video can be stored and displayed without relying on access to desktop PC's and without going to the higher-end Dreambox DM7000 series (which offers built-in HDD, USB, keyboard and flash memory support, but at double the price - a hefty premium to pay).

Multifunction devices

Multifunction printers (a printer and scanner in one unit, resembling a small photocopier) may be supported, depending on model. These may be treated as the individual portions - a printer and a scanner - although even an otherwise-incompatible device will normally allow just the printer portion to be used on a strictly pass-through basis through p910d even if none of the other capabilities are supported.

USB telephone-style handsets may or may not be Linux-compatible, with low-end models being more likely to be recognised as some Linux-compatible combination (typically a standard USB sound card with perhaps a USB human interface device as the keypad). Higher-end devices often are locked to one provider by being tightly-integrated to Windows-specific drivers and/or the Skype softphone application, rendering them useless. For instance, the Linksys CIT200 is useless outside Windows, while the far lower-end Skype SK04 is a relatively-standard USB device which may be worth testing in a Linux environment.

Laptop "USB docking stations" typically provide some combination of a USB hub, an extra network interface, audio, serial/parallel ports, keyboard and mouse. Their compatibility varies depending on model; it may be necessary to determine which drivers are installed by manufacturer-supplied Windows discs for each of the individual peripherals in these bundled units and check availability of corresponding existing embedded Linux drivers before considering these for use. Some may work, some most certainly don't. Unfortunately, USB to SVGA interfaces in these packages are currently very proprietary and in no way Linux compatible - the one key stumbling block preventing a USB-aware network-storage device such as Linksys' NSLU2 or a USB-aware router from being expanded to be a small but complete self-contained embedded Linux computer system.

USB drivers

These drivers may be installed to JFFS using ipkg and then loaded (using insmod) from a startup script to enable USB support.

USB base drivers:

As of dd-wrt v.24-final the Mega version has built-in USB support. In the web-GUI select: tab: Services -> tab: Services --> section: USB Support

For other versions of DD-WRT load the following modules:

kmod-usb-core -- Kernel Support for USB
kmod-usb-ohci -- Kernel driver for OHCI USB controllers
kmod-usb-uhci -- Kernel driver for UHCI USB controllers
kmod-usb-uhci-iv -- Kernel driver for Intel/VIA UHCI USB controllers
kmod-usb2 -- Kernel driver for USB2 controllers
kmod-usb-acm -- Kernel modules for USB ACM (Abstract Control Model) support

Storage:

Also read USB_storage for more on USB Storage. As of dd-wrt v.24-final the Mega version has built-in USB storage support.

kmod-usb-storage -- Kernel modules for USB storage support
kmod-ext2 -- Kernel modules for EXT2 filesystem support
kmod-ext3 -- Kernel modules for EXT3 filesystem support
kmod-vfat -- Kernel modules for VFAT filesystem support

Serial ports:

kmod-usb-serial -- Kernel Support for USB-to-Serial converters
kmod-usb-serial-belkin -- Kernel Support for Belkin USB-to-Serial converters
kmod-usb-serial-ftdi -- Kernel Support for FTDI USB-to-Serial converters
kmod-usb-serial-mct-u232 -- Kernel Support for Magic Control Technology USB-to-Serial converters
kmod-usb-serial-pl2303 -- Kernel Support for Prolific PL2303 USB-to-Serial converters
kmod-usb-serial-visor -- Kernel Support for Handspring Visor / Palm m50x / Sony Clie

Audio:

See http://sokrates.mimuw.edu.pl/~sebek/openwrt/ - some drivers exist but these are not part of the base 2.4.x distribution. Proper sound-core and kmod-usb-audio support is provided once the newer 2.6 kernel is used. While some OpenWrt versions are beginning to support 2.6 kernels, as of Oct'97 Broadcom wireless still isn't working with the newer kernel.


Printer and multifunction:

Also see USB_printer_sharing for more on USB printer support. As of dd-wrt v.24-final the Mega version has built-in USB printer support.

kmod-usb-printer -- Kernel modules for USB Printer support
kmod-usb-scanner -- Kernel modules for USB Scanner support
kmod-videodev -- Video For Linux (webcam/video capture) kernel support

Bluetooth:

kmod-bluetooth -- Bluetooth stack kernel modules
kmod-bluetooth-bfusb -- Bluetooth HCI BlueFRITZ! USB driver
kmod-bluetooth-hciuart -- Bluetooth HCI UART driver
kmod-bluetooth-hciusb -- Bluetooth HCI USB driver
kmod-bluetooth-hcivhci -- Bluetooth Virtual HCI device driver