I just found one interesting post how to install network driver on OpenSolaris. Hope someone will find it useful. Original author is Allen Sanabria.
Now OpenSolaris is not as popular as Linux so there are not as many devices supported as there are for Linux (So bare that in mind). When I first installed OpenSolaris and OpenSolaris booted up just fine, I logged into the nice Gnome Window Manager and opened up a shell. I ran ifconfig –a and it showed two lo interfaces (One ipv4 and the other ipv6) and an nge0 interface (Old Nvidia Drivers).
I had no network connectivity, so I had to google for a few seconds and I found that if you run ifconfig dhcp start this will send a DHCP request to the DHCP server. Well I ran this and it just sat there and waited until it exited with no dhcp server response. I did not know if that was the right driver for my network card though I did assume it was why else OpenSolaris choose that driver for me.
My first instinct is how do I found out for sure that nge was the correct driver for my network card. So I need a utility that is equivalent to lspci in the OpenSolaris world, after some searching I found scanpci and prtconf. Though prtconf did not give me what I was looking for in this situation but scanpci did. This is the output of scanpci for my network controller…
/usr/X11R6/bin/scanpci –v
pci bus 0×0000 cardnum 0×07 function 0×00: vendor 0x10de device 0x03ef
nVidia Corporation MCP61 Ethernet
CardVendor 0×1565 card 0×2505 (Biostar Microtech Int’l Corp, Card unknown)
STATUS 0x00b0 COMMAND 0×0007
CLASS 0×06 0×80 0×00 REVISION 0xa2
BIST 0×00 HEADER 0×00 LATENCY 0×00 CACHE 0×00
BASE0 0xfe02d000 addr 0xfe02d000 MEM
BASE1 0x0000ec01 addr 0x0000ec00 I/O
MAX_LAT 0×14 MIN_GNT 0×01 INT_PIN 0×01 INT_LINE 0x0b
BYTE_0 0×65 BYTE_1 0×15 BYTE_2 0×05 BYTE_3 0×25
The info above was a great help,
- The type of card we have and its model nVidia Corporation MCP61 Ethernet
- The device ID 0x03ef thought all you really need is 03ef
I found this link on the OpenSolaris web site. This link will show you all the supported and third party supported drivers for OpenSolaris. I found the nfo driver which is for the nforce chipset. Though for the third party drivers, OpenSolaris does not provide you the link to the sources or binaries . So after another search on google I found this link http://homepage2.nifty.com/mrym3/taiyodo/eng/. This site was exactly what I needed, Here is the link for the newest driver for nfo.
After I downloaded nfo , here are the steps I took ( They were in the Readme.txt ).
gunzip nfo-2.6.0.tar.gz
tar –xvf nfo-2.6.0.tar
cd nfo-2.6.0
rm obj Makefile
ln –s Makefile.${KARCH}_${COMPILER} Makefile ( for me it was ln –s Makefile.amd64_gcc Makefile )
ln –s ${KARCH} obj ( for me it was ln –s amd64 obj )
rm Makefile.config
ln –s Makefile.config_gld3 Makefile.config
/usr/ccs/bin/make
/usr/ccs/bin/make install
cp nfo.conf /kernel/drv/nfo.conf
./adddrv.sh
modload obj/nfo
devfsadm –i nfo
ifconfig nfoN plumb ( where N is the device number, for me it was nfo0 )
ifconfig nfo0 dhcp start ( this is if you want your interface to use DHCP )
touch /etc/dhcp.nfo0 ( this is if you want your interface to use dhcp when it come back up)
edit /etc/nsswitch.conf ( Where it says host: files, change it to host: files dns )
reboot — r

Posts