Bug 16620

Summary: 4.0-20000208-CURRENT fails to boot on ASUS P5A-B
Product: Base System Reporter: Jin Guojun <jin>
Component: i386Assignee: Matthew N. Dodd <mdodd>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description Jin Guojun 2000-02-09 22:10:00 UTC
	hanging after following messages:

...
plip0: <PLIP network interface> on ppbus0
ep0: <3Com 3C509-Combo EtherLink III> at port 0x300-0x30f irq 11 on isa0
ep0: eeprom failed to come ready.
ep0: eeprom failed to come ready.
ep0: eeprom failed to come ready.
ep0: eeprom failed to come ready.
ep0: eeprom failed to come ready.
ep0: Ethernet address 00:00:00:00:00:00
unknown0: <CMI8330/C3D Audio Adapter> at port 0x530-0x537, 0x388-0x38f irq 5 drq 0 on isa0
unknown1: <CMI8330/C3D Audio Adapter> at port 0x330-0x331 irq9 on isa0
unknown2: <CMI8330/C3D Audio Adapter> at port 0x200-0x207 on isa0
unknown3: <CMI8330/C3D Audio Adapter> at port 0x220-0x22f irq 10 drq 1,5 on isa0

hanging ...

How-To-Repeat: 
	boot the installation floppies on a ASUS P5A-B
Comment 1 winter 2000-02-10 02:36:18 UTC
On Wed, 9 Feb 2000, Jin Guojun wrote:
> ep0: <3Com 3C509-Combo EtherLink III> at port 0x300-0x30f irq 11 on isa0
> ep0: eeprom failed to come ready.
> ep0: eeprom failed to come ready.
> ep0: eeprom failed to come ready.
> ep0: eeprom failed to come ready.
> ep0: eeprom failed to come ready.
> ep0: Ethernet address 00:00:00:00:00:00

Another device on your system is using 0x300.  Try using the 3com config
util to move the card to another port.

-- 
| Matthew N. Dodd  | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD  |
| winter@jurai.net |       2 x '84 Volvo 245DL        | ix86,sparc,pmax |
| http://www.jurai.net/~winter | This Space For Rent  | ISO8802.5 4ever |
Comment 2 Jin Guojun 2000-02-13 23:15:01 UTC
Matthew <winter@jurai.net> wrote:
} > ep0: <3Com 3C509-Combo EtherLink III> at port 0x300-0x30f irq 11 on isa0
} > ep0: eeprom failed to come ready.
} > ep0: eeprom failed to come ready.
} > ep0: eeprom failed to come ready.
} > ep0: eeprom failed to come ready.
} > ep0: eeprom failed to come ready.
} > ep0: Ethernet address 00:00:00:00:00:00
} 
} Another device on your system is using 0x300.  Try using the 3com config
} util to move the card to another port.

Yes or No. There is no any other ISA adapter on this machine beside 3C509,
this machine is currently running 4.0-200001xx and has no problem, so this
is no any other device uses port 0x300;
but moving 3c509 to port 0x310/0x320 will help to install this version FreeBSD.

It obviously is the wrong configuration on the installation floppies,
because after I installed 4.0-20000208-CURRENT by moving 3c509 to port 0x310,
and rebuild the kernel as

device ep

and moved the 3C509 back to port 0x300, the new kernel is happy with it
and boots up without any problem.

This problem seems to be started in SNAP from Feb. 2000. If this cannot be
fix in 4.0-formal-release-installation floppies, we must address above
solution in README and ERRATA to tell people how to install it when
3c509 ethernet adapter presents.

Thanks,

	-Jin
Comment 3 winter 2000-02-13 23:27:56 UTC
On Sun, 13 Feb 2000, Jin Guojun wrote:
> It obviously is the wrong configuration on the installation floppies,
> because after I installed 4.0-20000208-CURRENT by moving 3c509 to port 0x310,
> and rebuild the kernel as
> 
> device ep
> 
> and moved the 3C509 back to port 0x300, the new kernel is happy with it
> and boots up without any problem.

Ok, thats weird.

Did you disable all devices in the visual config screen that are set to
probe 0x300?  Realistically you should be disabling all devices that you
know you don't have.

