Ok, I made the changes suggested, but I'm still seeing the issue. Find attached a dmesg output from the system in the hopes that it will help. I'll gladly try anything else anybody can suggest. I can't do too much investigation during the day, but I'll get deeper into these issues tonight on my own. No thought allowed while I'm at work, though. :-) Also, in case it didn't make it to this list, David Brownell posted the following on the linux-usb-devel list: > From: "David Brownell" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Subject: Re: [linux-usb-devel] USB NICs and NFS Root > Date: Tue, 25 Apr 2000 09:00:13 -0700 > charset="iso-8859-1" > Reply-To: [EMAIL PROTECTED] > > > First the USB subsystem initializes (hub.c, usb-uhci.c, etc) > > (other immaterial stuff) > > Sets up a timer to monitor the root hub. > > > > Then other network drivers (3c509, 3c9XX) load and > recognize any appropriate > > cards > > Then the pegasus driver loads, but it does NOT detect the > Linksys yet > > Presumably because the timer's not fired, or because the > report it fired didn't yet wake up khubd. > > > > IP Configuration happens (this will fail with no network cards) > > NFS Root tries to load (also fails without network cards, obviously) > > THEN usb.c reports a new device connected and the eth1 is > assigned to the > > Linksys > > Finally the root hub woke up, talked to the device, you're live. > > Maybe that's what's happening ... :-) > > - Dave > -- Ben Von Handorf [EMAIL PROTECTED] ================================dmesg begins============================= Linux version 2.3.99-pre5 (root@blossom) (gcc version egcs-2.91.66 Debian GNU/Linux (egcs-1.1.2 release)) #6 Tue Apr 25 14:43:43 EST 2000 e820: 0009fc00 @ 00000000 (usable) e820: 00000400 @ 0009fc00 (reserved) e820: 00020000 @ 000e0000 (reserved) e820: 01f00000 @ 00100000 (usable) e820: 00040000 @ fffc0000 (reserved) On node 0 totalpages: 8192 zone(0): 4096 pages. zone(1): 4096 pages. zone(2): 0 pages. Initializing CPU#0 Detected 333272727 Hz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 665.19 BogoMIPS Memory: 29952k/32768k available (1156k kernel code, 2428k reserved, 80k data, 164k init, 0k highmem) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 8192 (order: 3, 32768 bytes) CPU: Intel Pentium II (Deschutes) stepping 00 Checking 386/387 coupling... OK, FPU using exception 16 error reporting. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX mtrr: v1.36 (20000221) Richard Gooch ([EMAIL PROTECTED]) PCI: PCI BIOS revision 2.10 entry at 0xed880, last bus=1 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Using IRQ router PIIX [8086/7110] at 00:14.0 Limiting direct PCI/PCI transfers. usb.c: registered new driver hub usb-uhci.c: $Revision: 1.228 $ time 09:12:46 Apr 24 2000 usb-uhci.c: High bandwidth mode enabled usb-uhci.c: Intel USB controller: setting latency timer to 0 usb-uhci.c: USB UHCI at I/O 0x2000, IRQ 11 usb-uhci.c: Detected 2 ports usb.c: new USB bus registered, assigned bus number 1 usb.c: USB new device connect, assigned device number 1 hub.c: USB hub found hub.c: 2 ports detected pegasus.c: v0.3.9 2000/04/11 Written by Petko Manolov ([EMAIL PROTECTED]) usb.c: registered new driver pegasus isapnp: Scanning for Pnp cards... isapnp: No Plug & Play device found Linux NET4.0 for Linux 2.3 Based upon Swansea University Computer Society NET3.039 NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 2048 bind 2048) Starting kswapd v1.6 pty: 256 Unix98 ptys configured Uniform Multi-Platform E-IDE driver Revision: 6.30 ide: Assuming 40MHz system bus speed for PIO modes; override with idebus=xx PIIX4: IDE controller on PCI bus 00 dev a1 PIIX4: not 100% native mode: will probe irqs later hda: ST32122A, ATA DISK drive hdc: HITACHI CDR-8430, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: 4124736 sectors (2112 MB) w/128KiB Cache, CHS=1023/64/63 hdc: ATAPI 32X CD-ROM drive, 128kB Cache Uniform CD-ROM driver Revision: 3.07 Partition check: hda: hda1 hda2 < hda5 > eth0: 3c509 at 0x300, 10baseT port, address 00 60 8c 82 bd 3f, IRQ 10. 3c509.c:1.16 (2.2) 2/3/98 [EMAIL PROTECTED] Serial driver version 4.93 (2000-03-20) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A 3c59x.c:v0.99H+lk1.0 Feb 9, 2000 The Linux Kernel Team http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html [drm] Initialized tdfx 0.0.1 19991009 on minor 63 Sending BOOTP requests..... OK IP-Config: Got BOOTP answer from 10.130.5.2, my address is 10.130.5.3 eth0: Setting Rx mode to 1 addresses. kmem_create: Forcing size word alignment - nfs_fh Looking up port of RPC 100003/2 on 10.130.5.2 Looking up port of RPC 100005/2 on 10.130.5.2 VFS: Mounted root (NFS filesystem) readonly. Freeing unused kernel memory: 164k freed usb.c: USB new device connect, assigned device number 2 eth1: Linksys USB100TX ====================================dmesg ends========================= TIA, Ben > -----Original Message----- > From: Dunlap, Randy [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, April 25, 2000 14:37 > To: '[EMAIL PROTECTED]' > Cc: '[EMAIL PROTECTED]' > Subject: USB NICs and NFS Root > > > Hi, > > [moving thread to linux-usb; was linux-usb-devel] > > I'm willing to take a guess at this if you are > willing to modify a little source code to test it. > > I think that this isn't a host controller driver-specific issue. > It's more likely a larger init-order issue. > > Background: > > In linux/init/main.c, usb_init() is called after some > other bus init functions (like pci, isapnp, nubus, mca, > sbus, ppc). However, usb_init() is called BEFORE > sock_init and BEFORE anything to do with filesystems. > > Soon after sock_init() returns, there is a call to > do_initcalls(). Most USB drivers that are built > in-kernel initialize by having their init functions > tagged as __initcall (by module_init()) and they > are init-ed by the do_initcalls() function. > > From what you say, I don't think that the pegasus_init() is > happening too late, but maybe the uhci_init() calls is happening > too late. To force all of usb/uhci/pegasus to init earlier, > I would do this (but I can't test it; no usb-ethernet devices): > > a. Change pegasus.c not to use module_init() and module_exit(). > Use plusb.c (at the very end of the source file) as an > example. > > b. In usb-core.c, add a conditional call to pegasus_init() to > init the pegasus driver [after plusb_init()]. > > c. In linux/init/main.c, move the call to usb_init() immediately > after pci_init(). [PCI init is needed for USB init.] > > This should force all of USB to be initialized earlier. > Let us know if that helps. > > ~Randy > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
