На собственной плате на AT91SAM9G45 имеем проблему с USB EHCI под линуксом:
какое USB 2.0 HS устройство не подключаем, оно сначала регистрируется как ЕНСI, потом через N секунд отваливается, потом пытается снова зарегестрироваться и так далее. После таких нескольких попыток порт бывает зависает на совсем или сваливается на OHCI.
Код
[ 299.870000] usb 1-1: new high speed USB device using atmel-ehci and address 2
[ 300.020000] usb 1-1: New USB device found, idVendor=04cc, idProduct=1520
[ 300.020000] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 300.030000] hub 1-1:1.0: USB hub found
[ 300.030000] hub 1-1:1.0: 4 ports detected
[ 315.590000] usb 1-1: USB disconnect, address 2
[ 315.870000] usb 1-1: new high speed USB device using atmel-ehci and address 3
[ 316.020000] usb 1-1: New USB device found, idVendor=04cc, idProduct=1520
[ 316.020000] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 316.030000] hub 1-1:1.0: USB hub found
[ 316.030000] hub 1-1:1.0: 4 ports detected
...
[ 300.020000] usb 1-1: New USB device found, idVendor=04cc, idProduct=1520
[ 300.020000] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 300.030000] hub 1-1:1.0: USB hub found
[ 300.030000] hub 1-1:1.0: 4 ports detected
[ 315.590000] usb 1-1: USB disconnect, address 2
[ 315.870000] usb 1-1: new high speed USB device using atmel-ehci and address 3
[ 316.020000] usb 1-1: New USB device found, idVendor=04cc, idProduct=1520
[ 316.020000] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 316.030000] hub 1-1:1.0: USB hub found
[ 316.030000] hub 1-1:1.0: 4 ports detected
...
1. В чем искать причину?
2. Подтвердите, у кого high speed USB таки работает на AT91SAM9G45.
Заранее благодарю, ниже лог загрузки
CODE
[ 0.000000] Linux version 2.6.38 (root@javaserver) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #18 Fri Apr 1 12:57:51 EEST 2011
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Atmel AT91SAM9M10G45-EK
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Memory: 128MB = 128MB total
[ 0.000000] Memory: 126564k/126564k available, 4508k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] DMA : 0xffa00000 - 0xffe00000 ( 4 MB)
[ 0.000000] vmalloc : 0xc8800000 - 0xfee00000 ( 870 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .init : 0xc0008000 - 0xc0023000 ( 108 kB)
[ 0.000000] .text : 0xc0023000 - 0xc030c000 (2980 kB)
[ 0.000000] .data : 0xc030c000 - 0xc032ace0 ( 124 kB)
[ 0.000000] NR_IRQS:192
[ 0.000000] AT91: 160 gpio irqs in 5 banks
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] console [ttyS0] enabled
[ 0.150000] Calibrating delay loop... 199.47 BogoMIPS (lpj=997376)
[ 0.350000] pid_max: default: 32768 minimum: 301
[ 0.350000] Mount-cache hash table entries: 512
[ 0.360000] CPU: Testing write buffer coherency: ok
[ 0.370000] NET: Registered protocol family 16
[ 0.400000] bio: create slab <bio-0> at 0
[ 0.400000] usbcore: registered new interface driver usbfs
[ 0.410000] usbcore: registered new interface driver hub
[ 0.410000] usbcore: registered new device driver usb
[ 0.420000] i2c-gpio i2c-gpio.0: using pins 52 (SDA) and 53 (SCL)
[ 0.420000] at_hdmac at_hdmac: Atmel AHB DMA Controller ( cpy slave ), 8 channels
[ 0.440000] Switching to clocksource tcb_clksrc
[ 0.470000] NET: Registered protocol family 2
[ 0.480000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.480000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.490000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.490000] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.500000] TCP reno registered
[ 0.500000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.510000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.510000] NET: Registered protocol family 1
[ 0.520000] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.530000] msgmni has been set to 247
[ 0.530000] io scheduler noop registered (default)
[ 1.020000] atmel_usart.0: ttyS0 at MMIO 0xfeffee00 (irq = 1) is a ATMEL_SERIAL
[ 1.030000] atmel_usart.1: ttyS1 at MMIO 0xfff8c000 (irq = 7) is a ATMEL_SERIAL
[ 1.030000] atmel_usart.2: ttyS2 at MMIO 0xfff90000 (irq = 8) is a ATMEL_SERIAL
[ 1.040000] atmel_usart.3: ttyS3 at MMIO 0xfff94000 (irq = 9) is a ATMEL_SERIAL
[ 1.050000] atmel_usart.4: ttyS4 at MMIO 0xfff98000 (irq = 10) is a ATMEL_SERIAL
[ 1.070000] brd: module loaded
[ 1.090000] loop: module loaded
[ 1.090000] atmel_spi atmel_spi.0: Atmel SPI Controller at 0xfffa4000 (irq 14)
[ 1.100000] macb macb: invalid hw address, using random
[ 1.110000] KERN: macb_mdio_reset
[ 1.130000] MACB_mii_bus: probed
[ 1.140000] eth0: Atmel MACB at 0xfffbc000 irq 25 (12:2c:02:da:1b:dd)
[ 1.140000] eth0: attached PHY driver [Davicom DM9161A] (mii_bus:phy_addr=ffffffff:00, irq=-1)
[ 1.150000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.160000] atmel-ehci atmel-ehci: Atmel EHCI UHP HS
[ 1.160000] atmel-ehci atmel-ehci: new USB bus registered, assigned bus number 1
[ 1.170000] atmel-ehci atmel-ehci: irq 22, io mem 0x00800000
[ 1.190000] atmel-ehci atmel-ehci: USB 2.0 started, EHCI 1.00
[ 1.190000] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.200000] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.200000] usb usb1: Product: Atmel EHCI UHP HS
[ 1.210000] usb usb1: Manufacturer: Linux 2.6.38 ehci_hcd
[ 1.210000] usb usb1: SerialNumber: atmel-ehci
[ 1.220000] hub 1-0:1.0: USB hub found
[ 1.220000] hub 1-0:1.0: 2 ports detected
[ 1.220000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.230000] at91_ohci at91_ohci: AT91 OHCI
[ 1.230000] at91_ohci at91_ohci: new USB bus registered, assigned bus number 2
[ 1.240000] at91_ohci at91_ohci: irq 22, io mem 0x00700000
[ 1.300000] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.300000] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.310000] usb usb2: Product: AT91 OHCI
[ 1.310000] usb usb2: Manufacturer: Linux 2.6.38 ohci_hcd
[ 1.320000] usb usb2: SerialNumber: at91
[ 1.320000] hub 2-0:1.0: USB hub found
[ 1.330000] hub 2-0:1.0: 2 ports detected
[ 1.330000] usbcore: registered new interface driver libusual
[ 1.340000] usbcore: registered new interface driver usbserial
[ 1.340000] USB Serial support registered for generic
[ 1.350000] usbcore: registered new interface driver usbserial_generic
[ 1.350000] usbserial: USB Serial Driver core
[ 1.360000] USB Serial support registered for FTDI USB Serial Device
[ 1.360000] usbcore: registered new interface driver ftdi_sio
[ 1.370000] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
[ 1.380000] USB Serial support registered for moto-modem
[ 1.380000] usbcore: registered new interface driver moto-modem
[ 1.390000] USB Serial support registered for GSM modem (1-port)
[ 1.390000] usbcore: registered new interface driver option
[ 1.400000] option: v0.7.2:USB Driver for GSM modems
[ 1.400000] atmel_usba_udc atmel_usba_udc: MMIO registers at 0xfff78000 mapped at c881c000
[ 1.410000] atmel_usba_udc atmel_usba_udc: FIFO at 0x00600000 mapped at c8900000
[ 1.420000] at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0
[ 1.420000] AT91 Real Time Clock driver.
[ 1.430000] i2c /dev entries driver
[ 1.430000] Linux video capture interface: v2.00
[ 1.430000] usbcore: registered new interface driver uvcvideo
[ 1.440000] USB Video Class driver (v1.0.0)
[ 1.450000] usbcore: registered new interface driver usbhid
[ 1.460000] usbhid: USB HID core driver
[ 1.460000] TCP cubic registered
[ 1.470000] NET: Registered protocol family 17
[ 1.470000] at91_rtc at91_rtc: setting system clock to 2007-01-01 00:00:03 UTC (1167609603)
[ 1.480000] atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
[ 1.490000] Waiting 2sec before mounting root device...
[ 1.550000] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 1.560000] mmc0: new high speed SDHC card at address b368
[ 1.570000] mmcblk0: mmc0:b368 NCard 7.46 GiB
[ 1.570000] mmcblk0: p1 p2 p3
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Atmel AT91SAM9M10G45-EK
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Memory: 128MB = 128MB total
[ 0.000000] Memory: 126564k/126564k available, 4508k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] DMA : 0xffa00000 - 0xffe00000 ( 4 MB)
[ 0.000000] vmalloc : 0xc8800000 - 0xfee00000 ( 870 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .init : 0xc0008000 - 0xc0023000 ( 108 kB)
[ 0.000000] .text : 0xc0023000 - 0xc030c000 (2980 kB)
[ 0.000000] .data : 0xc030c000 - 0xc032ace0 ( 124 kB)
[ 0.000000] NR_IRQS:192
[ 0.000000] AT91: 160 gpio irqs in 5 banks
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] console [ttyS0] enabled
[ 0.150000] Calibrating delay loop... 199.47 BogoMIPS (lpj=997376)
[ 0.350000] pid_max: default: 32768 minimum: 301
[ 0.350000] Mount-cache hash table entries: 512
[ 0.360000] CPU: Testing write buffer coherency: ok
[ 0.370000] NET: Registered protocol family 16
[ 0.400000] bio: create slab <bio-0> at 0
[ 0.400000] usbcore: registered new interface driver usbfs
[ 0.410000] usbcore: registered new interface driver hub
[ 0.410000] usbcore: registered new device driver usb
[ 0.420000] i2c-gpio i2c-gpio.0: using pins 52 (SDA) and 53 (SCL)
[ 0.420000] at_hdmac at_hdmac: Atmel AHB DMA Controller ( cpy slave ), 8 channels
[ 0.440000] Switching to clocksource tcb_clksrc
[ 0.470000] NET: Registered protocol family 2
[ 0.480000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.480000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.490000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.490000] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.500000] TCP reno registered
[ 0.500000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.510000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.510000] NET: Registered protocol family 1
[ 0.520000] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.530000] msgmni has been set to 247
[ 0.530000] io scheduler noop registered (default)
[ 1.020000] atmel_usart.0: ttyS0 at MMIO 0xfeffee00 (irq = 1) is a ATMEL_SERIAL
[ 1.030000] atmel_usart.1: ttyS1 at MMIO 0xfff8c000 (irq = 7) is a ATMEL_SERIAL
[ 1.030000] atmel_usart.2: ttyS2 at MMIO 0xfff90000 (irq = 8) is a ATMEL_SERIAL
[ 1.040000] atmel_usart.3: ttyS3 at MMIO 0xfff94000 (irq = 9) is a ATMEL_SERIAL
[ 1.050000] atmel_usart.4: ttyS4 at MMIO 0xfff98000 (irq = 10) is a ATMEL_SERIAL
[ 1.070000] brd: module loaded
[ 1.090000] loop: module loaded
[ 1.090000] atmel_spi atmel_spi.0: Atmel SPI Controller at 0xfffa4000 (irq 14)
[ 1.100000] macb macb: invalid hw address, using random
[ 1.110000] KERN: macb_mdio_reset
[ 1.130000] MACB_mii_bus: probed
[ 1.140000] eth0: Atmel MACB at 0xfffbc000 irq 25 (12:2c:02:da:1b:dd)
[ 1.140000] eth0: attached PHY driver [Davicom DM9161A] (mii_bus:phy_addr=ffffffff:00, irq=-1)
[ 1.150000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.160000] atmel-ehci atmel-ehci: Atmel EHCI UHP HS
[ 1.160000] atmel-ehci atmel-ehci: new USB bus registered, assigned bus number 1
[ 1.170000] atmel-ehci atmel-ehci: irq 22, io mem 0x00800000
[ 1.190000] atmel-ehci atmel-ehci: USB 2.0 started, EHCI 1.00
[ 1.190000] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.200000] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.200000] usb usb1: Product: Atmel EHCI UHP HS
[ 1.210000] usb usb1: Manufacturer: Linux 2.6.38 ehci_hcd
[ 1.210000] usb usb1: SerialNumber: atmel-ehci
[ 1.220000] hub 1-0:1.0: USB hub found
[ 1.220000] hub 1-0:1.0: 2 ports detected
[ 1.220000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.230000] at91_ohci at91_ohci: AT91 OHCI
[ 1.230000] at91_ohci at91_ohci: new USB bus registered, assigned bus number 2
[ 1.240000] at91_ohci at91_ohci: irq 22, io mem 0x00700000
[ 1.300000] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.300000] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.310000] usb usb2: Product: AT91 OHCI
[ 1.310000] usb usb2: Manufacturer: Linux 2.6.38 ohci_hcd
[ 1.320000] usb usb2: SerialNumber: at91
[ 1.320000] hub 2-0:1.0: USB hub found
[ 1.330000] hub 2-0:1.0: 2 ports detected
[ 1.330000] usbcore: registered new interface driver libusual
[ 1.340000] usbcore: registered new interface driver usbserial
[ 1.340000] USB Serial support registered for generic
[ 1.350000] usbcore: registered new interface driver usbserial_generic
[ 1.350000] usbserial: USB Serial Driver core
[ 1.360000] USB Serial support registered for FTDI USB Serial Device
[ 1.360000] usbcore: registered new interface driver ftdi_sio
[ 1.370000] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
[ 1.380000] USB Serial support registered for moto-modem
[ 1.380000] usbcore: registered new interface driver moto-modem
[ 1.390000] USB Serial support registered for GSM modem (1-port)
[ 1.390000] usbcore: registered new interface driver option
[ 1.400000] option: v0.7.2:USB Driver for GSM modems
[ 1.400000] atmel_usba_udc atmel_usba_udc: MMIO registers at 0xfff78000 mapped at c881c000
[ 1.410000] atmel_usba_udc atmel_usba_udc: FIFO at 0x00600000 mapped at c8900000
[ 1.420000] at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0
[ 1.420000] AT91 Real Time Clock driver.
[ 1.430000] i2c /dev entries driver
[ 1.430000] Linux video capture interface: v2.00
[ 1.430000] usbcore: registered new interface driver uvcvideo
[ 1.440000] USB Video Class driver (v1.0.0)
[ 1.450000] usbcore: registered new interface driver usbhid
[ 1.460000] usbhid: USB HID core driver
[ 1.460000] TCP cubic registered
[ 1.470000] NET: Registered protocol family 17
[ 1.470000] at91_rtc at91_rtc: setting system clock to 2007-01-01 00:00:03 UTC (1167609603)
[ 1.480000] atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
[ 1.490000] Waiting 2sec before mounting root device...
[ 1.550000] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 1.560000] mmc0: new high speed SDHC card at address b368
[ 1.570000] mmcblk0: mmc0:b368 NCard 7.46 GiB
[ 1.570000] mmcblk0: p1 p2 p3