Difference between revisions of "USB Host"
From ArmadeusWiki
m (→Driver installation) |
m (→USB keyboard/mouse (HID: Human Interface Device)) |
||
Line 20: | Line 20: | ||
===Plug the keyboard=== | ===Plug the keyboard=== | ||
− | * you should see on console: | + | * you should see on console (for example): |
usb 1-1.1: new low speed USB device using isp1761 and address 3 | usb 1-1.1: new low speed USB device using isp1761 and address 3 | ||
usb 1-1.1: configuration #1 chosen from 1 choice | usb 1-1.1: configuration #1 chosen from 1 choice | ||
Line 31: | Line 31: | ||
===Plug the mouse=== | ===Plug the mouse=== | ||
− | * you should see on console: | + | * you should see on console (for example): |
usb 1-1.2: new low speed USB device using isp1761 and address 6 | usb 1-1.2: new low speed USB device using isp1761 and address 6 | ||
usb 1-1.2: configuration #1 chosen from 1 choice | usb 1-1.2: configuration #1 chosen from 1 choice |
Revision as of 18:01, 29 June 2008
How-To use the USB Host functionnality of Armadeus boards under Linux.
Contents
Controller
To use USB devices on your Armadeus board, you will need to have a USB Host controller on your development board.
- Currently, only the DevFull has this functionnality. It is equipped with a USB 2.0 Host controller featuring three USB high speed ports.
Using USB devices
USB keyboard/mouse (HID: Human Interface Device)
Driver installation
- Add USB keyboard/mouse support in Linux:
$ make linux-menuconfig
select Device Drivers ---> [*] HID Devices ---> <*> Generic HID support (static) select Device Drivers ---> [*] HID Devices ---> <M> USB Human Interface Device (full HID) support (module)
Starting the driver
# modprobe usbhid
Plug the keyboard
- you should see on console (for example):
usb 1-1.1: new low speed USB device using isp1761 and address 3 usb 1-1.1: configuration #1 chosen from 1 choice input: NOVATEK USB Keyboard as /class/input/input0 input: USB HID v1.10 Keyboard [NOVATEK USB Keyboard] on usb-platform-1.1 input: NOVATEK USB Keyboard as /class/input/input1 input: USB HID v1.10 Mouse [NOVATEK USB Keyboard] on usb-platform-1.1
- To change keyboard keymap (by default us one):
# loadkmap < /etc/i18n/fr.kmap
Plug the mouse
- you should see on console (for example):
usb 1-1.2: new low speed USB device using isp1761 and address 6 usb 1-1.2: configuration #1 chosen from 1 choice input: Logitech USB-PS/2 Optical Mouse as /class/input/input6 input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-platform-1.2
USB Flash memory / USB key
Driver installation
Adding USB Flash support
$ make linux-menuconfig
select Device Drivers ---> SCSI device support ---> <*> SCSI device support (static) select Device Drivers ---> SCSI device support ---> [*] legacy /proc/scsi/ support (static) select Device Drivers ---> SCSI device support ---> <*> SCSI disk support (static)
select Device Drivers ---> [*] USB support ---> [*] USB device filesystem (static) select Device Drivers ---> [*] USB support ---> <*> USB Mass Storage support (static)
Starting the driver
- if sda1 has not been previoulsy created
# mknod /dev/sda1 b 8 1
- create a mount directory "memstick"
# mkdir -m 777 /mnt/memstick
- mount the USB Flash device
# mount -t vfat /dev/sda1 /mnt/memstick
- check what is present on the USB Flash device
# ls -al /mnt/memstick
USB Performances
A performance test has been performed by means of the usb_perf.sh script.
A high speed USB stick (corsair memory flash voyager) has been used.
Test result (mean values): read -> 2980 kBytes/sec write -> 2095 kBytes/sec
The maximal bandwidth has been also measured by using a scope and by tranferring 4096 octets from the USBstick to a buffer of a kernel driver
Result: ~10Mo/sec