USB Host (CM-i.MX27): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
en>Peter K (1 Version importiert) |
Peter (Diskussion | Beiträge) K (1 Version importiert) |
(kein Unterschied)
|
Aktuelle Version vom 31. Oktober 2023, 09:03 Uhr
The DEV-i.MX27/35 contains two USB host ports. Host 1 of the i.MX27 uses the integrated USB PHY of the MC13783 PMIC. It is capable of low and full speeds only. Host 2 uses an ULPI USB PHY on the DEV board.
Host 1
Kernel configuration
Device Drivers ---> USB support ---> <*> Support for Host-side USB [*] USB device filesystem <M> EHCI HCD (USB 2.0) support [*] Support for Freescale controller [*] Support for Host1 port on Freescale controller [*] Freescale MC13783 on Host 1 [*] Root Hub Transaction Translators (EXPERIMENTAL)
For mass storage devices, like USB flash disks:
Device Drivers ---> SCSI device support ---> <*> SCSI device support [*] legacy /proc/scsi/ support <*> SCSI disk support [*] Probe all LUNs on each SCSI device [*] USB support ---> <*> USB Mass Storage support
Test in Linux
We will write a random file to a USB flash disk and read it back.
- In Linux, load the required kernel modules:
root@btmxc27:~# modprobe isp1504_arc (necessary if you have also enabled USB-OTG)
driver fsl_arc, Revision: 1.0
root@btmxc27:~# modprobe ehci-hcd
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 54, io mem 0x10024200
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: Product: Freescale On-Chip EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.22-btmxc27-v1.0 ehci_hcd
usb usb1: SerialNumber: fsl-ehci.0
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 3
fsl-ehci fsl-ehci.1: irq 56, io mem 0x10024000
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb3: Product: Freescale On-Chip EHCI Host Controller
usb usb3: Manufacturer: Linux 2.6.22-btmxc27-v1.0 ehci_hcd
usb usb3: SerialNumber: fsl-ehci.1
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 1 port detected
root@btmxc27:~#
- Connect a USB flash disk to the USB-A jack marked USB-H1 on the DEV board. Linux will automatically detect the new device, and
it tells you that the device may perform faster (if it is high-speed capable):
root@btmxc27:~# usb 1-1: new full speed USB device using fsl-ehci and address 2 usb 1-1: not running at top speed; connect to a high speed hub usb 1-1: Product: FlashPen usb 1-1: Manufacturer: Hama usb 1-1: SerialNumber: 06F1055071610ACB usb 1-1: configuration #1 chosen from 1 choice scsi0 : SCSI emulation for USB Mass Storage devices scsi 0:0:0:0: Direct-Access Hama FlashPen 1.04 PQ: 0 ANSI: 0 CCS sd 0:0:0:0: [sda] 501760 512-byte hardware sectors (257 MB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Assuming drive cache: write through sd 0:0:0:0: [sda] 501760 512-byte hardware sectors (257 MB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Assuming drive cache: write through sda: sda1 sd 0:0:0:0: [sda] Attached SCSI removable disk FAT: invalid media value (0xb9) VFS: Can't find a valid FAT filesystem on dev sda.
- If a valid file system is found on the flash disk, it is automatically mounted:
root@btmxc27:/# mount ... /dev/sda1 on /media/sda1 type vfat (rw,sync,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1) ...
- Create random file with 1 MiB, make md5sum:
root@btmxc27:~# dd if=/dev/urandom of=/testfile bs=1M count=1 1+0 records in 1+0 records out root@btmxc27:~# md5sum /testfile a51ce1446ae266a0ec7fe99cc5d2d7c4 /testfile root@btmxc27:~#
- Copy random file to USB disk, unmount and re-mount, compare the md5sums:
root@btmxc27:~# cp /testfile /media/sda1/ root@btmxc27:~# umount /media/sda1/ root@btmxc27:~# mount /dev/sda1 /media/sda1/ root@btmxc27:~# md5sum /media/sda1/testfile a51ce1446ae266a0ec7fe99cc5d2d7c4 /media/sda1/testfile root@btmxc27:~#
Now, we will connect a low-speed device, a USB mouse:
usb 1-1: new low speed USB device using fsl-ehci and address 3 usb 1-1: Product: USB-PS/2 Optical Mouse usb 1-1: Manufacturer: Logitech usb 1-1: configuration #1 chosen from 1 choice input: Logitech USB-PS/2 Optical Mouse as /class/input/input1 input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-fsl-ehci.0-1
Remarks
- Because of an erratum of the i.MX27, it is possible that low speed USB devices refuse to work if they are connected through a hub. We could not verify this misbehavior.