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.

USB storage only works if present on Boot

Other Parts Discussed in Thread: OMAP-L138, OMAPL138, DA8XX, TPS2065

I'm using OMAP-L138, Kernel version 3.3.0 (mcsdk), and custom board. If my USB drive is inserted when arm boots, everything works good and usb drive is accessible.

However, if I insert the USB drive after boot is complete, there is no /dev/sdax directory and i get a udevd error instead.

root@arago:~# [ 24.657514] usb 1-1: new high-speed USB device number 2 using musb-hdrc
[ 24.800775] usb 1-1: New USB device found, idVendor=154b, idProduct=005b
[ 24.808806] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 24.816009] usb 1-1: Product: USB 2.0 FD
[ 24.820888] usb 1-1: Manufacturer: PNY Technologies
[ 24.825823] usb 1-1: SerialNumber: AA00000000000575
[ 24.850936] scsi0 : usb-storage 1-1:1.0
[ 35.261666] scsi 0:0:0:0: Direct-Access PNY USB 2.0 FD 1100 PQ: 0 ANSI: 4
[ 35.292982] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 35.311946] sd 0:0:0:0: [sda] 63901440 512-byte logical blocks: (32.7 GB/30.4 GiB)
[ 35.359428] sd 0:0:0:0: [sda] Write Protect is off
[ 35.366147] sd 0:0:0:0: [sda] No Caching mode page present
[ 35.399308] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 35.447868] sd 0:0:0:0: [sda] No Caching mode page present
[ 35.453422] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 35.469913] sda: sda1
[ 35.501162] sd 0:0:0:0: [sda] No Caching mode page present
[ 35.506723] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 35.545873] sd 0:0:0:0: [sda] Attached SCSI removable disk
udevd[499]: worker [517] unexpectedly returned with status 0x0100

udevd[499]: worker [517] failed while handling '/devices/platform/musb-da8xx/musb-hdrc/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/block/sda'

I have attached boot log w/ USB inserted before and after boot so you can see the difference.

1362.KernelBootLogUSBonBoot.txt
Loading UBL

PRU IS RUNNING!!!!
Booting with TI UBL
Device OPP (300MHz, 1.2V)
Booting Catalog Boot Loader
BootMode = SPI 1 Flash
32 bit Address
Copying U-Boot from SPI to 0xC1008000...
 FHB Validated ... Complete
Copying FileSystem from SPI to 0xC1800000...
 FHB Validated ... Complete
Copying uImage from SPI to 0xC3000000...
 FHB Validated ... Complete
All images validated and loaded.

Jumping to entry point at at 0xC1080000...


U-Boot 2012.04.01-svn2297 (Apr 02 2015 - 08:19:38)

