USB Host

From ArmadeusWiki
Revision as of 10:21, 16 June 2008 by JeanFrancoisR (Talk | contribs)

Jump to: navigation, search

How-To use the ISP176x USB Host controller of the APF9328DevFull

The DevFull is equipped with a USB 2.0 Host controller featuring three USB high speed ports.

USB HOST Controller

Driver installation

make linux-menuconfig

select Device Driver->USB support->support for Host-side USB (kernel)
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

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

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 octects from the usb stick to a buffer of a kernel driver

Result: ~10Mo/sec  


Links