From owner-freebsd-stable Wed Mar 22 11:32:19 2000 Delivered-To: freebsd-stable@freebsd.org Received: from tasogare.imasy.or.jp (tasogare.imasy.or.jp [202.227.24.5]) by hub.freebsd.org (Postfix) with ESMTP id E9B5937C209 for ; Wed, 22 Mar 2000 11:32:03 -0800 (PST) (envelope-from iwasaki@jp.FreeBSD.org) Received: from localhost (isdn27.imasy.or.jp [202.227.24.219]) by tasogare.imasy.or.jp (8.9.3+3.2W/3.7W-tasogare/smtpfeed 1.01) with ESMTP id EAA03407; Thu, 23 Mar 2000 04:31:58 +0900 (JST) (envelope-from iwasaki@jp.FreeBSD.org) Message-Id: <200003221931.EAA03407@tasogare.imasy.or.jp> To: winter@jurai.net Cc: iwasaki@jp.FreeBSD.org, freebsd-stable@FreeBSD.ORG Subject: Re: FIXED --> Thanks! Re: ep0 eeprom failed to come ready... In-Reply-To: Your message of "Wed, 22 Mar 2000 04:15:42 -0500 (EST)" References: X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Thu, 23 Mar 2000 04:31:57 +0900 From: Mitsuru IWASAKI X-Dispatcher: imput version 980905(IM100) Lines: 417 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, > > Grrr, It's too difficult because I can't do anything after the messsage > > even etner DDB or pause screen and back scrolling... > > Use the serial console. Sorry, I don't have null-modem cable or 3c5x9cfg.exe or DOS here, but I did some hacks. By follwing patch made referring to 3-STABLE code, system was passed ep probe/attach routine with correct mac address and stopped /etc/rc.network in userland now. BTW, I found very strange thing, my system stopped at epstop() in ep_attach()... Index: if_ep.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ep/if_ep.c,v retrieving revision 1.99 diff -u -r1.99 if_ep.c --- if_ep.c 2000/03/13 11:59:21 1.99 +++ if_ep.c 2000/03/22 18:44:55 @@ -270,7 +270,9 @@ sc->gone = 0; +#if 0 ep_get_macaddr(sc, (u_char *)&sc->arpcom.ac_enaddr); +#endif /* * Setup the station address @@ -278,6 +280,9 @@ p = (u_short *)&sc->arpcom.ac_enaddr; GO_WINDOW(2); for (i = 0; i < 3; i++) { +#if 1 + p[i] = htons(sc->epb.eth_addr[i]); +#endif outw(BASE + EP_W2_ADDR_0 + (i * 2), ntohs(p[i])); } @@ -331,8 +336,9 @@ EP_FSET(sc, F_RX_FIRST); sc->top = sc->mcur = 0; +#if 0 epstop(sc); - +#endif return 0; } Index: if_ep_isa.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ep/if_ep_isa.c,v retrieving revision 1.8 diff -u -r1.8 if_ep_isa.c --- if_ep_isa.c 2000/01/23 08:46:21 1.8 +++ if_ep_isa.c 2000/03/22 18:45:22 @@ -145,6 +145,8 @@ return (NULL); } +u_short ep_isa_eth_addr[16][3]; /* irq, addr */ + static void ep_isa_identify (driver_t *driver, device_t parent) { @@ -158,6 +160,7 @@ u_int32_t ioport; u_int32_t isa_id; device_t child; + u_short eth_addr[3]; outb(ELINK_ID_PORT, 0); outb(ELINK_ID_PORT, 0); @@ -195,6 +198,10 @@ (void)get_eeprom_data(ELINK_ID_PORT, j); } + for (j = 0; j < 3; j++) { + eth_addr[j] = get_eeprom_data(ELINK_ID_PORT, j); + } + /* * Construct an 'isa_id' in 'EISA' * format. @@ -218,6 +225,10 @@ data = get_eeprom_data(ELINK_ID_PORT, EEPROM_RESOURCE_CFG); irq = (data >> 12); + for (j = 0; j < 3; j++) { + ep_isa_eth_addr[irq][j] = eth_addr[j]; + } + /* Retreive IOPORT */ data = get_eeprom_data(ELINK_ID_PORT, EEPROM_ADDR_CFG); #ifdef PC98 @@ -305,6 +316,7 @@ { struct ep_softc * sc = device_get_softc(dev); int error = 0; + int irq, i; if ((error = ep_alloc(dev))) { device_printf(dev, "ep_alloc() failed! (%d)\n", error); @@ -315,6 +327,11 @@ GO_WINDOW(0); SET_IRQ(BASE, rman_get_start(sc->irq)); + + irq = bus_get_resource_start(dev, SYS_RES_IRQ, 0); + for (i= 0; i < 3; i++) { + sc->epb.eth_addr[i] = ep_isa_eth_addr[irq][i]; + } if ((error = ep_attach(sc))) { device_printf(dev, "ep_attach() failed! (%d)\n", error); Index: if_epvar.h =================================================================== RCS file: /home/ncvs/src/sys/dev/ep/if_epvar.h,v retrieving revision 1.4 diff -u -r1.4 if_epvar.h --- if_epvar.h 2000/01/15 05:21:43 1.4 +++ if_epvar.h 2000/03/22 18:09:32 @@ -27,6 +27,7 @@ int cmd_off; /* command offset (bit shift) */ int mii_trans; /* activate MII transiever */ u_short res_cfg; /* resource configuration */ + u_short eth_addr[3]; /* Ethernet address */ }; /* Copyright (c) 1992-2000 The FreeBSD Project. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 5.0-CURRENT #14: Thu Mar 23 03:45:36 JST 2000 root@celeron:/usr/src/sys/compile/CELERON Calibrating clock(s) ... TSC clock: 367492994 Hz, i8254 clock: 1193158 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz CLK_USE_TSC_CALIBRATION not specified - using old calibration method CPU: Pentium II/Pentium II Xeon/Celeron (367.50-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x660 Stepping = 0 Features=0x183f9ff real memory = 134205440 (131060K bytes) Physical memory chunk(s): 0x00001000 - 0x0009ffff, 651264 bytes (159 pages) 0x0039b000 - 0x07ff2fff, 130383872 bytes (31832 pages) avail memory = 126472192 (123508K bytes) bios32: Found BIOS32 Service Directory header at 0xc00f9ce0 bios32: Entry = 0xf0520 (c00f0520) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0x720 pnpbios: Found PnP BIOS data at 0xc00fd120 pnpbios: Entry = f0000:d150 Rev = 1.0 pnpbios: OEM ID cd041 Other BIOS signatures found: ACPI: 000f7f40 VESA: information block 56 45 53 41 02 01 8a 4e 00 c0 00 00 00 00 ad 4e 00 c0 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 VESA: 23 mode(s) found VESA: v1.2, 4096k memory, flags:0x0, mode table:0xc00c4ead (c0004ead) VESA: S3 Incorporated. Vision968 Pentium Pro MTRR support enabled md0: Malloc disk Creating DISK md0 Math emulator present pci_open(1): mode 1 addr port (0x0cf8) is 0x8000005c pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=71908086) npx0: on motherboard npx0: INT 16 interface apm0: on motherboard apm: found APM BIOS v1.2, connected at v1.2 pci_open(1): mode 1 addr port (0x0cf8) is 0x00000000 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=71908086) pcib0: on motherboard found-> vendor=0x8086, dev=0x7190, revid=0x03 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[10]: type 1, range 32, base e4000000, size 26, enabled found-> vendor=0x8086, dev=0x7191, revid=0x03 class=06-04-00, hdrtype=0x01, mfdev=0 subordinatebus=1 secondarybus=1 found-> vendor=0x8086, dev=0x7110, revid=0x02 class=06-01-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x8086, dev=0x7111, revid=0x01 class=01-01-80, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[20]: type 1, range 32, base 0000d800, size 4, enabled found-> vendor=0x8086, dev=0x7112, revid=0x01 class=0c-03-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=d, irq=12 map[20]: type 1, range 32, base 0000d400, size 5, enabled found-> vendor=0x8086, dev=0x7113, revid=0x02 class=06-80-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[90]: type 1, range 32, base 0000e800, size 4, enabled found-> vendor=0x5333, dev=0x88f0, revid=0x00 class=03-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=255 map[10]: type 1, range 32, base e0000000, size 25, enabled pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 isab0: at device 4.0 on pci0 isa0: on isab0 atapci0: port 0xd800-0xd80f at device 4.1 on pci0 ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xd800 ata0: mask=03 status0=50 status1=50 ata0: mask=03 status0=50 status1=50 ata0: devices = 0x3 ata0: at 0x1f0 irq 14 on atapci0 ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xd808 ata1: mask=03 status0=50 status1=50 ata1: mask=03 status0=00 status1=00 ata1: devices = 0x4 ata1: at 0x170 irq 15 on atapci0 uhci0: port 0xd400-0xd41f irq 12 at device 4.2 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: port 0xe800-0xe80f at device 4.3 on pci0 pci0: (vendor=0x5333, dev=0x88f0) at 12.0 pnpbios: 14 devices, largest 114 bytes PNP0401: adding dma mask 0x8 PNP0401: adding irq mask 0x80 PNP0401: adding io range 0x378-0x37f, size=0x8, align=0 PNP0401: adding io range 0x778-0x77f, size=0x8, align=0 PNP0401: start dependant pnpbios: handle 1 device ID PNP0401 (0104d041) PNP0501: adding irq mask 0x10 PNP0501: adding io range 0x3f8-0x3ff, size=0x8, align=0 PNP0501: start dependant pnpbios: handle 2 device ID PNP0501 (0105d041) PNP0501: adding irq mask 00x8 PNP0501: adding io range 0x2f8-0x2ff, size=0x8, align=0 PNP0501: start dependant pnpbios: handle 3 device ID PNP0501 (0105d041) PNP0700: adding irq mask 0x40 PNP0700: adding dma mask 0x4 PNP0700: adding io range 0x3f2-0x3f5, size=0x4, align=0 PNP0700: start dependant pnpbios: handle 4 device ID PNP0700 (0007d041) PNP0c01: adding memory range 0-0x9ffff, size=0xa0000 PNP0c01: adding memory range 0x100000-0x7ffffff, size=0x7f00000 PNP0c01: adding memory range 0xe8000-0xeffff, size=0x8000 PNP0c01: adding memory range 0xf0000-0xf3fff, size=0x4000 PNP0c01: adding memory range 0xf4000-0xf7fff, size=0x4000 PNP0c01: adding memory range 0xf8000-0xfbfff, size=0x4000 PNP0c01: adding memory range 0xfc000-0xfffff, size=0x4000 PNP0c01: adding memory range 0xfffe0000-0xffffffff, size=0x20000 PNP0c01: start dependant pnpbios: handle 6 device ID PNP0c01 (010cd041) PNP0000: adding irq mask 00x4 PNP0000: adding io range 0x20-0x21, size=0x2, align=0 PNP0000: adding io range 0xa0-0xa1, size=0x2, align=0 PNP0000: adding io range 0x4d0-0x4d1, size=0x2, align=0 PNP0000: start dependant pnpbios: handle 7 device ID PNP0000 (0000d041) PNP0100: adding irq mask 00x1 PNP0100: adding io range 0x40-0x43, size=0x4, align=0 PNP0100: start dependant pnpbios: handle 8 device ID PNP0100 (0001d041) PNP0b00: adding irq mask 0x100 PNP0b00: adding io range 0x70-0x71, size=0x2, align=0 PNP0b00: start dependant pnpbios: handle 9 device ID PNP0b00 (000bd041) PNP0303: adding irq mask 00x2 PNP0303: adding io range 0x60-0x60, size=0x1, align=0 PNP0303: adding io range 0x64-0x64, size=0x1, align=0 PNP0303: start dependant pnpbios: handle 10 device ID PNP0303 (0303d041) PNP0c04: adding irq mask 0x2000 PNP0c04: adding io range 0xf0-0xf0, size=0x1, align=0 PNP0c04: start dependant pnpbios: handle 11 device ID PNP0c04 (040cd041) PNP0200: adding dma mask 0x10 PNP0200: adding io range 0-0xf, size=0x10, align=0 PNP0200: adding io range 0x80-0x90, size=0x11, align=0 PNP0200: adding io range 0x94-0x9f, size=0xc, align=0 PNP0200: adding io range 0xc0-0xde, size=0x1f, align=0 PNP0200: start dependant pnpbios: handle 12 device ID PNP0200 (0002d041) PNP0800: adding io range 0x61-0x61, size=0x1, align=0x1 PNP0800: start dependant pnpbios: handle 13 device ID PNP0800 (0008d041) PNP0a03: adding io range 0xcf8-0xcff, size=0x8, align=0 PNP0a03: start dependant pnpbios: handle 14 device ID PNP0a03 (030ad041) PNP0c02: adding io range 0x290-0x297, size=0x8, align=0 PNP0c02: adding io range 0xe400-0xe43f, size=0x40, align=0 PNP0c02: adding io range 0xe800-0xe83f, size=0x40, align=0 PNP0c02: start dependant pnpbios: handle 15 device ID PNP0c02 (020cd041) Trying Read_Port at 203 Trying Read_Port at 243 TCM5090: adding irq mask 0x9ea8 TCM5090: adding io range 0x210-0x3ef, size=0x10, align=0x10 ata-: ata0 exists, using next available unit number ata-: ata1 exists, using next available unit number isa0: if_ep: <3Com 3C509-TP EtherLink III> at port 0x300-0x310 irq 10 isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices atkbdc0: at port 0x60,0x64 on isa0 atkbd0: irq 1 on atkbdc0 atkbd: the current kbd controller command byte 0067 atkbd: keyboard ID 0x41ab (2) kbdc: RESET_KBD return code:00fa kbdc: RESET_KBD status:00aa kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000 vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 fb0: vga0, vga, type:VGA (5), flags:0x700ff fb0: port:0x3c0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000 fb0: init mode:24, bios mode:3, current mode:24 fb0: window:0xc00b8000 size:32k gran:32k, buf:0 size:32k VGA parameters upon power-up 50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0e 0f 00 00 07 80 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff VGA parameters in BIOS for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff EGA/VGA parameters to be used for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff sc0: on isa0 sc0: VGA <16 virtual consoles, flags=0x200> sc0: fb0, kbd0, terminal emulator: sc (syscons terminal) sio0: irq maps: 0x1 0x11 0x1 0x1 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1: irq maps: 0x1 0x9 0x1 0x1 sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A mss_detect, busy still set (0xff) pca0 at port 0x40 on isa0 ep0: <3Com 3C509-TP EtherLink III> at port 0x300-0x30f irq 10 on isa0 ep0: eeprom failed to come ready. ep0: eeprom failed to come ready. ep0: Ethernet address 00:60:97:6a:9a:8c ep0: supplying EUI64: 00:60:97:ff:fe:6a:9a:8c bpf: ep0 attached isa_probe_children: probing PnP devices unknown0: at port 0x378-0x37f,0x778-0x77f irq 7 drq 3 on isa0 unknown: can't assign resources unknown: can't assign resources unknown1: at port 0x3f2-0x3f5 irq 6 drq 2 on isa0 unknown2: at iomem 0-0x9ffff,0x100000-0x7ffffff,0xe8000-0xeffff,0xf0000-0xf3fff,0xf4000-0xf7fff,0xf8000-0xfbfff,0xfc000-0xfffff,0xfffe0000-0xffffffff on isa0 unknown: can't assign resources unknown3: at port 0x40-0x43 irq 0 on isa0 unknown4: at port 0x70-0x71 irq 8 on isa0 unknown: can't assign resources unknown5: at port 0xf0 irq 13 on isa0 unknown6: at port 0-0xf,0x80-0x90,0x94-0x9f,0xc0-0xde drq 4 on isa0 pca1: at port 0x61 on isa0 unknown7: at port 0xcf8-0xcff on isa0 unknown8: at port 0x290-0x297,0xe400-0xe43f,0xe800-0xe83f on isa0 ep1: <3Com 3C509B-TP EtherLink III (PnP)> at port 0x210-0x21f irq 5 on isa0 ep1: Ethernet address 00:00:00:00:00:00 bpf: ep1 attached BIOS Geometries: 0:03fffe3f 0..1023=1024 cylinders, 0..254=255 heads, 1..63=63 sectors 1:03ff0f3f 0..1023=1024 cylinders, 0..15=16 heads, 1..63=63 sectors 0 accounted for Device configuration finished. bpf: sl0 attached bpf: ppp0 attached new masks: bio 4008d000, tty 4003001a, net 4007043a bpf: lo0 attached bpf: gif0 attached bpf: gif1 attached bpf: gif2 attached bpf: gif3 attached bpf: stf0 attached bpf: faith0 attached ata0-master: success setting up UDMA2 mode on PIIX4 chip ad0: ATA-4 disk at ata0 as master ad0: 8693MB (17803440 sectors), 17662 cyls, 16 heads, 63 S/T, 512 B/S ad0: 16 secs/int, 32 depth queue, UDMA33 ad0: piomode=4 dmamode=2 udmamode=4 cblid=1 Creating DISK ad0 Creating DISK wd0 ata0-slave: success setting up UDMA2 mode on PIIX4 chip ad1: ATA-4 disk at ata0 as slave ad1: 17206MB (35239680 sectors), 34960 cyls, 16 heads, 63 S/T, 512 B/S ad1: 16 secs/int, 32 depth queue, UDMA33 ad1: piomode=4 dmamode=2 udmamode=4 cblid=1 Creating DISK ad1 Creating DISK wd1 ata1-master: piomode=0 dmamode=-1 udmamode=-1 dmaflag=0 ata1-master: success setting up PIO0 mode on generic chip acd0: CDROM drive at ata1 as master acd0: read 689KB/s (689KB/s), 256KB buffer, PIO0 acd0: Reads: CD-DA acd0: Audio: play, 255 volume levels acd0: Mechanism: ejectable tray acd0: Medium: CD-ROM 120mm data disc loaded, unlocked Mounting root from ufs:wd1s2a wd1s1: type 0xa5, start 63, end = 524159, size 524097 : OK wd1s2: type 0xa5, start 524160, end = 1048319, size 524160 : OK wd1s3: type 0xa5, start 1048320, end = 35239679, size 34191360 : OK start_init: trying /sbin/init To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message