Difference between revisions of "USB Host"

From ArmadeusWiki
Jump to: navigation, search
(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