DRAM:  64 MiB
WARNING: Caches not enabled
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   DaVinci-EMAC
Hit any key to stop autoboot:  0
## Booting kernel from Legacy Image at c3000000 ...
   Image Name:   Linux-3.3.0
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2124232 Bytes = 2 MiB
   Load Address: c1008000
   Entry Point:  c1008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Linux version 3.3.0 (dan@DWAYER-UBUNTU) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #28 PREEMPT Tue Apr 14 15:47:45 CDT 2015
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: AMSC NGCC board
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
[    0.000000] DaVinci da850/amsc-ngcc/am18x variant 0x1
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 10160
[    0.000000] Kernel command line: mem=40M@0xC1000000 console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0xC1800000,6MB
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 40MB = 40MB total
[    0.000000] Memory: 29944k/29944k available, 11016k 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]     vmalloc : 0xc3000000 - 0xff000000   ( 960 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc2800000   (  40 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc03ed000   (3988 kB)
[    0.000000]       .init : 0xc03ed000 - 0xc0410000   ( 140 kB)
[    0.000000]       .data : 0xc0410000 - 0xc043a5e0   ( 170 kB)
[    0.000000]        .bss : 0xc043a604 - 0xc0458fac   ( 123 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:245
[    0.000000] Console: colour dummy device 80x30
[    0.000290] Calibrating delay loop... 227.32 BogoMIPS (lpj=1136640)
[    0.080050] pid_max: default: 32768 minimum: 301
[    0.080594] Mount-cache hash table entries: 512
[    0.081614] CPU: Testing write buffer coherency: ok
[    0.082273] Setting up static identity map for 0xc12fc200 - 0xc12fc23c
[    0.086270] gpiochip_add: registered GPIOs 0 to 31 on device: DaVinci
[    0.086325] gpiochip_add: registered GPIOs 32 to 63 on device: DaVinci
[    0.086364] gpiochip_add: registered GPIOs 64 to 95 on device: DaVinci
[    0.086402] gpiochip_add: registered GPIOs 96 to 127 on device: DaVinci
[    0.086438] gpiochip_add: registered GPIOs 128 to 143 on device: DaVinci
[    0.086949] DaVinci: 144 gpio irqs
[    0.087898] NET: Registered protocol family 16
[    0.163652] bio: create slab <bio-0> at 0
[    0.169767] SCSI subsystem initialized
[    0.173595] usbcore: registered new interface driver usbfs
[    0.174447] usbcore: registered new interface driver hub
[    0.175418] usbcore: registered new device driver usb
[    0.187117] DMA-API: preallocated 4096 debug entries
[    0.187157] DMA-API: debugging enabled by kernel config
[    0.187231] Switching to clocksource timer0_1
[    0.251191] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[    0.251414] musb-hdrc musb-hdrc: dma type: dma-cppi41
[    0.252321] MUSB255 controller's USBSS revision = 4ea11003
[    0.252360] Waiting for USB PHY clock good...
[    0.268015]
[    0.268024]  MUSB_devinit
[    0.268033]
[    0.268052]
[    0.268061]  MUSB_devinit
[    0.268071]
[    0.268087]
[    0.268095]  MUSB_devinit
[    0.268104]
[    0.268119]
[    0.268126]  MUSB_devinit
[    0.268136]
[    0.268150]
[    0.268158]  MUSB_devinit
[    0.268168]
[    0.268181]
[    0.268189]  MUSB_devinit
[    0.268199]
[    0.268213]
[    0.268221]  MUSB_devinit
[    0.268230]
[    0.268360] musb-hdrc musb-hdrc: MUSB HDRC host driver
[    0.268470] musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
[    0.268863] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.268902] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.268937] usb usb1: Product: MUSB HDRC host driver
[    0.268965] usb usb1: Manufacturer: Linux 3.3.0 musb-hcd
[    0.268994] usb usb1: SerialNumber: musb-hdrc
[    0.271294] hub 1-0:1.0: USB hub found
[    0.271385] hub 1-0:1.0: 1 port detected
[    0.271727]
[    0.271740]  MUSB_START
[    0.271750]
[    0.272308] musb-hdrc musb-hdrc: USB Host mode controller at fee00000 using DMA, IRQ 58
[    0.273689] NET: Registered protocol family 2
[    0.274121] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.274975] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.275110] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.275197] TCP: Hash tables configured (established 2048 bind 2048)
[    0.275227] TCP reno registered
[    0.275264] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.275328] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.275968] NET: Registered protocol family 1
[    0.277191] RPC: Registered named UNIX socket transport module.
[    0.277238] RPC: Registered udp transport module.
[    0.277267] RPC: Registered tcp transport module.
[    0.277497] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.278157] Trying to unpack rootfs image as initramfs...
[    0.280702] rootfs image is not initramfs (no cpio magic); looks like an initrd
[    0.376724] Freeing initrd memory: 6144K
[    0.462192] JFFS2 version 2.2. (NAND) � 2001-2006 Red Hat, Inc.
[    0.469243] io scheduler noop registered (default)
[    0.483397] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.488109] serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a AR7
[    1.004336] console [ttyS0] enabled
[    1.009610] serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a AR7
[    1.017975] serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a AR7
[    1.028688] brd: module loaded
[    1.038192] st: Version 20101219, fixed bufsize 32768, s/g segs 256
[    1.045917] osst :I: Tape driver with OnStream support version 0.99.4
[    1.045947] osst :I: $Id: osst.c,v 1.73 2005/01/01 21:13:34 wriede Exp $
[    1.063593] SCSI Media Changer driver v0.25
[    1.075379] spi_davinci spi_davinci.1: DMA: supported
[    1.081043] spi_davinci spi_davinci.1: DMA: RX channel: 18, TX channel: 19, event queue: 0
[    1.091483] m25p80 spi1.0: unrecognized id n25q256
[    1.096482] ------------[ cut here ]------------
[    1.101178] WARNING: at lib/dma-debug.c:866 check_unmap+0x188/0x704()
[    1.107666] NULL NULL: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x00000000c304b340] [size=1 bytes]
[    1.120500] Modules linked in:
[    1.123573] Backtrace:
[    1.126095] [<c000c140>] (dump_backtrace+0x0/0x110) from [<c02f98d8>] (dump_stack+0x18/0x1c)
[    1.134580]  r6:c03a252d r5:00000362 r4:c203bdd8 r3:c041aac0
[    1.140350] [<c02f98c0>] (dump_stack+0x0/0x1c) from [<c0017560>] (warn_slowpath_common+0x54/0x6c)
[    1.149301] [<c001750c>] (warn_slowpath_common+0x0/0x6c) from [<c001761c>] (warn_slowpath_fmt+0x38/0x40)
[    1.158827]  r8:00000001 r7:00000001 r6:00000000 r5:00000000 r4:c203be40
[    1.165421] r3:00000009
[    1.168087] [<c00175e4>] (warn_slowpath_fmt+0x0/0x40) from [<c0197e10>] (check_unmap+0x188/0x704)
[    1.177001]  r3:c03c94dd r2:c03a2a4f
[    1.180635] [<c0197c88>] (check_unmap+0x0/0x704) from [<c0198464>] (debug_dma_unmap_page+0x6c/0x78)
[    1.189724]  r5:c304b340 r4:00000001
[    1.193375] [<c01983f8>] (debug_dma_unmap_page+0x0/0x78) from [<c020b914>] (davinci_spi_bufs+0x558/0x7fc)
[    1.202991]  r8:00000021 r7:c304b340 r6:00000000 r5:c2029b7c r4:c1bbfee0
[    1.209799] [<c020b3bc>] (davinci_spi_bufs+0x0/0x7fc) from [<c020ab3c>] (bitbang_work+0x168/0x2c0)
[    1.218834] [<c020a9d4>] (bitbang_work+0x0/0x2c0) from [<c002c164>] (process_one_work+0x234/0x398)
[    1.227866] [<c002bf30>] (process_one_work+0x0/0x398) from [<c002e700>] (worker_thread+0x200/0x33c)
[    1.236992] [<c002e500>] (worker_thread+0x0/0x33c) from [<c00323a8>] (kthread+0x94/0xa0)
[    1.245165] [<c0032314>] (kthread+0x0/0xa0) from [<c001aa0c>] (do_exit+0x0/0x6f8)
[    1.252686]  r6:c001aa0c r5:c0032314 r4:c2029f08
[    1.257424] ---[ end trace c63a4532fdc1786f ]---
[    1.262664] m25p80 spi1.0: found n25q256a, expected m25p80
[    1.268590] m25p80 spi1.0: n25q256a (32768 Kbytes)
[    1.274838] Creating 15 MTD partitions on "m25p80":
[    1.280040] 0x000000000000-0x000000040000 : "Stage1"
[    1.289526] 0x000000040000-0x000000140000 : "Stage2"
[    1.299293] 0x000000140000-0x000000180000 : "NVRAM"
[    1.308587] 0x000000180000-0x0000001c0000 : "Mfg Dflts"
[    1.318339] 0x0000001c0000-0x000000200000 : "Params"
[    1.327839] 0x000000200000-0x000000300000 : "Stage3"
[    1.337129] 0x000000300000-0x000000500000 : "FPGA"
[    1.346538] 0x000000500000-0x000000900000 : "TestAppDSP"
[    1.356524] 0x000000900000-0x000000d00000 : "AppDSP"
[    1.366289] 0x000000d00000-0x000000d40000 : "TestAppParams"
[    1.376542] 0x000000d40000-0x000000d80000 : "UBL"
[    1.385935] 0x000000d80000-0x000000e80000 : "U-boot"
[    1.395522] 0x000000e80000-0x000001280000 : "UImage"
[    1.405272] 0x000001280000-0x000001880000 : "LinuxInitFS"
[    1.415416] 0x000001880000-0x000001c80000 : "LinuxUserFS"
[    1.421218] usb 1-1: new high-speed USB device number 2 using musb-hdrc
[    1.433326] spi_davinci spi_davinci.1: Controller at 0xfef0e000
[    1.447081] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.455270] usbcore: registered new interface driver uas
[    1.460953] Initializing USB Mass Storage driver...
[    1.466687] usbcore: registered new interface driver usb-storage
[    1.473017] USB Mass Storage support registered.
[    1.477794] i2c /dev entries driver
[    1.482287] TCP cubic registered
[    1.485570] NET: Registered protocol family 17
[    1.494104] console [netcon0] enabled
[    1.498132] netconsole: network logging started
[    1.504539] RAMDISK: gzip image found at block 0
[    1.570675] usb 1-1: New USB device found, idVendor=154b, idProduct=005b
[    1.587453] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.594654] usb 1-1: Product: USB 2.0 FD
[    1.607439] usb 1-1: Manufacturer: PNY Technologies
[    1.612378] usb 1-1: SerialNumber: AA00000000000575
[    1.639140] scsi0 : usb-storage 1-1:1.0
[    3.298281] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    3.304870] Freeing init memory: 140K
INIT: version 2.86 booting
Please wait: booting...
Starting udev
WARNING: -e needs -E or -F
[    6.307994] DMA-API: debugging out of memory - disabling
Remounting root file system...
Caching udev devnodes
Populating dev cache
root: mount: mounting rootfs on / failed: No such file or directory
root: mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
done.
Setting up IP spoofing protection: rp_filter.
hwclock: can't open '/dev/misc/rtc': No such file or directory
Tue Aug  5 19:16:00 UTC 2014
hwclock: can't open '/dev/misc/rtc': No such file or directory
INIT: Entering runlevel: 5
Starting telnet daemon.
Starting syslogd/klogd: done
Copying userfs from /dev/mtd14 to /usr/userfs.tar.gz...  Attempting to open /dev/mtd14 device!
File access to /dev/mtd14 created!
Attempting to open /usr/userfs.tar.gz !
/usr/userfs.tar.gz created!
Attempting to read /dev/mtd14 !
Read from /dev/mtd14 succeeded !
magic: 0x42484641
infoBlockOffset: 0x0000468A
infoBlockLength: 0x00000410
infoBlockSignature: 0x4017096D
imageOffset: 0x00000020
imageLength: 0x0000466A
imageSignature: 0x5BEE4049
fhbSignature: 0xC351301C
FHB Magic Number correct
FHB CRC correct
FHB read successfully
Program image copied successfully!
Image CRC correct
Program image read successfully
Closing file: /usr/userfs.tar.gz !
Closing file: /dev/mtd14 !
Complete.

