Date: Sun, 31 Mar 2002 16:50:04 -0800 (PST) From: "Jin Guojun[ITG]" <j_guojun@lbl.gov> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/27087: FreeBSD 4.3-RELEASE does not recognize GigE NIC Message-ID: <200204010050.g310o4b57339@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/27087; it has been noted by GNATS. 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. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204010050.g310o4b57339>