Category Archives: Solaris 10 x86

Solaris 10 x86 network card driver configuration

Solaris 10 x86 ships with drivers for many cards but often doesn’t include an alias for for the location of the card in your machine. This was the case with my Dell e510.

We installed hardware release 6/06 on Gateway E-4500D today, the onboard Broadcom is not supported. The chip on the board is labeled BCM5752. I was able to configure the card and plumb it but it came up with ether 0:0:0:0:0:0. A few ifconfig commands later the machine hung solid. Fortunately we had a 3com 3c905 on hand.

There’s a list of supported cards and an almost complete how-to
here. Look up your card to determine the driver. The 3com 3c905 is ‘elxl .’

We rebooted, disabled the onboard network in the BIOS and installed the 3com 3c905.

Locate the device-id of the card:


# prtconf -pv
...
                model:  'Ethernet controller'
                power-consumption:  00000001.00000001
                devsel-speed:  00000001
                interrupts:  00000001
                max-latency:  0000000a
                min-grant:  0000000a
                subsystem-vendor-id:  000010b7
                subsystem-id:  00001000
                unit-address:  '0'
                class-code:  00020000
                revision-id:  00000078
                vendor-id:  000010b7
                device-id:  00009200
                name:  'pci10b7,1000'
...

look for ‘Ethernet Controller,’ then note the device-id. In this case it’s ‘9200.’

backup /etc/driver_aliases:


# cd /etc
# cp driver_aliases driver_aliases.061024

edit driver_aliases, search down for the last elxl (see reference above)
copy the last elxl entry and substitute the device-id for everything after the comma:


# vi /etc/driver_aliases
elxl "pci10b7,9200"

load the driver, plumb and configure the interface:


# cd /kernel
# modload drv/elxl
# iconfig elxl0 plumb
# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
elxl0: flags=1004843 mtu 1500 index 2
        inet 0.0.0.0 netmask 0
        ether 0:a:5e:61:af:c2
# ifconfig elxl0 dhcp
# ifconfig elxl0
lo0: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
elxl0: flags=1004843 mtu 1500 index 2
        inet 192.168.1.34 netmask ffffff00 broadcast 10.115.1.255
        ether 0:a:5e:51:af:c3
#

Set the machine to dhcp:
defails here.

In brief:


# touch /etc/hostname.elxl0 /etc/dhcp.elxl0