-- 
| Matthew N. Dodd  | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD  |
| winter@jurai.net |       2 x '84 Volvo 245DL        | ix86,sparc,pmax |
| http://www.jurai.net/~winter | This Space For Rent  | ISO8802.5 4ever |
Comment 4 Jin Guojun 2000-02-14 00:03:57 UTC
} > It obviously is the wrong configuration on the installation floppies,
} > because after I installed 4.0-20000208-CURRENT by moving 3c509 to port 0x310,
} > and rebuild the kernel as
} > 
} > device ep
} > 
} > and moved the 3C509 back to port 0x300, the new kernel is happy with it
} > and boots up without any problem.
} 
} Ok, thats weird.
} 
} Did you disable all devices in the visual config screen that are set to
} probe 0x300?  Realistically you should be disabling all devices that you
} know you don't have.

Nop. It could be any one of the following ISA driver with port 0x300
since device "ep" no longer has no dependent description --
	 at isa? port 0x300 irq 10
in its line, so the other devices may be confused. Is there any way
to resolve this problem without disable all such ISA driver?

	-Jin

% more /sys/i386/conf/New
...
# ISA Ethernet NICs.
device          ed0     at isa? port 0x280 irq 10 iomem 0xd8000
device          ex
device          ep   
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attatement needed
# and resources will always be dynamically assigned by the pccard code.
device          wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those paremeters here.
device          an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
#device         ie0     at isa? port 0x300 irq 10 iomem 0xd0000
#device         fe0     at isa? port 0x300
#device         le0     at isa? port 0x300 irq 5 iomem 0xd0000
#device         lnc0    at isa? port 0x280 irq 10 drq 0
#device         cs0     at isa? port 0x300
#device         sn0     at isa? port 0x300 irq 10
Comment 5 winter 2000-02-14 02:36:33 UTC
On Sun, 13 Feb 2000, Jin Guojun wrote:
> Nop. It could be any one of the following ISA driver with port 0x300
> since device "ep" no longer has no dependent description --
> 	 at isa? port 0x300 irq 10
> in its line, so the other devices may be confused. Is there any way
> to resolve this problem without disable all such ISA driver?

Disabling the other drivers is the correct solution.  I believe the
INSTALL procedure makes specific mention of this.

The final solution will be to convert everything to newbus and to make
resource reservation, assignment and activation more friendly.

-- 
| Matthew N. Dodd  | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD  |
| winter@jurai.net |       2 x '84 Volvo 245DL        | ix86,sparc,pmax |
| http://www.jurai.net/~winter | This Space For Rent  | ISO8802.5 4ever |
Comment 6 Jin Guojun 2000-02-14 03:25:47 UTC
>> Nop. It could be any one of the following ISA driver with port 0x300
>> since device "ep" no longer has no dependent description --
>>        at isa? port 0x300 irq 10
>> in its line, so the other devices may be confused. Is there any way
>> to resolve this problem without disable all such ISA driver?
>
>Disabling the other drivers is the correct solution.  I believe the
>INSTALL procedure makes specific mention of this.
>
>The final solution will be to convert everything to newbus and to make
>resource reservation, assignment and activation more friendly.

It should be possible to have the "ep" driver to tell the caller -- 
bus scanner -- that "ep" uses the port 0x300, so do not scan any further
device that has a dependent description -- at isa? port 0x300. Just like
it works before.

What is the reason to take out "at isa? port 0x300" from the 
device ep

line?	Can we still have this information in "device ep" line?

	-Jin
Comment 7 winter 2000-02-14 03:45:32 UTC
On Sun, 13 Feb 2000, Jin Guojun wrote:
> It should be possible to have the "ep" driver to tell the caller --
> bus scanner -- that "ep" uses the port 0x300, so do not scan any
> further device that has a dependent description -- at isa? port 0x300.
> Just like it works before.

Thats not the issue.  The issue is that other drivers aren't listening.

> What is the reason to take out "at isa? port 0x300" from the 
> device ep

Because the 'ep' driver uses an IDENTIFY method to find devices and
doesn't need hardcoding any more.

> line?	Can we still have this information in "device ep" line?

No.  Hardcoded 'hints' are not supported.  If you specify hints for an ep
device its likely it will try and attach twice.

-- 
| Matthew N. Dodd  | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD  |
| winter@jurai.net |       2 x '84 Volvo 245DL        | ix86,sparc,pmax |
| http://www.jurai.net/~winter | This Space For Rent  | ISO8802.5 4ever |
Comment 8 Matthew N. Dodd freebsd_committer freebsd_triage 2000-07-18 07:53:13 UTC
Responsible Changed
From-To: freebsd-bugs->mdodd

'ep' seems to be my problem.
Comment 9 Poul-Henning Kamp freebsd_committer freebsd_triage 2001-06-06 21:53:14 UTC
State Changed
From-To: open->closed

timed out