From owner-freebsd-questions@FreeBSD.ORG Fri Sep 10 20:17:44 2004 Return-Path: Delivered-To: freebsd-questions@www.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6278616A4CE for ; Fri, 10 Sep 2004 20:17:44 +0000 (GMT) Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.45]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1035C43D45 for ; Fri, 10 Sep 2004 20:17:44 +0000 (GMT) (envelope-from cswiger@mac.com) Received: from mac.com (smtpin01-en2 [10.13.10.146]) by smtpout.mac.com (Xserve/MantshX 2.0) with ESMTP id i8AKHhFK005710; Fri, 10 Sep 2004 13:17:43 -0700 (PDT) Received: from [10.1.1.245] (nfw2.codefab.com [199.103.21.225] (may be forged)) (authenticated bits=0)i8AKHfrx012335; Fri, 10 Sep 2004 13:17:42 -0700 (PDT) In-Reply-To: <1333.67.167.52.21.1094845927.squirrel@www.l-i-e.com> References: <1093.67.167.52.21.1094522790.squirrel@www.l-i-e.com> <1325.67.167.52.21.1094527694.squirrel@www.l-i-e.com> <10027.66.243.145.85.1094788839.squirrel@www.l-i-e.com> <1333.67.167.52.21.1094845927.squirrel@www.l-i-e.com> Mime-Version: 1.0 (Apple Message framework v619) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <75A7219A-0366-11D9-AB92-003065ABFD92@mac.com> Content-Transfer-Encoding: 7bit From: Charles Swiger Date: Fri, 10 Sep 2004 16:17:37 -0400 To: ceo@l-i-e.com X-Mailer: Apple Mail (2.619) cc: freebsd-questions@www.freebsd.org Subject: Re: Broadcom 440x NIC not recognized on boot X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Sep 2004 20:17:44 -0000 On Sep 10, 2004, at 3:52 PM, Richard Lynch wrote: > Sometimes, when one talks about a "config" file, one is talking about > editing /etc/*.conf, and start/stop a service, or, in extreme cases, > re-booting. > > Are there run-time options to the kernel in such a file? Some of the settings one can make in /etc/rc.conf end up making run-time changes to the kernel. A simple example would be gateway_enable='yes', which sets the sysctl net.inet.ip.forwarding=1. > Or are all kernel-configuration options done at compile-time? No. [ ... ] > Given that this device has a different device identification, but that > Windows identifies it as a BCM 440x, and that bfe supports the BCM > 4401, > and the BFE docs indicate that that driver should work for the BCM 440x > "series", am I reasonable to expect that if I could just add a line of > code somewhere with the new device identification, it has a strong > possibility of working? Yes. Take a look at the code in /usr/src/sys/dev/bfe/if_bfe.c: static struct bfe_type bfe_devs[] = { { BCOM_VENDORID, BCOM_DEVICEID_BCM4401, "Broadcom BCM4401 Fast Ethernet" }, { 0, 0, NULL } }; ...define a BCOM_DEVICEID_BCM4403 in if_bfereg.h, and add a similar entry to the struct above. > What I'm not completely clear on is: > Does a different device ID pretty much guarantee that the same driver > won't work, or do drivers often work for a bunch of chips with > different > IDs that really aren't all that different in API? Really popular chipsets end up being cloned or re-released with minor variants over time, so one driver can handle many different PCI vendor ID/device ID combos. But that all depends on the specific circumstances, there are few generalizations which can be made reliably. -- -Chuck