From jin@iss-p1.lbl.gov  Fri May  4 20:57:09 2001
Return-Path: <jin@iss-p1.lbl.gov>
Received: from iss-p1.lbl.gov (iss-p1.lbl.gov [131.243.2.47])
	by hub.freebsd.org (Postfix) with ESMTP id 5B81037B43C
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  4 May 2001 20:57:09 -0700 (PDT)
	(envelope-from jin@iss-p1.lbl.gov)
Received: (from jin@localhost)
	by iss-p1.lbl.gov (8.11.3/8.11.3) id f453v9V01075;
	Fri, 4 May 2001 20:57:09 -0700 (PDT)
	(envelope-from jin)
Message-Id: <200105050357.f453v9V01075@iss-p1.lbl.gov>
Date: Fri, 4 May 2001 20:57:09 -0700 (PDT)
From: Jin Guojun (DSD staff) <jin@iss-p1.lbl.gov>
Reply-To: j_guojun@lbl.gov
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: FreeBSD 4.3-RELEASE does not recognize GigE NIC
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         27087
>Category:       kern
>Synopsis:       FreeBSD 4.3-RELEASE does not recognize GigE NIC
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri May 04 21:00:01 PDT 2001
>Closed-Date:    Wed Mar 27 03:52:34 PST 2002
>Last-Modified:  Sun Mar 31 16:50:02 PST 2002
>Originator:     
>Release:        FreeBSD 4.3-RELEASE i386
>Organization:
>Environment:
System: FreeBSD iss-p1.lbl.gov 4.3-RELEASE FreeBSD 4.3-RELEASE #0: Wed May 2 11:12:43 PDT 2001 root@iss-p1.lbl.gov:/usr/src/sys/compile/MinMax i386


	FreeBSD 4.3-RELEASE only

>Description:

	FreeBSD 4.3-RELEASE does not recognize GigE (both ti and sk).
	pci0: <unknown card> (vendor=0x1148, dev=0x4300) at 13.0 irq 12

	kldload if_sk.ko and/or kldload if_ti.ko must be manully added
	into rc.conf file before GigE NIC configured.

	This causes GigE NIC only host not able to do network installation.

>How-To-Repeat:
	Boot by default.
>Fix:

	
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: ashp 
State-Changed-When: Wed Jan 16 19:02:49 PST 2002 
State-Changed-Why:  
Hi, 

Is this still a problem for you?  Which actual GigE device are you using?  We'd 
need more information, such as the exact make/model, and a 'boot -v' to begin 
investigating things further. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27087 
State-Changed-From-To: feedback->closed 
State-Changed-By: murray 
State-Changed-When: Wed Mar 27 03:50:58 PST 2002 
State-Changed-Why:  
There was no space on the kernel floppy for those drivers with 4.3 release. 

With FreeBSD 4.5, we added support for kernel modules to be placed on 
the mfsroot.flp and be loaded by sysinstall(8).  Both the if_ti and 
if_sk modules are included on the mfsroot.flp for 4.5, so you should 
be able to install without a problem.  Please let us know if this is 
still an issue.  Sorry for the trouble with 4.3. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=27087 

From: "Jin Guojun[ITG]" <j_guojun@lbl.gov>
To: murray@FreeBSD.org
Cc: freebsd-bugs@FreeBSD.org
Subject: Re: kern/27087: FreeBSD 4.3-RELEASE does not recognize GigE NIC
Date: Fri, 29 Mar 2002 19:20:34 -0800

 murray@FreeBSD.org wrote:
 > 
 > Synopsis: FreeBSD 4.3-RELEASE does not recognize GigE NIC
 > 
 > State-Changed-From-To: feedback->closed
 > State-Changed-By: murray
 > State-Changed-When: Wed Mar 27 03:50:58 PST 2002
 > State-Changed-Why:
 > There was no space on the kernel floppy for those drivers with 4.3 release.
 > 
 > With FreeBSD 4.5, we added support for kernel modules to be placed on
 > the mfsroot.flp and be loaded by sysinstall(8).  Both the if_ti and
 > if_sk modules are included on the mfsroot.flp for 4.5, so you should
 > be able to install without a problem.  Please let us know if this is
 > still an issue.  Sorry for the trouble with 4.3.
 
 No trouble. We just need to make FreeBSD more robust.
 
 > http://www.freebsd.org/cgi/query-pr.cgi?pr=27087
 
 Acturally, the problem has not been fixed yet. I just retried 4.5-RELEASE,
 and tested 4.5-20020317-STABLE and 4.5-20020329-STABLE, neither one of them
 loads if_ti at installation time nor after installation.
 The problem may be related to what we discussed at Jan. 19, 2002. The
 original discussion is appended for a line in rc.conf:
 
 	network_interfaces="auto"
 
 Please refer to the message below.
 
 	-Jin
 
 ------------ original discussion on Jan. 19, 2002 ------------------
 
 > A slightly cleaner way of loading the module you need is to put the
 > lines:
 > 
 >         if_sk_load="YES"
 >         if_ti_load="YES"
 > 
 > into /boot/loader.conf.  This will cause the applicable module(s) to be
 > loaded along with the kernel.
 > 
 > This doesn't help you for first-time installs though.  But one way to do
 > this is to put the module you need on a floppy disk.  sysinstall now has
 > the ability to load a kernel module from a floppy disk (look on the
 > Configure menu).  This will let you do the installation; you can then
 > manually edit /boot/loader.conf as described above.  Caveat:  I haven't
 > tried this myself.
 
 We should have a better way to do this, because any above solution makes
 the option
 
          network_interfaces="auto"
 
 in /etc/default/rc.conf meaningless to any NIC drivers to use KLD module.
 Currently, this  is a chicken-&-egg problem. Without probing the PCI
 device,
 "ifconfig -l" will not be able to list all interface names. Without a NIC
 name, we cannot configure a such NIC to load its module to probe the
 device (via network_interfaces="auto"). 
 I do not remember what was done prior to the 4.3, this was not a problem
 prior to the 4.3-RELEASE. (probably not use network_interfaces="auto" .)
 
 To make auto configuration useful for loading KLD modules, the PCI probing
 stage need to be smart to load the KLD module when an unconfigured device
 presents and its module is in /modules directory.
 
 We may use a /boot/pci-modules for pci_probe_nomatch() to auto load an
 unknown device. For example, an entry for sk GigE module may look like:
 
 vendor=0x1148   dev=0x4300      /module/if_sk.ko
 
 When no "desc" is returned by an unknown device, check the list described
 in /boot/pci-modules file to see if any module is matched for this device.
 Load the module if the module exists. Then, "ifconfig -l" in rc.network
 can list all NIC names, and auto-config will work for real.
>Unformatted:
