From owner-cvs-all@FreeBSD.ORG Mon Apr 25 23:33:41 2005 Return-Path: Delivered-To: cvs-all@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 618) id CFF5B16A4CF; Mon, 25 Apr 2005 23:33:41 +0000 (GMT) In-Reply-To: <426D755A.4030401@freebsd.org> from David Xu at "Apr 26, 2005 06:55:22 am" To: davidxu@freebsd.org (David Xu) Date: Mon, 25 Apr 2005 23:33:41 +0000 (GMT) X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <20050425233341.CFF5B16A4CF@hub.freebsd.org> From: wpaul@FreeBSD.ORG (Bill Paul) cc: cvs-src@freebsd.org cc: src-committers@freebsd.org cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/dev/vge if_vge.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Apr 2005 23:33:42 -0000 > with this change, I got following error on my abit av8: > vge0: port 0xb800-0xb8ff mem > 0xf8122000-0xf81220ff irq 22 at device 14.0 on pci0 > vge0: MII read timed out > vge0: failed to start MII autopoll > vge0: MII without any phy! > device_attach: vge0 attach returned 6 Fine, I took the reload step out. This should fix it. (If reading the RX filter registers instead of the EEPROM makes it mad, then I'll scream.) > before this change, it can work for a while, then it will timeout : > > vge0: watchdog timeout > vge0: soft reset timed outvge0: EEPROM reload timed out > vge0: setting CAM filter failed > miibus1: unknown CICADA PHY model 0 > miibus1: unknown CICADA PHY model 0 > rl0: link state changed to DOWN It must not be that important to you since you never bothered to mention this to anyone before. Given all the various things it's complaining about when it fails, it looks like the driver is no longer able to communicate with the device over the PCI bus. All register accesses are failing. This may not be a problem with the driver per-se, but with the PCI bridge. It might be the device has completely locked up, but if vge_reset() doesn't bring it back to life, then I don't know what else to do. You can try changing SYS_RES_MEMORY to SYS_RES_IO to have the driver uses prorgrammed I/O register access instead of memory mapped access, but if that doesn'tmake it go away, I would start looking into PCI bridge bugs and workarounds. -Bill