From owner-freebsd-stable Sat Mar 25 14:56:43 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 4C00037B8B5 for ; Sat, 25 Mar 2000 14:56:35 -0800 (PST) (envelope-from iwasaki@jp.FreeBSD.org) Received: from localhost (isdn36.imasy.or.jp [202.227.24.228]) by tasogare.imasy.or.jp (8.9.3+3.2W/3.7W-tasogare/smtpfeed 1.01) with ESMTP id HAA22589; Sun, 26 Mar 2000 07:56:26 +0900 (JST) (envelope-from iwasaki@jp.FreeBSD.org) Message-Id: <200003252256.HAA22589@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 14:59:03 -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: Sun, 26 Mar 2000 07:56:22 +0900 From: Mitsuru IWASAKI X-Dispatcher: imput version 980905(IM100) Lines: 82 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, > You've totally not solved the problem. I just want to get verbose boot messages by solving `eeprom failed to come ready' and locking up problem quickly. I also don't think that's hack for true solution... BTW, thanks for your explanations and advices. I bought and install FD drive, then configure my 509B NIC with 3c5x9cfg.exe in Non-PnP mode. Now I'm able to use it on 4-stable and 5-current (but still have problems in PnP mode)! As you said, my 3c509's EEPROM seems have some corruption, that's why FreeBSD 4-stable and 5-current can't handle it while it works fine on 3-stable or Linux with no problems. With 3c5x9cfg.exe, I configured my NIC, IRQ = 10, port = 0x300, PnP enabled first, I got following boot messages and networking very slow because of IRQ (5) conflicts with my SB sound card (non-PnP ISA), I suspect. TCM5090: adding irq mask 0x9ea8 TCM5090: adding io range 0x210-0x3ef, size=0x10, align=0x10 : isa0: if_ep: <3Com 3C509-TP EtherLink III> at 0x300 in PnP mode! : ^^^ configured io-port address isa_probe_children: probing PnP devices ep0: <3Com 3C509B-TP EtherLink III (PnP)> at port 0x210-0x21f irq 5 on isa0 ^^^ not 300 ^ not 10 So I configured my NIC again with 3c5x9cfg.exe to PnP disabled then OK. Now I have a proposal. How about the restoration of traditional isa ep configuration like this? device ep0 at isa? port 0x300 irq 10 Giving configuraion hints would be useful for NIC which has corrupted EEPROM by long time usage or can conflict on resources with other devices unkown by kernel. I have 3 more boxes with 509B running on 3-stable. None of them have FD drive unfortunately, so I won't upgrade them to 4-stable. # I probably install Linux for them in the future :) This is my understanding what is happening now: > > - The PnP enumerator runs and identifies PnP devices. > - The 3c509 board is found and a device is created. sys/isa/pnp.c:pnp_identify(), pnp_isolation_protocol(), pnp_create_devices() and sys/isa/pnpparse.c:pnp_parse_resources() are doing this, and output these messages. Trying Read_Port at 243 TCM5090: adding irq mask 0x9ea8 TCM5090: adding io range 0x210-0x3ef, size=0x10, align=0x10 > - ep_isa_identify() runs and finds -the same board- and > pulls the last configured (with 3c5x9cfg.exe) settings > from the EEPROM. The board is activated. ep_isa_identify() reads settings from EEPROM and retrieves IRQ and IOPORT, then just prints this without creating device if PnP mode. isa0: if_ep: <3Com 3C509-TP EtherLink III> at 0x300 in PnP mode! > - ep_isa_probe() runs against the device created by > ep_isa_identify(). Now in PnP mode, ep_isa_probe() can't be called because the device wasn't created. > - The PnP system activates the 3c509 device that the > enumerator found and assigns it resources. sys/isa/isa_common.c:isa_probe_children(), isa_assign_resources() determine resources to allocate for the device based on struct isa_config entries created by pnp_parse_resources() (?), they aren't the same as the last configured settings from EEPROM. Unfortunately assigned IRQ conflicts with SB card which not probed by kernel. This makes networking very slow I guess. Thanks! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message