This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3358: USB drive issue

Part Number: AM3358

Tool/software: Linux

Hi TI:

When I plug the USB disk, it will continued to print the following information:

[ 565.273504] usb 1-1: new high-speed USB device number 56 using musb-hdrc
[ 565.813490] usb 1-1: new high-speed USB device number 57 using musb-hdrc
[ 566.463495] usb 1-1: new high-speed USB device number 58 using musb-hdrc
[ 567.043505] usb 1-1: new high-speed USB device number 59 using musb-hdrc
[ 567.623488] usb 1-1: new high-speed USB device number 60 using musb-hdrc

The SDK version we used is 03.01.00.06

The brand of USB disk is ADATA

The SDK which version is ti-sdk-am335x- evm-06.00.00.00 worked normally

  • Zhengguang,

    Is this on your custom board or EVM? If your board, can you please try the same test on the GP EVM or beaglebone black?
    Also please try to add parameter 'usbcore.autosuspend=-1' in your uboot bootargs to see it affects the behavior.
  • Hi Bin:
    On the EVM-SK worked normally.
    When I add parameter 'usbcore.autosuspend=-1' in your uboot bootargs, the system can't startup normally. Log is as follows:
    [ 2.222827] ALSA device list:
    [ 2.226056] No soundcards found.
    [ 2.230107] VFS: PARTUUID= is invalid.
    [ 2.230107] Expected PARTUUID=<valid-uuid-id>[/PARTNROFF=%d]
    [ 2.240064] Disabling rootwait; root= is invalid.
    [ 2.245225] VFS: Cannot open root device "PARTUUID=" or unknown-block(0,0): error -6
    [ 2.253430] Please append a correct "root=" boot option; here are the available partitions:
    [ 2.262245] 1f00 4096 mtdblock0 (driver?)
    [ 2.267659] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    [ 2.276333] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    [ 49.043369] random: nonblocking pool is initialized
  • Hi Bin:
    ti-sdk-am335x- evm-06.00.00.00 can generate device nodes, but it can't be mounted.

    # df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/root 3691920 575240 2929136 16% /
    none 256684 164 256520 0% /dev
    /dev/mmcblk0p1 64511 3504 61008 5% /media/mmcblk0p1
    /dev/mmcblk0p2 3691920 575240 2929136 16% /media/mmcblk0p2
    tmpfs 16384 392 15992 2% /var/volatile
    tmpfs 256684 0 256684 0% /dev/shm
    tmpfs 16384 0 16384 0% /media/ram
    # ls /dev/sda
    sda sda1
    # mkdir usb
    # mount /dev/sda1 usb
    mount: mounting /dev/sda1 on usb failed: Invalid argument
  • Hi Bin:
    Summarized as follows:
    On our custom board:

    SDK 03.01.00.06 will continued to print the following information:
    [ 565.273504] usb 1-1: new high-speed USB device number 56 using musb-hdrc

    ti-sdk-am335x- evm-06.00.00.00 can generate device nodes, but it can't be mounted.

    These two SDK packages worked normally on the EVM-SK.
  • Zhengguang,

    zhengguang yang said:
    On the EVM-SK worked normally.

    We need to figure out what difference on your board which causes the problem.

    Please post your board schematics. Or if you have a usb protocol analyzer please post the enumeration failure trace.

    zhengguang yang said:
    When I add parameter 'usbcore.autosuspend=-1' in your uboot bootargs, the system can't startup normally. Log is as follows:

    It sounds like you had a typo when adding this parameter. The parameter itself shouldn't affect kernel booting.

    Please attach the full kernel boot log. It shows the kernel boot cmdline which I want to check.

  • zhengguang yang said:
    SDK 03.01.00.06 will continued to print the following information:
    [ 565.273504] usb 1-1: new high-speed USB device number 56 using musb-hdrc

    ti-sdk-am335x- evm-06.00.00.00 can generate device nodes, but it can't be mounted.

    Your first post gave me an impression that sdk v6.0 works completely on your board, but now it doesn't. So the issue might be signal integrity problem.

    Please check your board schematics and layout.

  • By the way, here are the links to the AM335x schematics checklist and high-speed interface layout guidelines for your reference.

    processors.wiki.ti.com/.../AM335x_Schematic_Checklist

    www.ti.com/.../spraar7

  • Hi Bin:

    log as follows:

    =>  setenv args_mmc "run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype} usbcore.autosuspend=-1"
    => boot
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    switch to partitions #0, OK
    mmc1(part 0) is current device
    Scanning mmc 1:1...
    switch to partitions #0, OK
    mmc1(part 0) is current device
    SD/MMC found on device 1
    switch to partitions #0, OK
    mmc1(part 0) is current device
    SD/MMC found on device 1
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    ** Unable to read file uEnv.txt **
    3519440 bytes read in 233 ms (14.4 MiB/s)
    40617 bytes read in 38 ms (1 MiB/s)
    Kernel image @ 0x82000000 [ 0x000000 - 0x35b3d0 ]
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8fff3000, end 8ffffea8 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 4.4.19-g577ef4cc0e (adv@63732ed4545e) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #1 PREEMPT Sun Apr 8 05:28:39 UTC 2           018
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine model: RSB-4221 A103-1
    [    0.000000] cma: Reserved 24 MiB at 0xbe800000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (sgx neon )
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260416
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=PARTUUID= rw rootfstype=ext4 rootwait usbcore.autosuspend=-1
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 1003804K/1048576K available (6747K kernel code, 290K rwdata, 2368K rodata, 260K init, 272K bss, 20196K reserved, 24576K cma-reserved,            237568K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc08eefcc   (9116 kB)
    [    0.000000]       .init : 0xc08ef000 - 0xc0930000   ( 260 kB)
    [    0.000000]       .data : 0xc0930000 - 0xc0978b50   ( 291 kB)
    [    0.000000]        .bss : 0xc0978b50 - 0xc09bcdf8   ( 273 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Build-time adjustment of leaf fanout to 32.
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000014] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000033] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000042] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000187] clocksource_probe: no matching clocksources found
    [    0.000346] Console: colour dummy device 80x30
    [    0.000373] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
    [    0.089217] pid_max: default: 32768 minimum: 301
    [    0.089332] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.089344] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.089957] Initializing cgroup subsys io
    [    0.089986] Initializing cgroup subsys memory
    [    0.090019] Initializing cgroup subsys devices
    [    0.090033] Initializing cgroup subsys freezer
    [    0.090045] Initializing cgroup subsys perf_event
    [    0.090055] Initializing cgroup subsys pids
    [    0.090079] CPU: Testing write buffer coherency: ok
    [    0.090433] Setting up static identity map for 0x80008200 - 0x80008258
    [    0.092580] devtmpfs: initialized
    [    0.103089] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.116348] omap_hwmod: debugss: _wait_target_disable failed
    [    0.171227] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.173218] pinctrl core: initialized pinctrl subsystem
    [    0.174337] NET: Registered protocol family 16
    [    0.176036] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.199209] cpuidle: using governor ladder
    [    0.229198] cpuidle: using governor menu
    [    0.233209] OMAP GPIO hardware version 0.1
    [    0.242765] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.276239] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.277087] reg-fixed-voltage fixedregulator@2: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_wl12xx_gpio, deferring            probe
    [    0.280030] usbcore: registered new interface driver usbfs
    [    0.280101] usbcore: registered new interface driver hub
    [    0.280197] usbcore: registered new device driver usb
    [    0.280602] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
    [    0.280718] media: Linux media interface: v0.10
    [    0.280769] Linux video capture interface: v2.00
    [    0.280812] pps_core: LinuxPPS API ver. 1 registered
    [    0.280819] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.280841] PTP clock support registered
    [    0.280887] EDAC MC: Ver: 3.0.0
    [    0.281898] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.282187] Advanced Linux Sound Architecture Driver Initialized.
    [    0.282800] Bluetooth: Core ver 2.21
    [    0.282851] NET: Registered protocol family 31
    [    0.282858] Bluetooth: HCI device and connection manager initialized
    [    0.282874] Bluetooth: HCI socket layer initialized
    [    0.282886] Bluetooth: L2CAP socket layer initialized
    [    0.282910] Bluetooth: SCO socket layer initialized
    [    0.283366] clocksource: Switched to clocksource timer1
    [    0.292475] NET: Registered protocol family 2
    [    0.293160] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.293236] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.293304] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.293464] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [    0.293488] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [    0.293633] NET: Registered protocol family 1
    [    0.293997] RPC: Registered named UNIX socket transport module.
    [    0.294009] RPC: Registered udp transport module.
    [    0.294015] RPC: Registered tcp transport module.
    [    0.294020] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.294909] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.296645] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.303305] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.304254] NFS: Registering the id_resolver key type
    [    0.304323] Key type id_resolver registered
    [    0.304330] Key type id_legacy registered
    [    0.304404] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.308060] bounce: pool size: 64 pages
    [    0.308288] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
    [    0.308307] io scheduler noop registered
    [    0.308317] io scheduler deadline registered
    [    0.308458] io scheduler cfq registered (default)
    [    0.309702] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.311720] backlight supply power not found, using dummy regulator
    [    0.313553] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
    [    0.315750] omap_uart 44e09000.serial: no wakeirq for uart0
    [    0.315941] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0
    [    0.998704] console [ttyO0] enabled
    [    1.002894] omap_uart 48022000.serial: no wakeirq for uart1
    [    1.008992] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 159, base_baud = 3000000) is a OMAP UART1
    [    1.019219] omap_uart 48024000.serial: no wakeirq for uart2
    [    1.025210] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 160, base_baud = 3000000) is a OMAP UART2
    [    1.035393] omap_uart 481a6000.serial: no wakeirq for uart3
    [    1.041352] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 161, base_baud = 3000000) is a OMAP UART3
    [    1.051525] omap_uart 481a8000.serial: no wakeirq for uart4
    [    1.057507] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 162, base_baud = 3000000) is a OMAP UART4
    [    1.067658] omap_uart 481aa000.serial: no wakeirq for uart5
    [    1.073634] 481aa000.serial: ttyO5 at MMIO 0x481aa000 (irq = 163, base_baud = 3000000) is a OMAP UART5
    [    1.084467] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    1.091536] [drm] Initialized drm 1.1.0 20060810
    [    1.097139] ch7055_init
    [    1.380924] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    1.387973] [drm] No driver support for vblank timestamp query.
    [    1.400796] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
    [    1.404696] Console: switching to colour frame buffer device 100x30
    [    1.416542] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
    [    1.423269] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
    [    1.437397] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
    [    1.444464] tilcdc 4830e000.lcdc: fb0:  frame buffer device
    [    1.450313] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
    [    1.465012] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
    [    1.472044] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
    [    1.481266] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
    [    1.488307] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
    [    1.495378] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
    [    1.501500] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
    [    1.513796] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
    [    1.521627] loop: module loaded
    [    1.525447] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.533613] m25p80 spi1.0: found w25q32, expected m25p80
    [    1.539200] m25p80 spi1.0: w25q32 (4096 Kbytes)
    [    1.544016] 1 ofpart partitions found on MTD device spi1.0
    [    1.549807] Creating 1 MTD partitions on "spi1.0":
    [    1.554852] 0x000000000000-0x000000400000 : "BootLoader"
    [    1.562623] libphy: Fixed MDIO Bus: probed
    [    1.623395] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    1.629820] davinci_mdio 4a101000.mdio: detected phy mask ffffff76
    [    1.638024] libphy: 4a101000.mdio: probed
    [    1.642243] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
    [    1.650751] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver unknown
    [    1.659186] davinci_mdio 4a101000.mdio: phy[7]: device 4a101000.mdio:07, driver unknown
    [    1.668372] cpsw 4a100000.ethernet: Detected MACID = 1c:ba:8c:e3:04:e4
    [    1.676200] cpsw 4a100000.ethernet: cpsw: Detected MACID = 1c:ba:8c:e3:04:e6
    [    1.685042] mousedev: PS/2 mouse device common for all mice
    [    1.691459] i2c /dev entries driver
    [    1.696074] Bluetooth: Generic Bluetooth SDIO driver ver 0.1
    [    1.702213] cpuidle: enable-method property 'ti,am3352' found operations
    [    1.710097] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    1.774014] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.782588] NET: Registered protocol family 10
    [    1.788654] sit: IPv6 over IPv4 tunneling driver
    [    1.794374] NET: Registered protocol family 17
    [    1.799192] Bluetooth: RFCOMM TTY layer initialized
    [    1.804449] Bluetooth: RFCOMM socket layer initialized
    [    1.809902] Bluetooth: RFCOMM ver 1.11
    [    1.813870] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    [    1.819437] Bluetooth: BNEP filters: protocol multicast
    [    1.824954] Bluetooth: BNEP socket layer initialized
    [    1.830162] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    [    1.836387] Bluetooth: HIDP socket layer initialized
    [    1.841907] Key type dns_resolver registered
    [    1.846582] omap_voltage_late_init: Voltage driver support not added
    [    1.873741] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.931435] rtc-s35390a 0-0030: rtc core: registered rtc-s35390a as rtc0
    [    1.953181] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost flood detected, disabling the interrupt
    [    2.073381] adv-wdt-i2c 0-0029: Advantech Watchdog Timer enabled. timeout=60s (nowayout=0), Ver.17
    [    2.084615] pca953x 0-0022: interrupt support not compiled in
    [    2.097406] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 100 kHz
    [    2.104038] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    2.109270] vmmc: supplied by vbat
    [    2.263682] vdd_mpu: supplied by vbat
    [    2.269903] rtc-s35390a 0-0030: setting system clock to 2018-04-11 05:50:59 UTC (1523425859)
    [    2.288877] lis3_reg: disabling
    [    2.292799] ALSA device list:
    [    2.296064]   No soundcards found.
    [    2.300073] VFS: PARTUUID= is invalid.
    [    2.300073] Expected PARTUUID=<valid-uuid-id>[/PARTNROFF=%d]
    [    2.310040] Disabling rootwait; root= is invalid.
    [    2.315186] VFS: Cannot open root device "PARTUUID=" or unknown-block(0,0): error -6
    [    2.323346] Please append a correct "root=" boot option; here are the available partitions:
    [    2.332213] 1f00            4096 mtdblock0  (driver?)
    [    2.337627] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    [    2.346299] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    [   48.803375] random: nonblocking pool is initialized
    

  • Here is the message in your kernel boot log:

    > [    0.000000] Kernel command line: console=ttyO0,115200n8 root=PARTUUID= rw rootfstype=ext4 rootwait usbcore.autosuspend=-1

    It misses the uuid for root parameter. I guess it causes the kernel boot failure.

    I am not sure how you added the new parameter I asked. You could just add the following line in your uEnv.txt, which will add the parameter to uboot bootargs.

    optargs='usbcore.autosuspend=-1'

  • Hi Bin:
    Add the parameter to uboot bootargs as you said, now it worked normally.
    Now I have a question:Why this U disk needs to do this?Can it work normally without adding any parameters?
  • Zhengguang,

    There are many code changes from Sitara SDK v6.0 kernel to Processor SDK v3.1.0.6 kernel, but one fundamental change is usb runtime power management - in Sitara SDK v6.0 the usb runtime PM by default is disabled, while it is enabled by default in Processor SDK v3.1.0.6.

    Now if we add this 'usbcore.autosuspend=-1' parameter, it disables the usb runtime PM for Processor SDK v3.1.06 kernel, to make it work in the same way as in the Sitara SDK v6.0.
  • Hi Bin:

    Why does EVM-SK do not need to do this. And EVM-SK worked normally.

  • Zhengguang,

    We first have to get into an deep investigation to understand what causes the mouse reset on your board then we will know why the problem doesn't happen on the SK EVM.

    But in general, it is all about electrical, your board design and layout are the common factors which affects the functions behaviors on different board designs.
  • Hi Bin:
    Thank you very much.
    I'll contact our hardware department to provide relevant information.