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

This entry was posted in Solaris 10 x86 on by .

About morgan

Morgan is a freelance IT consultant living in Philadelphia. He lives with his girlfriend in an old house in Fishtown that they may never finish renovating. His focus is enterprise Messaging (think email) and Directory. Many of his customers are education, school districts and Universities. He also gets involved with most aspects of enterprise Linux and UNIX (mostly Solaris) administration, Perl, hopefully Ruby, PHP, some Java and C programming. He holds a romantic attachment to software development though he spends most of his time making software work rather than making software. He rides motorcycles both on and off the track, reads literature with vague thoughts of giving up IT to teach English literature.

One thought on “Solaris 10 x86 network card driver configuration

Leave a Reply

Your email address will not be published. Required fields are marked *