From owner-freebsd-stable@FreeBSD.ORG Tue Aug 10 10:57:24 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 799B21065673 for ; Tue, 10 Aug 2010 10:57:24 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from qmta09.emeryville.ca.mail.comcast.net (qmta09.emeryville.ca.mail.comcast.net [76.96.30.96]) by mx1.freebsd.org (Postfix) with ESMTP id 5E2A58FC20 for ; Tue, 10 Aug 2010 10:57:24 +0000 (UTC) Received: from omta01.emeryville.ca.mail.comcast.net ([76.96.30.11]) by qmta09.emeryville.ca.mail.comcast.net with comcast id sawq1e0030EPchoA9axQM7; Tue, 10 Aug 2010 10:57:24 +0000 Received: from koitsu.dyndns.org ([98.248.41.155]) by omta01.emeryville.ca.mail.comcast.net with comcast id saxN1e0043LrwQ28MaxPMU; Tue, 10 Aug 2010 10:57:23 +0000 Received: by icarus.home.lan (Postfix, from userid 1000) id A7A1C9B425; Tue, 10 Aug 2010 03:57:22 -0700 (PDT) Date: Tue, 10 Aug 2010 03:57:22 -0700 From: Jeremy Chadwick To: Steven Hartland Message-ID: <20100810105722.GA32407@icarus.home.lan> References: <10F0535B998A4923BF9CFD85DF936473@multiplay.co.uk> <20100810100414.GA31621@icarus.home.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Cc: FreeBSD Net , FreeBSD Current , FreeBSD stable , Jack Vogel Subject: Re: Watchdog resets on 82575 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Aug 2010 10:57:24 -0000 On Tue, Aug 10, 2010 at 11:23:26AM +0100, Steven Hartland wrote: > Thanks Jeremy, from that we get:- > > igb0@pci0:1:0:0: class=0x020000 card=0x060015d9 chip=0x10c98086 rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > class = network > subclass = ethernet > cap 01[40] = powerspec 3 supports D0 D3 current D0 > cap 05[50] = MSI supports 1 message, 64 bit, vector masks > cap 11[70] = MSI-X supports 10 messages in map 0x1c enabled > cap 10[a0] = PCI-Express 2 endpoint max data 256(512) link x4(x4) > igb1@pci0:1:0:1: class=0x020000 card=0x060015d9 chip=0x10c98086 rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > class = network > subclass = ethernet > cap 01[40] = powerspec 3 supports D0 D3 current D0 > cap 05[50] = MSI supports 1 message, 64 bit, vector masks > cap 11[70] = MSI-X supports 10 messages in map 0x1c enabled > cap 10[a0] = PCI-Express 2 endpoint max data 256(512) link x4(x4) > > I assume there is a way to convert from the hex values to the human value > but not sure what it is? The "card" and "chip" identifiers are part of the PCI ID specification. You can see what the "human value" is by examining the source code for the driver. Sometimes it's easy to figure out, other times there's a series of #define's which you have to reverse engineer. In this case, there's two places with relevant information: src/sys/dev/e1000/if_igb.c src/sys/dev/e1000/e1000_hw.h You have to split the Chip ID into two separate 16-bit portions, so 0x10c9 and 0x8086. 0x8086 is Intel's vendor code. 0x10c9 is the device ID of the individual NIC/model type. So: $ grep -i 0x10c9 * e1000_hw.h:#define E1000_DEV_ID_82576 0x10C9 For Jack: igb_vendor_info_array should really be extended to include actual ASCII strings for the individual chips/models/codenames. I'm sure that's on your todo list somewhere. I'd be willing to write this but would need a list of the models (or maybe the Linux driver has them in comments, etc. and I could go off of that). -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |