Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Mar 2000 04:31:57 +0900
From:      Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
To:        winter@jurai.net
Cc:        iwasaki@jp.FreeBSD.org, freebsd-stable@FreeBSD.ORG
Subject:   Re: FIXED -->  Thanks! Re: ep0 eeprom failed to come ready...
Message-ID:  <200003221931.EAA03407@tasogare.imasy.or.jp>
In-Reply-To: Your message of "Wed, 22 Mar 2000 04:15:42 -0500 (EST)" <Pine.BSF.4.21.0003220414200.50194-100000@sasami.jurai.net>
References:  <Pine.BSF.4.21.0003220414200.50194-100000@sasami.jurai.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
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: <math processor> on motherboard
npx0: INT 16 interface
apm0: <APM BIOS> 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: <Intel 82443BX (440 BX) host to PCI bridge> 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: <PCI bus> on pcib0
pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
isab0: <Intel 82371AB PCI to ISA bridge> at device 4.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> 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: <Intel 82371AB/EB (PIIX4) USB controller> port 0xd400-0xd41f irq 12 at device 4.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> 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: <Intel 82371AB Power management controller> port 0xe800-0xe80f at device 4.3 on pci0
pci0: <S3 968 graphics accelerator> (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: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> 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: <Generic ISA VGA> 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: <System console> 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: <PNP0401> at port 0x378-0x37f,0x778-0x77f irq 7 drq 3 on isa0
unknown: <PNP0501> can't assign resources
unknown: <PNP0501> can't assign resources
unknown1: <PNP0700> at port 0x3f2-0x3f5 irq 6 drq 2 on isa0
unknown2: <PNP0c01> at iomem 0-0x9ffff,0x100000-0x7ffffff,0xe8000-0xeffff,0xf0000-0xf3fff,0xf4000-0xf7fff,0xf8000-0xfbfff,0xfc000-0xfffff,0xfffe0000-0xffffffff on isa0
unknown: <PNP0000> can't assign resources
unknown3: <PNP0100> at port 0x40-0x43 irq 0 on isa0
unknown4: <PNP0b00> at port 0x70-0x71 irq 8 on isa0
unknown: <PNP0303> can't assign resources
unknown5: <PNP0c04> at port 0xf0 irq 13 on isa0
unknown6: <PNP0200> at port 0-0xf,0x80-0x90,0x94-0x9f,0xc0-0xde drq 4 on isa0
pca1: <AT-style speaker sound> at port 0x61 on isa0
unknown7: <PNP0a03> at port 0xcf8-0xcff on isa0
unknown8: <PNP0c02> 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: <IBM-DJNA-370910/J74OA30K> 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: <IBM-DJNA-371800/J78OA30K> 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: <TOSHIBA CD-ROM XM-5302TA/1095> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003221931.EAA03407>