|
I'm a complete NEWBIE to the OpenSolaris world!!!! So I am writing this HowTo for all the OpenSolaris NEWBIE'S out there... I'll do my best to explain how to setup basic networking on OpenSolaris as I was stuck for a good 3 hours trying to get basic networking connectivity working.
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 <interface_name> 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 0x0000 cardnum 0x07 function 0x00: vendor 0x10de device 0x03ef
nVidia Corporation MCP61 Ethernet
CardVendor 0x1565 card 0x2505 (Biostar Microtech Int'l Corp, Card unknown)
STATUS 0x00b0 COMMAND 0x0007
CLASS 0x06 0x80 0x00 REVISION 0xa2
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE0 0xfe02d000 addr 0xfe02d000 MEM
BASE1 0x0000ec01 addr 0x0000ec00 I/O
MAX_LAT 0x14 MIN_GNT 0x01 INT_PIN 0x01 INT_LINE 0x0b
BYTE_0 0x65 BYTE_1 0x15 BYTE_2 0x05 BYTE_3 0x25
The info above was a great help,
1- The type of card we have and its model " nVidia Corporation MCP61 Ethernet"
2- 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
I am now connected to the internet!!! Everything I did above is what lead me to internet connectivity. The reason I gave you all the steps I had to do is so that you do not have to go through the same pain I did and at the same time learn some Solaris specific commands.Next I will give you the normal steps to get network connectivity. Steps for DHCP and steps for Static network connectivity.
|