Difference between revisions of "USB Gadget"
From ArmadeusWiki
(→Installation) |
|||
Line 10: | Line 10: | ||
==Installation== | ==Installation== | ||
− | + | * configure your Linux kernel: | |
− | [ | + | [armadeus]$ make linux-menuconfig |
− | in Device Drivers->USB support->USB Gadget Support, choose Support for USB Gadgets and activate all USB Gadget Drivers | + | in '''Device Drivers->USB support->USB Gadget Support''', choose: |
− | + | ||
− | [ | + | [[Image:linuxconfig_usb_gadget.png]] |
+ | |||
+ | Support for USB Gadgets and activate all USB Gadget Drivers | ||
+ | |||
+ | * save your configuration and then rebuild your kernel image: | ||
+ | [armadeus]$ make | ||
now you should have following drivers in your kernel source tree: | now you should have following drivers in your kernel source tree: | ||
'''drivers/usb/gadget/gadgetfs.ko''' For test | '''drivers/usb/gadget/gadgetfs.ko''' For test |
Revision as of 22:45, 26 November 2007
Instructions to use the USB port of your Armadeus board to communicate with your PC
Contents
Introduction
You can connect your Armadeus board to a PC using its USB port and it can be enumerated as many USB devices (depending on the type of communication way you want to use):
- serial device
- net device
- mass storage device
Installation
- configure your Linux kernel:
[armadeus]$ make linux-menuconfig
in Device Drivers->USB support->USB Gadget Support, choose:
File:Linuxconfig usb gadget.png
Support for USB Gadgets and activate all USB Gadget Drivers
- save your configuration and then rebuild your kernel image:
[armadeus]$ make
now you should have following drivers in your kernel source tree:
drivers/usb/gadget/gadgetfs.ko For test drivers/usb/gadget/g_ether.ko Ethernet emulation on USB drivers/usb/gadget/g_file_storage.ko Mass storage drivers/usb/gadget/g_serial.ko Serial emulation on USB drivers/usb/gadget/g_zero.ko For test drivers/usb/gadget/imx_udc.ko i.MX USB device Core Controller
Copy imx_udc.ko, g_file_storage.ko & g_serial.ko to your target root filessytem in /lib/modules/
Usage
First, load the core controller driver on your board:
# insmod /lib/modules/imx_udc.ko
To emulate a mass storage device:
- create or get a "backing storage file", for example: [[1]]
- copy this file (uncompressed) in the /tmp directory of your rootfs (see NetworkConfig if necessary)
- load g_file_storage module:
# insmod /lib/modules/g_file_storage.ko file=/tmp/backing_file
- connect target's USB cable to your PC and,
On Linux:
- as root, launch dmesg and find the /dev/sdaX device assigned to your board
- then mount the device and enjoy file sharing:
[root@toto]# mount /dev/sda1 /mnt/tmp [root@toto]# cd /mnt/tmp [root@toto]# showimage /mnt/tmp/test.jpg
To emulate a serial port:
# mknod /dev/ttygserial c 127 0 (only needed the first time you want to use it, if not already existing) # insmod /lib/modules/g_serial.ko