User Application Starting...
Hello World, from the user application!
User Application Complete...

[   12.020638] scsi 0:0:0:0: Direct-Access     PNY      USB 2.0 FD       1100 PQ: 0 ANSI: 4
[   12.049673] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   12.077019] sd 0:0:0:0: [sda] 63901440 512-byte logical blocks: (32.7 GB/30.4 GiB)
[   12.103071] sd 0:0:0:0: [sda] Write Protect is off
[   12.127535] sd 0:0:0:0: [sda] No Caching mode page present
[   12.133086] sd 0:0:0:0: [sda] Assuming drive cache: write through
[   12.196622] sd 0:0:0:0: [sda] No Caching mode page present
[   12.207487] sd 0:0:0:0: [sda] Assuming drive cache: write through
[   12.227536]  sda: sda1
[   12.259682] sd 0:0:0:0: [sda] No Caching mode page present
[   12.265223] sd 0:0:0:0: [sda] Assuming drive cache: write through
[   12.297514] sd 0:0:0:0: [sda] Attached SCSI removable disk

 _____                    _____           _         _
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
              |___|                    |___|

Arago Project http://arago-project.org arago ttyS0

Arago 2011.09 arago ttyS0

arago login: root
login[791]: root login  on `ttyS0'

root@arago:~# ls /dev
autofs      mtd2ro      mtdblock8   tty11       tty37       tty62
block       mtd3        mtdblock9   tty12       tty38       tty63
bus         mtd3ro      null        tty13       tty39       tty7
char        mtd4        pktcdvd     tty14       tty4        tty8
console     mtd4ro      ptmx        tty15       tty40       tty9
disk        mtd5        pts         tty16       tty41       ttyS0
fd          mtd5ro      ptyp0       tty17       tty42       ttyS1
full        mtd6        ptyp1       tty18       tty43       ttyS2
initctl     mtd6ro      ptyp2       tty19       tty44       ttyp0
kmem        mtd7        ptyp3       tty2        tty45       ttyp1
kmsg        mtd7ro      ptyp4       tty20       tty46       ttyp2
log         mtd8        ptyp5       tty21       tty47       ttyp3
mem         mtd8ro      ptyp6       tty22       tty48       ttyp4
mtd0        mtd9        ptyp7       tty23       tty49       ttyp5
mtd0ro      mtd9ro      ram0        tty24       tty5        ttyp6
mtd1        mtdblock0   random      tty25       tty50       ttyp7
mtd10       mtdblock1   sda         tty26       tty51       ubi_ctrl
mtd10ro     mtdblock10  sda1        tty27       tty52       urandom
mtd11       mtdblock11  sg0         tty28       tty53       vcs
mtd11ro     mtdblock12  shm         tty29       tty54       vcs1
mtd12       mtdblock13  stderr      tty3        tty55       vcsa
mtd12ro     mtdblock14  stdin       tty30       tty56       vcsa1
mtd13       mtdblock2   stdout      tty31       tty57       zero
mtd13ro     mtdblock3   tgt         tty32       tty58
mtd14       mtdblock4   tty         tty33       tty59
mtd14ro     mtdblock5   tty0        tty34       tty6
mtd1ro      mtdblock6   tty1        tty35       tty60
mtd2        mtdblock7   tty10       tty36       tty61
root@arago:~#

8270.KernelBootLogUSBafterBoot.txt
Loading UBL

PRU IS RUNNING!!!!
Booting with TI UBL
Device OPP (300MHz, 1.2V)
Booting Catalog Boot Loader
BootMode = SPI 1 Flash
32 bit Address
Copying U-Boot from SPI to 0xC1008000...
 FHB Validated ... Complete
Copying FileSystem from SPI to 0xC1800000...
 FHB Validated ... Complete
Copying uImage from SPI to 0xC3000000...
 FHB Validated ... Complete
All images validated and loaded.

Jumping to entry point at at 0xC1080000...


U-Boot 2012.04.01-svn2297 (Apr 02 2015 - 08:19:38)

DRAM:  64 MiB
WARNING: Caches not enabled
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   DaVinci-EMAC
Hit any key to stop autoboot:  0
## Booting kernel from Legacy Image at c3000000 ...
   Image Name:   Linux-3.3.0
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2124232 Bytes = 2 MiB
   Load Address: c1008000
   Entry Point:  c1008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Linux version 3.3.0 (dan@DWAYER-UBUNTU) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #28 PREEMPT Tue Apr 14 15:47:45 CDT 2015
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: AMSC NGCC board
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
[    0.000000] DaVinci da850/amsc-ngcc/am18x variant 0x1
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 10160
[    0.000000] Kernel command line: mem=40M@0xC1000000 console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0xC1800000,6MB
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 40MB = 40MB total
[    0.000000] Memory: 29944k/29944k available, 11016k 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]     vmalloc : 0xc3000000 - 0xff000000   ( 960 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc2800000   (  40 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc03ed000   (3988 kB)
[    0.000000]       .init : 0xc03ed000 - 0xc0410000   ( 140 kB)
[    0.000000]       .data : 0xc0410000 - 0xc043a5e0   ( 170 kB)
[    0.000000]        .bss : 0xc043a604 - 0xc0458fac   ( 123 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:245
[    0.000000] Console: colour dummy device 80x30
[    0.000290] Calibrating delay loop... 227.32 BogoMIPS (lpj=1136640)
[    0.080050] pid_max: default: 32768 minimum: 301
[    0.080593] Mount-cache hash table entries: 512
[    0.081615] CPU: Testing write buffer coherency: ok
[    0.082272] Setting up static identity map for 0xc12fc200 - 0xc12fc23c
[    0.086269] gpiochip_add: registered GPIOs 0 to 31 on device: DaVinci
[    0.086323] gpiochip_add: registered GPIOs 32 to 63 on device: DaVinci
[    0.086362] gpiochip_add: registered GPIOs 64 to 95 on device: DaVinci
[    0.086400] gpiochip_add: registered GPIOs 96 to 127 on device: DaVinci
[    0.086436] gpiochip_add: registered GPIOs 128 to 143 on device: DaVinci
[    0.086947] DaVinci: 144 gpio irqs
[    0.087896] NET: Registered protocol family 16
[    0.163729] bio: create slab <bio-0> at 0
[    0.169793] SCSI subsystem initialized
[    0.173622] usbcore: registered new interface driver usbfs
[    0.174479] usbcore: registered new interface driver hub
[    0.175446] usbcore: registered new device driver usb
[    0.187162] DMA-API: preallocated 4096 debug entries
[    0.187203] DMA-API: debugging enabled by kernel config
[    0.187276] Switching to clocksource timer0_1
[    0.251213] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[    0.251436] musb-hdrc musb-hdrc: dma type: dma-cppi41
[    0.252342] MUSB255 controller's USBSS revision = 4ea11003
[    0.252380] Waiting for USB PHY clock good...
[    0.268058]
[    0.268066]  MUSB_devinit
[    0.268076]
[    0.268095]
[    0.268105]  MUSB_devinit
[    0.268114]
[    0.268130]
[    0.268138]  MUSB_devinit
[    0.268149]
[    0.268163]
[    0.268170]  MUSB_devinit
[    0.268180]
[    0.268195]
[    0.268203]  MUSB_devinit
[    0.268213]
[    0.268226]
[    0.268234]  MUSB_devinit
[    0.268244]
[    0.268258]
[    0.268266]  MUSB_devinit
[    0.268275]
[    0.268407] musb-hdrc musb-hdrc: MUSB HDRC host driver
[    0.268523] musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
[    0.268920] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.268959] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.268995] usb usb1: Product: MUSB HDRC host driver
[    0.269024] usb usb1: Manufacturer: Linux 3.3.0 musb-hcd
[    0.269053] usb usb1: SerialNumber: musb-hdrc
[    0.271339] hub 1-0:1.0: USB hub found
[    0.271435] hub 1-0:1.0: 1 port detected
[    0.271783]
[    0.271796]  MUSB_START
[    0.271806]
[    0.272367] musb-hdrc musb-hdrc: USB Host mode controller at fee00000 using DMA, IRQ 58
[    0.273741] NET: Registered protocol family 2
[    0.274174] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.275047] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.275182] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.275270] TCP: Hash tables configured (established 2048 bind 2048)
[    0.275301] TCP reno registered
[    0.275340] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.275408] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.276050] NET: Registered protocol family 1
[    0.277266] RPC: Registered named UNIX socket transport module.
[    0.277316] RPC: Registered udp transport module.
[    0.277546] RPC: Registered tcp transport module.
[    0.277586] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.278236] Trying to unpack rootfs image as initramfs...
[    0.280770] rootfs image is not initramfs (no cpio magic); looks like an initrd
[    0.376726] Freeing initrd memory: 6144K
[    0.462126] JFFS2 version 2.2. (NAND) � 2001-2006 Red Hat, Inc.
[    0.469178] io scheduler noop registered (default)
[    0.483370] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.488085] serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a AR7
[    1.003917] console [ttyS0] enabled
[    1.009188] serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a AR7
[    1.017552] serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a AR7
[    1.028272] brd: module loaded
[    1.037729] st: Version 20101219, fixed bufsize 32768, s/g segs 256
[    1.045468] osst :I: Tape driver with OnStream support version 0.99.4
[    1.045498] osst :I: $Id: osst.c,v 1.73 2005/01/01 21:13:34 wriede Exp $
[    1.063165] SCSI Media Changer driver v0.25
[    1.074968] spi_davinci spi_davinci.1: DMA: supported
[    1.080543] spi_davinci spi_davinci.1: DMA: RX channel: 18, TX channel: 19, event queue: 0
[    1.090966] m25p80 spi1.0: unrecognized id n25q256
[    1.095968] ------------[ cut here ]------------
[    1.100666] WARNING: at lib/dma-debug.c:866 check_unmap+0x188/0x704()
[    1.107156] NULL NULL: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x00000000c304b340] [size=1 bytes]
[    1.119990] Modules linked in:
[    1.123064] Backtrace:
[    1.125586] [<c000c140>] (dump_backtrace+0x0/0x110) from [<c02f98d8>] (dump_stack+0x18/0x1c)
[    1.134070]  r6:c03a252d r5:00000362 r4:c203bdd8 r3:c041aac0
[    1.139842] [<c02f98c0>] (dump_stack+0x0/0x1c) from [<c0017560>] (warn_slowpath_common+0x54/0x6c)
[    1.148792] [<c001750c>] (warn_slowpath_common+0x0/0x6c) from [<c001761c>] (warn_slowpath_fmt+0x38/0x40)
[    1.158316]  r8:00000001 r7:00000001 r6:00000000 r5:00000000 r4:c203be40
[    1.164911] r3:00000009
[    1.167580] [<c00175e4>] (warn_slowpath_fmt+0x0/0x40) from [<c0197e10>] (check_unmap+0x188/0x704)
[    1.176496]  r3:c03c94dd r2:c03a2a4f
[    1.180126] [<c0197c88>] (check_unmap+0x0/0x704) from [<c0198464>] (debug_dma_unmap_page+0x6c/0x78)
[    1.189216]  r5:c304b340 r4:00000001
[    1.192866] [<c01983f8>] (debug_dma_unmap_page+0x0/0x78) from [<c020b914>] (davinci_spi_bufs+0x558/0x7fc)
[    1.202482]  r8:00000021 r7:c304b340 r6:00000000 r5:c2029b7c r4:c1bbdee0
[    1.209290] [<c020b3bc>] (davinci_spi_bufs+0x0/0x7fc) from [<c020ab3c>] (bitbang_work+0x168/0x2c0)
[    1.218325] [<c020a9d4>] (bitbang_work+0x0/0x2c0) from [<c002c164>] (process_one_work+0x234/0x398)
[    1.227356] [<c002bf30>] (process_one_work+0x0/0x398) from [<c002e700>] (worker_thread+0x200/0x33c)
[    1.236478] [<c002e500>] (worker_thread+0x0/0x33c) from [<c00323a8>] (kthread+0x94/0xa0)
[    1.244648] [<c0032314>] (kthread+0x0/0xa0) from [<c001aa0c>] (do_exit+0x0/0x6f8)
[    1.252169]  r6:c001aa0c r5:c0032314 r4:c2029f08
[    1.256911] ---[ end trace f8e904209e598348 ]---
[    1.262053] m25p80 spi1.0: found n25q256a, expected m25p80
[    1.267976] m25p80 spi1.0: n25q256a (32768 Kbytes)
[    1.274231] Creating 15 MTD partitions on "m25p80":
[    1.279425] 0x000000000000-0x000000040000 : "Stage1"
[    1.288921] 0x000000040000-0x000000140000 : "Stage2"
[    1.298431] 0x000000140000-0x000000180000 : "NVRAM"
[    1.307778] 0x000000180000-0x0000001c0000 : "Mfg Dflts"
[    1.317219] 0x0000001c0000-0x000000200000 : "Params"
[    1.326744] 0x000000200000-0x000000300000 : "Stage3"
[    1.336300] 0x000000300000-0x000000500000 : "FPGA"
[    1.345706] 0x000000500000-0x000000900000 : "TestAppDSP"
[    1.355707] 0x000000900000-0x000000d00000 : "AppDSP"
[    1.365358] 0x000000d00000-0x000000d40000 : "TestAppParams"
[    1.375594] 0x000000d40000-0x000000d80000 : "UBL"
[    1.384982] 0x000000d80000-0x000000e80000 : "U-boot"
[    1.394565] 0x000000e80000-0x000001280000 : "UImage"
[    1.404280] 0x000001280000-0x000001880000 : "LinuxInitFS"
[    1.414415] 0x000001880000-0x000001c80000 : "LinuxUserFS"
[    1.424642] spi_davinci spi_davinci.1: Controller at 0xfef0e000
[    1.438739] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.446473] usbcore: registered new interface driver uas
[    1.452184] Initializing USB Mass Storage driver...
[    1.458084] usbcore: registered new interface driver usb-storage
[    1.464146] USB Mass Storage support registered.
[    1.469028] i2c /dev entries driver
[    1.473520] TCP cubic registered
[    1.476805] NET: Registered protocol family 17
[    1.485216] console [netcon0] enabled
[    1.489255] netconsole: network logging started
[    1.495656] RAMDISK: gzip image found at block 0
[    3.238367] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    3.244954] Freeing init memory: 140K
INIT: version 2.86 booting
Please wait: booting...
Starting udev
WARNING: -e needs -E or -F
[    6.143184] DMA-API: debugging out of memory - disabling
Remounting root file system...
Caching udev devnodes
Populating dev cache
root: mount: mounting rootfs on / failed: No such file or directory
root: mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
done.
Setting up IP spoofing protection: rp_filter.
hwclock: can't open '/dev/misc/rtc': No such file or directory
Tue Aug  5 19:16:00 UTC 2014
hwclock: can't open '/dev/misc/rtc': No such file or directory
INIT: Entering runlevel: 5
Starting telnet daemon.
Starting syslogd/klogd: done
Copying userfs from /dev/mtd14 to /usr/userfs.tar.gz...  Attempting to open /dev/mtd14 device!
File access to /dev/mtd14 created!
Attempting to open /usr/userfs.tar.gz !
/usr/userfs.tar.gz created!
Attempting to read /dev/mtd14 !
Read from /dev/mtd14 succeeded !
magic: 0x42484641
infoBlockOffset: 0x0000468A
infoBlockLength: 0x00000410
infoBlockSignature: 0x4017096D
imageOffset: 0x00000020
imageLength: 0x0000466A
imageSignature: 0x5BEE4049
fhbSignature: 0xC351301C
FHB Magic Number correct
FHB CRC correct
FHB read successfully
Program image copied successfully!
Image CRC correct
Program image read successfully
Closing file: /usr/userfs.tar.gz !
Closing file: /dev/mtd14 !
Complete.

User Application Starting...
Hello World, from the user application!
User Application Complete...


 _____                    _____           _         _
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
              |___|                    |___|

Arago Project http://arago-project.org arago ttyS0

Arago 2011.09 arago ttyS0

arago login: root
login[778]: root login  on `ttyS0'

