IP-Config before USB Ethernet Detected

Hi Folks,

I'm trying to build the Linux Kernel v2.6.29-rc7-omap1. I have no
problem building the kernel; however, it appears that during the boot
process, IP-Config tries to configure before the kernel detects the
usb ethernet driver:

VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev
1
twl4030_rtc twl4030_rtc: setting system clock to 2000-01-01 00:00:01
UTC (946684
801)
usb 1-1: New USB device found, idVendor=2001, idProduct=f103
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 7 ports detected
mmc0: new high speed SDHC card at address c966
mmcblk0: mmc0:c966 SD04G 3.75 GiB
mmcblk0: p1 p2
usb 1-1.1: new high speed USB device using musb_hdrc and address 3
IP-Config: No network devices available.
Waiting 2sec before mounting root device...
usb 1-1.1: New USB device found, idVendor=05ac, idProduct=1006
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.1: Product: Keyboard Hub
usb 1-1.1: Manufacturer: Apple, Inc.
usb 1-1.1: SerialNumber: 000000000000
usb 1-1.1: configuration #1 chosen from 1 choice
hub 1-1.1:1.0: USB hub found
hub 1-1.1:1.0: 3 ports detected
usb 1-1.5: new full speed USB device using musb_hdrc and address 4
usb 1-1.5: New USB device found, idVendor=07a6, idProduct=8511
usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.5: Product: USB To LAN Converter
usb 1-1.5: Manufacturer: ADMtek
usb 1-1.5: SerialNumber: 0001
usb 1-1.5: configuration #1 chosen from 1 choice
pegasus 1-1.5:1.0: setup Pegasus II specific registers
pegasus 1-1.5:1.0: eth0, ADMtek ADM8511 "Pegasus II" USB Ethernet,
00:14:d1:17:e
f:cc
usb 1-1.6: new low speed USB device using musb_hdrc and address 5
usb 1-1.6: New USB device found, idVendor=046d, idProduct=c016
usb 1-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.6: Product: Optical USB Mouse
usb 1-1.6: Manufacturer: Logitech
usb 1-1.6: configuration #1 chosen from 1 choice
usb 1-1.1.2: new low speed USB device using musb_hdrc and address 6
usb 1-1.1.2: New USB device found, idVendor=05ac, idProduct=0220
usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1.2: Product: Apple Keyboard
usb 1-1.1.2: Manufacturer: Apple, Inc
usb 1-1.1.2: configuration #1 chosen from 1 choice
Looking up port of RPC 100003/2 on 172.16.1.8

Does anyone have a solution for how to fix this? My current
workaround is to build my filesystem onto a SD card; however, I would
like to use nfsroot with ip=dhcp.

Note, my kernel did detect the USB Ethernet once before IP-Config once
by chance.

Cheers,
Jay

Hi Folks,

I found a quick fix for this problem. I modified net/ipv4/ipconfig.c
and changed the

#define CONF_PRE_OPEN 500

to

#define CONF_PRE_OPEN 3000

This variable is used to "/* Give hardware a chance to settle */"

In my situation for nfsroot,

set bootargs 'console=ttyS2,115200n8 root=/dev/nfs rw
nfsroot=192.168.1.103:/home/recalcati/DEVEL_BT19207/TEXAS/NFSC ip=dhcp
nolock,rsize=1024,wsize=1024 rootdelay=2
omapfb.video_mode=1280x720MR-24@60 init=/init omapfb.debug=y omap-
dss.debug=y'

I have the first dhcp search that has to go in timeout ..
some minutes
then a second dhcp search obtain the ip and nfsroot works!.

I hope this fix also my pb.
It seems like that looking the code.

Thx!

That was my little guide, to be completed with this fix, if it works
perfectly.
http://groups.google.it/group/beagleboard/browse_thread/thread/5ec1bb69c65cd8dd?hl=it&q=#4aaa14126d5f2e51