> I've got a machine with an nForce3 250 chipset. The
> Ethernet controller isn't seen on install by either
> Sol10 03/05 or Nevada b.24
> I follow the instructions in the HCL (download the
> driver from SysKonnect, add to machine, run
> "update_drv -a -i "pci1297,c231" skge...)
> But still no luck.

That would be a pci vendor id "1297", which mapps
to "Shuttle Computer".

Most likely the device name "pci1297,c231" was constructed
from pci subsystem-vendor-id / subsystem-id.  It's not 
recommended to use the subsystem-*-id values;  use
the pci vendor/device id fields!

> I know the ethernet card works
> under Windows, and while I can't be sure that
> prntconf -v show it (I have several entries with
> "driver not attached" in the output there), I know
> that scanpci (called from /usr/X11/bin/scanpci) shows
> that I have what it calls an "nVidia ethernet
> controller" at a specific PCI slot #.
> 
> My guess is that the cryptic message "driver loaded
> but could not attach" that I get when installing the
> sysconnect driver means something along the lines of
> "can't find the address of the specific card this
> driver goes to on any known local bus". How close am
> I with that?
> 
> My questions for all you kernel guys out there are:
> 
> 1.) What do the numbers in /etc/driver_aliases mean?
> For example, an entry might be 'skge "pci1297,c231'.
> So, drivername/space/somenumber/comma/someothernumber.
> Where do these come from?

>From the PCI device's vendor and device ID field
(and sometimes also the pci subsystem-vendor-id and
subsystem-id field).

Each pci hardware node in the system defines a list of
names constructed from the pci vendor/device/subsystem-vendor/
subsystem-id, revision and pci class code fields, sorted from most
specific names to less specific names.  This is the "compatible" string
array property in "prtconf" output.


The kernel uses the driver binding entries from /etc/driver_aliases 
and tries to match them against one of the strings in the
"compatible:" array.  As soon as a match is found, the kernel
knows that the driver from the /etc/driver_aliases entry can be used
with the pci hardware node.

> 2.) How do those numbers correspond with the output
> from scanpci?

They should basically list exactly the same stuff for pci devices, 
but due to bugs ([*] in the Solaris kernel, not in scanpci), scanpci
sometimes lists more devices that prtconf.

Note it's the prtconf information that matters for kernel
driver binding.  For Solaris upto Solaris 10, you should
look at "prtconf -pv" output, for OpenSolaris you should
look at "prtconf -v" output [*].

> 3.)What is the difference between scanpci and prtconf
> -v, w.r.t. sifting the right info out of the hw? Why
> does scanpci mention that I have an ethernet
> controller and prtconf seems to be oblivious?

[*] e.g. bug 6323481: pci device enumeration for multifunction
pci devices is incomplete
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6323481

Or this thread (pci devices missing in "prtconf -pv" device tree):
http://www.opensolaris.org/jive/thread.jspa?threadID=2241&tstart=15
http://www.opensolaris.org/jive/thread.jspa?threadID=2252&tstart=15
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to