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.

Strange USB Kernel Build Problem OMAP-L137

Other Parts Discussed in Thread: DA8XX

This one doesn't make much sense but see if anyone has any ideas.  Am running Ubuntu under VmWare Windows.  Have an environment which was working fine for buiding kernels, then integrated DSPLink and GDB 6.8.  Things were fine until I went back and decided to build the kernel again and now can't mount root from USB pen drive anymore.  Even if use default TI configuration with USB/SCSI enabled.  To confirm I went to a backup Ubuntu VMWare image, and built, tested, fine, thus took that .config file to the problem installation figuring I was just missing something in xconfig.  Did a distclean, copied good .config file in, built, USB booting still won't work, see's the pen drive information and partition size.

Thought possibly USB pen drive roached so used the uImage from backup Ubuntu (prior to gdb and DSPLink) and same .config, boots fine.  Thus pen drive is fine.

Get's worse, figure something in kernel code is roached so extracted baseline linux-2.6.18_pro500 and used working .config, rebuilt...  USB same problem...  Saved off /opt/montavista and re-installed (removed any extra exports in .bashrc), rebuilt...  USB still not mounting root.  I can go back to backup Ubuntu and do the gdb and DSPLink again but may end up where am at now so would rather understand...  enabled debug messages for USB as well and didn't see anything.  Below is booting information if someone can see anything that knows area better than I.  Tried both low latency and PREEMPT builds (which is what I was using), but same issue.

What is weird is it can see the 16G pen drive enough to get below info and partition size?  Was wondering if with the additions of gdb/DSPLink caused a timing problem but I backed them out and still issue, almost like something is being picked up in the build that shouldn't be:

  Vendor: Kingston  Model: DataTraveler G2   Rev: 1.00
  Type:   Direct-Access                      ANSI SCSI revision: 02