root@arago:~# [   24.657514] usb 1-1: new high-speed USB device number 2 using musb-hdrc
[   24.800775] usb 1-1: New USB device found, idVendor=154b, idProduct=005b
[   24.808806] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   24.816009] usb 1-1: Product: USB 2.0 FD
[   24.820888] usb 1-1: Manufacturer: PNY Technologies
[   24.825823] usb 1-1: SerialNumber: AA00000000000575
[   24.850936] scsi0 : usb-storage 1-1:1.0
[   35.261666] scsi 0:0:0:0: Direct-Access     PNY      USB 2.0 FD       1100 PQ: 0 ANSI: 4
[   35.292982] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   35.311946] sd 0:0:0:0: [sda] 63901440 512-byte logical blocks: (32.7 GB/30.4 GiB)
[   35.359428] sd 0:0:0:0: [sda] Write Protect is off
[   35.366147] sd 0:0:0:0: [sda] No Caching mode page present
[   35.399308] sd 0:0:0:0: [sda] Assuming drive cache: write through
[   35.447868] sd 0:0:0:0: [sda] No Caching mode page present
[   35.453422] sd 0:0:0:0: [sda] Assuming drive cache: write through
[   35.469913]  sda: sda1
[   35.501162] sd 0:0:0:0: [sda] No Caching mode page present
[   35.506723] sd 0:0:0:0: [sda] Assuming drive cache: write through
[   35.545873] sd 0:0:0:0: [sda] Attached SCSI removable disk
udevd[499]: worker [517] unexpectedly returned with status 0x0100

