Twitter Updates

    follow me on Twitter

    G-AVLN in front of her home

    G-AVLN in front of her home

    Mostly Unix and Linux topics. But flying might get a mention too.

    Wednesday, June 10, 2009

    Forcing Solaris 10 to recognise network interface

    Installed six PCs with Solaris 10 (10/08). Only two out of of them installed with correct network configuration. The unfortunate four didn't recognise the card at all, no kernel module included.

    Standard (well, for Solaris) tools like kstat -c net, or dladm show-dev had no network card information ...

    Quite a bit of trial and error later (not forgetting googling), here is a working solution:

    1. Identify the PCI vendor/device information:

    # prtconf -pv | more

    Search for Ethernet paragraph (you can do it within more using /Ethernet) and identify its vendor/device data. On my system, it showed:

    vendor-id 00008086
    device-id 00001050

    The last 4 digits of these two values is what we are after.

    To find out which particular card this is, I googled for "pci8086,1050" and it's "Intel 82562EZ PRO/100 VE Ethernet"

    2. Configure device database

    # vi /boot/solaris/devicedb/master

    Go to the section with pci8086 entries, possibly using vi's search:

    /^pci8086

    Insert the following line (ensure it goes in the proper numerical order of the vendor/device pairing):

    pci8086,1050 pci8086,1050 net pci iprb.bef "Intel 82562EZ PRO/100 VE Ethernet"

    3. Add a new alias to the card

    # vi /etc/driver_aliases

    Search for the iprb related section and insert the following line (in the right alphabetically place):

    iprb "pci8086,1050"

    4. Load the kernel driver module for the interface

    # modload /kernel/drv/iprb

    5. Perform a 'reconfigure' reboot. First initialise the reconfigure flag file, then reboot the machine:

    # touch /reconfigure
    # reboot


    6. After the reboot, 'plumb' the card in and complete the configuration (here, I'm assuming IP address of 192.168.1.100):

    # ifconfig iprb0 plumb
    # ifconfig iprb0 192.168.1.100 up
    # touch /etc/hostname.iprb0

    Make sure that the hosts file under /etc/inet is fine. Mine has the following lines:

    127.0.0.1 localhost localhost.qa.com
    192.168.1.100 yogi yogi.qa.com loghost

    Notice that on Solaris the main /etc/hosts file is a symbolic link to /etc/inet/hosts and in addition it will be replicated (automatically) into /etc/inet/ipnodes as well.

    No comments:

    Blog Archive