SCSI device sda: 31367168 512-byte hdwr sectors (16060 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 31367168 512-byte hdwr sectors (16060 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
 sda: sda1 sda2
sd 0:0:0:0: Attached scsi removable disk sda   <----------- hangs here for a while then tries NFS due to failure

Good uImage that was also a new build (same .config) is below:

Switched to high resolution mode on CPU 0
Sending DHCP requests ..<5>  Vendor: Kingston  Model: DataTraveler G2   Rev: 1.00
  Type:   Direct-Access                      ANSI SCSI revision: 02
SCSI device sda: 31367168 512-byte hdwr sectors (16060 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 31367168 512-byte hdwr sectors (16060 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
 sda: sda1 sda2
sd 0:0:0:0: Attached scsi removable disk sda
., OK
IP-Config: Got DHCP answer from 0.0.0.0, my address is 12.40.53.62
IP-Config: Complete:
      device=eth0, addr=12.40.53.62, mask=255.255.255.0, gw=12.40.53.46,
     host=12.40.53.62, domain=ctc-control.com, nis-domain=(none),
     bootserver=0.0.0.0, rootserver=0.0.0.0, rootpath=
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 180K
INIT: version 2.86 booting
Starting the hotplug events dispatcher: udevd.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Activating swap...done.
Remounting root filesystem...done.

Bad uImage more boot information below:

SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NET: Registered protocol family 2
IP route cache hash table entries: 256 (order: -2, 1024 bytes)
TCP established hash table entries: 1024 (order: 3, 32768 bytes)
TCP bind hash table entries: 512 (order: 1, 14336 bytes)
TCP: Hash tables configured (established 1024 bind 512)
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
squashfs: version 3.1 (2006/08/19) Phillip Lougher
JFFS version 1.0, (C) 1999, 2000  Axis Communications AB
JFFS2 version 2.2. (NAND) (SUMMARY)  (C) 2001-2006 Red Hat, Inc.
yaffs Jun 25 2009 10:58:36 Installing.
SGI XFS with no debug enabled
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
LTT : ltt-facilities init
LTT : ltt-facility-core init in kernel
DAVINCI-WDT: DaVinci Watchdog Timer: heartbeat 60 sec
Serial: 8250/16550 driver $Revision: 1.90 $ 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO map 0x1c42000 mem 0xfec42000 (irq = 25) is a 16550A
serial8250.0: ttyS1 at MMIO map 0x1c20400 mem 0xfed0c000 (irq = 53) is a 16550A
serial8250.0: ttyS2 at MMIO map 0x1d0d000 mem 0xfed0d000 (irq = 61) is a 16550A
RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
Davinci EMAC MII Bus: probed
MAC address is 00:0e:99:02:f2:a8
TI DaVinci EMAC Linux version updated 4.0
i2c /dev entries driver
Creating 3 MTD partitions on "Windbond spi nand flash":
0x00000000-0x00040000 : "U-Boot"
0x00040000-0x00044000 : "U-Boot Environment"
0x00044000-0x00400000 : "Linux"
dm_spi.0: davinci SPI Controller driver at 0xc285c000 (irq = 20) use_dma=1
dm_spi.1: davinci SPI Controller driver at 0xc285e000 (irq = 56) use_dma=1
ohci ohci.0: DA8xx OHCI
ohci ohci.0: new USB bus registered, assigned bus number 1
Waiting for USB PHY clock good...
ohci ohci.0: irq 59, io mem 0x01e25000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usb 1-1: new full speed USB device using ohci and address 2
usb 1-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver libusual
musb_hdrc: version 6.0, cppi4.1-dma, host, debug=0
Waiting for USB PHY clock good...
musb_hdrc: USB Host mode controller at c2860000 using DMA, IRQ 58
musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 2
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
mice: PS/2 mouse device common for all mice
rtc-da8xx rtc-da8xx.0: rtc intf: proc
rtc-da8xx rtc-da8xx.0: rtc intf: dev (254:0)
rtc-da8xx rtc-da8xx.0: rtc core: registered rtc-da8xx as rtc0
rtc-da8xx rtc-da8xx.0: TI DA8xx Real Time Clock driver.
davinci-mmc davinci-mmc.0: Supporting 8-bit mode
davinci-mmc davinci-mmc.0: Supporting 4-bit mode
davinci-mmc davinci-mmc.0: Using DMA mode
Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).
ASoC version 0.13.1
AIC3X Audio Codec 0.2
asoc: aic3x <-> davinci-i2s mapping ok
ALSA device list:
  #0: DA8XX EVM (aic3x)
IPv4 over IPv4 tunneling driver
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
rtc-da8xx rtc-da8xx.0: setting the system clock to 2000-02-26 01:23:08 (951528188)
Time: timer0_1 clocksource has been installed.
Clock event device timer0_0 configured with caps set: 08
Switched to high resolution mode on CPU 0
Sending DHCP requests .., OK
IP-Config: Got DHCP answer from 0.0.0.0, my address is 12.40.53.62
IP-Config: Complete:
      device=eth0, addr=12.40.53.62, mask=255.255.255.0, gw=12.40.53.46,
     host=12.40.53.62, domain=ctc-control.com, nis-domain=(none),
     bootserver=0.0.0.0, rootserver=0.0.0.0, rootpath=
Looking up port of RPC 100003/2 on 0.0.0.0
  Vendor: Kingston  Model: DataTraveler G2   Rev: 1.00
  Type:   Direct-Access                      ANSI SCSI revision: 02
SCSI device sda: 31367168 512-byte hdwr sectors (16060 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 31367168 512-byte hdwr sectors (16060 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
 sda: sda1 sda2
sd 0:0:0:0: Attached scsi removable disk sda  <----------------------------------------hangs here for a while, until timeout
portmap: server 0.0.0.0 not responding, timed out
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 0.0.0.0
portmap: server 0.0.0.0 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
mount: server 0.0.0.0 not responding, timed out
Root-NFS: Server returned error -5 while mounting /tftpboot/12.40.53.62
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "sda2" or unknown-block(2,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

  • Bit more info...  I changed things to boot NFS and I can mount the USB pen drive with no problem manually and no errors seen on device during boot, just when want to mount as root get timeout (option is selected in kernel build also remember .config is same as good uImage):

    Same uImage with USB booting problem now with uboot parameters for NFS root mount:

    NET: Registered protocol family 1
    NET: Registered protocol family 17
    rtc-da8xx rtc-da8xx.0: setting the system clock to 2000-02-26 02:55:41 (951533741)
    Time: timer0_1 clocksource has been installed.
    Clock event device timer0_0 configured with caps set: 08
    Switched to high resolution mode on CPU 0
    IP-Config: Guessing netmask 255.0.0.0
    IP-Config: Complete:
          device=eth0, addr=12.40.53.200, mask=255.0.0.0, gw=255.255.255.255,
         host=12.40.53.200, domain=, nis-domain=(none),
         bootserver=255.255.255.255, rootserver=12.40.53.60, rootpath=
    Looking up port of RPC 100003/2 on 12.40.53.60
      Vendor: Kingston  Model: DataTraveler G2   Rev: 1.00
      Type:   Direct-Access                      ANSI SCSI revision: 02
    SCSI device sda: 31367168 512-byte hdwr sectors (16060 MB)
    sda: Write Protect is off
    sda: assuming drive cache: write through
    SCSI device sda: 31367168 512-byte hdwr sectors (16060 MB)
    sda: Write Protect is off
    sda: assuming drive cache: write through
     sda: sda1 sda2
    sd 0:0:0:0: Attached scsi removable disk sda         <---------------------- no hang here this time since not mounting as root
    Looking up port of RPC 100005/1 on 12.40.53.60
    VFS: Mounted root (nfs filesystem).
    Freeing init memory: 180K
    INIT: version 2.86 booting
    Starting the hotplug events dispatcher: udevd.
    Synthesizing the initial hotplug events...done.
    Waiting for /dev to be fully populated...done.
    Activating swap...done.
    Remounting root filesystem...done.
    Calculating module dependencies
    Loading modules:
    Checking all file systems: fsck
    fsck 1.40 (29-Jun-2007)
    Mounting local filesystems: mount nothing was mounted
    umount.nfs: /dev/root: not found or not mounted
    Setting up networking ....
    /etc/network/options is deprecated.
    Setting up IP spoofing protection: rp_filter done.
    Disabling IPv4 packet forwarding: done.
    Disabling TCP/IP Explicit Congestion Notification: done.
    Starting network interfaces: done.
    Starting hotplug subsystem:
       pci
       pci      [success]
       usb
       usb      [success]
       isapnp
       isapnp   [success]
       ide
       ide      [success]
       input
       input    [success]
       scsi
       scsi     [success]
    done.
    Starting portmap daemon....
    Cleaning: /tmp /var/lock /var/run done.
    Updating /etc/motd...done.
    INIT: Entering runlevel: 3
    Starting system log daemon: syslogdNET: Registered protocol family 10
    6WIND/LSIIT IPv6 multicast forwarding 0.1 plus PIM-SM/SSM with *BSD API
    lo: Disabled Privacy Extensions
    IPv6 over IPv4 tunneling driver
    Mobile IPv6
     klogd.
    Starting NFS common utilities: statd.
    Starting internet superserver: inetd.
    Generating public/private rsa1 key pair.
    Your identification has been saved in /etc/ssh/ssh_host_key.
    Your public key has been saved in /etc/ssh/ssh_host_key.pub.
    The key fingerprint is:
    bd:1c:0f:85:61:13:3a:40:b1:89:d3:b3:43:af:dd:04 root@12.40.53.200
    Generating public/private rsa key pair.
    Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
    Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
    The key fingerprint is:
    f2:93:d6:9a:00:77:6c:16:41:38:c0:01:2e:03:6d:99 root@12.40.53.200
    Generating public/private dsa key pair.
    Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
    Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
    The key fingerprint is:
    45:9f:b1:08:e4:b7:a5:e5:84:13:9a:c6:98:c9:a1:49 root@12.40.53.200
    Starting OpenBSD Secure Shell server: sshd.

    MontaVista(R) Linux(R) Professional Edition 5.0.0 (0801921)

    12.40.53.200 login: root
    Linux 12.40.53.200 2.6.18_pro500-da830_omapl137_evm-arm_v5t_le #1 PREEMPT Thu Jun 25 11:00:43 EDT 2009 armv5tejl GNU/Linux

    Welcome to MontaVista(R) Linux(R) Professional Edition 5.0.0 (0801921).

    root@12.40.53.200:~# ls
    root@12.40.53.200:~# df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    rootfs                75243228  17132132  54289236  24% /
    /dev/root             75243228  17132132  54289236  24% /
    tmpfs                    14332         0     14332   0% /tmp
    tmpfs                    10240       308      9932   4% /dev
    tmpfs                    14332         4     14328   1% /dev/shm
    root@12.40.53.200:~# ls /dev
    MAKEDEV  mtd1ro     sda1     tty17  tty34  tty51  ttyS2
    bus      mtd2       sda2     tty18  tty35  tty52  urandom
    console  mtd2ro     shm      tty19  tty36  tty53  usbdev1.1_ep00
    core     mtdblock0  snd      tty2   tty37  tty54  usbdev1.1_ep81
    discs    mtdblock1  sndstat  tty20  tty38  tty55  usbdev1.2_ep00
    fd       mtdblock2  stderr   tty21  tty39  tty56  usbdev1.2_ep02
    full     net        stdin    tty22  tty4   tty57  usbdev1.2_ep81
    i2c      null       stdout   tty23  tty40  tty58  usbdev2.1_ep00
    i2c-0    port       tts      tty24  tty41  tty59  usbdev2.1_ep81
    initctl  ppp        tty      tty25  tty42  tty6   vc
    input    ptmx       tty0     tty26  tty43  tty60  vcc
    kmem     pts        tty1     tty27  tty44  tty61  vcs
    kmsg     ram0       tty10    tty28  tty45  tty62  vcsa
    log      random     tty11    tty29  tty46  tty63  watchdog
    loop     rd         tty12    tty3   tty47  tty7   zero
    mem      rtc        tty13    tty30  tty48  tty8
    mtd0     rtc0       tty14    tty31  tty49  tty9
    mtd0ro   scsi       tty15    tty32  tty5   ttyS0
    mtd1     sda        tty16    tty33  tty50  ttyS1
    root@12.40.53.200:~# cd /
    root@12.40.53.200:/# ls
    bin   dev  gdb-6.8  lib  media  opt   root  srv  tmp  var
    boot  etc  home     man  mnt    proc  sbin  sys  usr
    root@12.40.53.200:/# cd media
    root@12.40.53.200:/media# ls
    root@12.40.53.200:/media# mkdir disk
    root@12.40.53.200:/media# mount /dev/sda2 /media/disk
    EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
    root@12.40.53.200:/media# ls /media/disk                 <--------------------------------------------------- files all look good
    bin   dev  gdb-6.8  lib  media  opt   root  srv  tmp  var
    boot  etc  home     man  mnt    proc  sbin  sys  usr
    root@12.40.53.200:/media#

  • Can you provide "bootdelay=10" as part of bootargs?  Probably this might make a difference.

    regards

    swami

  • Thanks for the input.  Tried it and did not help.  Was set to 3 before and there is probably another 3 during TFTP load.  Same problem.  For the moment I'm booting with NFS but will eventually have to resolve it.  My guess is some sort of timing issue with loading drivers or something given exact same .config as a working uImage (without gdb 6.8 and DSPLink).  Even tried disabling most of the non-used USB options as well as NFS client but no difference.  Can mount manually with no problem once boot on NFS. 

    Kev

     

  • I believe the correct argument is "rootdelay=10" and not "bootdelay=10". It worked for me.

    regards,

    Jean

  • Also sdcard's write lock causes the same problem...  :)

     

    regards