USB Host: Difference between revisions

From ArmadeusWiki
No edit summary
(Split Host specific stuff to dedicated page)
Line 1: Line 1:
How-To use the ISP176x USB Host controller of the APF9328DevFull
How-To use the USB Host functionnality of Armadeus boards under Linux.


The DevFull is equipped with a USB 2.0 Host controller featuring three USB high speed ports.<br>
= Controller =
* Currently, only the [[APF9328DevFull|DevFull]] has this functionnality. It is equipped with a USB 2.0 Host controller featuring three USB high speed ports. [[ISP1761_Linux_driver | To know how to install USB Host Linux driver for the DevFull, go here.]]


= USB HOST Controller =
= Using USB devices =
== Driver installation ==
make linux-menuconfig
 
select Device Driver->USB support->support for Host-side USB (kernel)<br>
select Device Driver->Armadeus Specific Drivers->ISP1761 USB 2.0 Host controller (module)
 
== Starting the drivers ==
Three drivers have to be started in order to get the ISP working.
They have to be started in the following order:
modprobe apf9328-isp1761
modprobe hal_imx
modprobe pehci
 
= USB devices =


== USB keyboard ==  
== USB keyboard ==  
=== driver installation ===
=== Driver installation ===
Adding USB keyboard support
Adding USB keyboard support
  make linux-menuconfig
  make linux-menuconfig
Line 28: Line 15:
  modprobe usbhid
  modprobe usbhid


== USB Flash memory ==  
== USB Flash memory / USB key ==  
=== driver installation ===
=== Driver installation ===
Adding USB Flash support
Adding USB Flash support
  make linux-menuconfig
  make linux-menuconfig
Line 55: Line 42:
  Test result (mean values): read -> 2980 kBytes/sec  write -> 2095 kBytes/sec
  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 octects from the usb stick to a buffer of a kernel driver
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   
  Result: ~10Mo/sec   



Revision as of 12:07, 21 June 2008

How-To use the USB Host functionnality of Armadeus boards under Linux.

Controller

Using USB devices

USB keyboard

Driver installation

Adding USB keyboard support

make linux-menuconfig
select Device Driver->HID Devices-> Generic HID support (kernel)
select Device Driver->HID Devices-> USB Human Interface Device (module)

Starting the driver

modprobe usbhid

USB Flash memory / USB key

Driver installation

Adding USB Flash support

make linux-menuconfig
select Device Driver-> SCSI device support->SCSI device support (kernel)
select Device Driver-> SCSI device support->legacy /proc/scsi/ support (kernel)
select Device Driver-> SCSI device support->SCSI disk support (kernel)
select Device Driver-> USB support ->USB device filesystem (kernel)
select Device Driver-> USB support ->USB Mass Storage support (kernel)

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  


Links