udevd[499]: worker [517] failed while handling '/devices/platform/musb-da8xx/musb-hdrc/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/block/sda'


root@arago:~# ls /dev
autofs      mtd2ro      mtdblock7   tty11       tty36       tty60
block       mtd3        mtdblock8   tty12       tty37       tty61
bus         mtd3ro      mtdblock9   tty13       tty38       tty62
char        mtd4        null        tty14       tty39       tty63
console     mtd4ro      pktcdvd     tty15       tty4        tty7
fd          mtd5        ptmx        tty16       tty40       tty8
full        mtd5ro      pts         tty17       tty41       tty9
initctl     mtd6        ptyp0       tty18       tty42       ttyS0
kmem        mtd6ro      ptyp1       tty19       tty43       ttyS1
kmsg        mtd7        ptyp2       tty2        tty44       ttyS2
log         mtd7ro      ptyp3       tty20       tty45       ttyp0
mem         mtd8        ptyp4       tty21       tty46       ttyp1
mtd0        mtd8ro      ptyp5       tty22       tty47       ttyp2
mtd0ro      mtd9        ptyp6       tty23       tty48       ttyp3
mtd1        mtd9ro      ptyp7       tty24       tty49       ttyp4
mtd10       mtdblock0   ram0        tty25       tty5        ttyp5
mtd10ro     mtdblock1   random      tty26       tty50       ttyp6
mtd11       mtdblock10  sg0         tty27       tty51       ttyp7
mtd11ro     mtdblock11  shm         tty28       tty52       ubi_ctrl
mtd12       mtdblock12  stderr      tty29       tty53       urandom
mtd12ro     mtdblock13  stdin       tty3        tty54       vcs
mtd13       mtdblock14  stdout      tty30       tty55       vcs1
mtd13ro     mtdblock2   tgt         tty31       tty56       vcsa
mtd14       mtdblock3   tty         tty32       tty57       vcsa1
mtd14ro     mtdblock4   tty0        tty33       tty58       zero
mtd1ro      mtdblock5   tty1        tty34       tty59
mtd2        mtdblock6   tty10       tty35       tty6
root@arago:~#

  • Hi,
    Did you change anything related to USB code (board file) and any USB hw changes on your custom board ?
    Try to restart the udev daemon.
  • I tried to restart udev with '#udevadm trigger' and after a about 2 minutes i get more udev errors....

    root@arago:~# udevadm trigger
    root@arago:~# udevd[475]: worker [780] unexpectedly returned with status 0x0100

    udevd[475]: worker [780] failed while handling '/devices/virtual/block/ram0'

    udevd[475]: worker [779] unexpectedly returned with status 0x0100

    udevd[475]: worker [779] failed while handling '/devices/platform/musb-da8xx/musb-hdrc/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/block/sda'

    I had to change the board file USB code because the EVM board uses USB1+GPIO for its host port. Our custom board uses only USB0 PHY and its dedicated pins.

    I call the same function as the EVM, however I removed the last two lines because i don't want to enable USB1.
    static __init void omapl138_lcdk_usb_init(void)
    {
    u32 cfgchip2;
    int ret;

    /* Setup the Ref. clock frequency for the LCDK at 24 MHz. */

    cfgchip2 = __raw_readl(DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
    cfgchip2 &= ~CFGCHIP2_REFFREQ;
    cfgchip2 |= CFGCHIP2_REFFREQ_24MHZ;

    /*
    * Select internal reference clock for USB 2.0 PHY
    * and use it as a clock source for USB 1.1 PHY
    * (this is the default setting anyway).
    */
    cfgchip2 &= ~CFGCHIP2_USB1PHYCLKMUX;
    cfgchip2 |= CFGCHIP2_USB2PHYCLKMUX;

    /*
    * We have to override VBUS/ID signals when MUSB is configured into the
    * host-only mode -- ID pin will float if no cable is connected, so the
    * controller won't be able to drive VBUS thinking that it's a B-device.
    * Otherwise, we want to use the OTG mode and enable VBUS comparators.
    */
    cfgchip2 &= ~CFGCHIP2_OTGMODE;
    cfgchip2 |= CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN;

    /*
    * TPS2065 switch @ 5V supplies 1 A (sustains 1.5 A),
    * with the power on to power good time of 3 ms.
    */
    ret = da8xx_register_usb20(1000, 3);
    if (ret)
    pr_warn("%s: USB 2.0 registration failed: %d\n",
    __func__, ret);

    __raw_writel(cfgchip2, DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));

    if (HAS_OHCI)
    da8xx_board_usb_init(da850_lcdk_usb11_pins,
    &omapl138_lcdk_usb11_pdata);

    return;
    }

    I also modified the  struct musb_hdrc_platform_data usb_data struct to force host operation of the musb driver (see below);

    static struct musb_hdrc_platform_data usb_data = {
    /* OTG requires a Mini-AB connector */
    // .mode = MUSB_OTG,
    .mode = MUSB_HOST,
    .clock = "usb",
    .config = &musb_config,
    };

    Again, if the ARM boots with the USB drive inserted, all works well. I only see the problem when inserting the drive after boot.

  • Hi Daniel

    By any chance, if you have the TI EVM / LOGIC PD/ SDI EVM of OMAPL138, Please do the same testing.

    If it get passed, you can compare them with your custom board and find the root cause of the problem.

    I remember that, we have done these testings on SDI / OMAPl138 LCDK boards and it worked as expected.

    Regards,

    Shankari

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------