Skip to content

Instantly share code, notes, and snippets.

@andrewlkho
Last active August 29, 2015 13:58
Show Gist options
  • Save andrewlkho/9943678 to your computer and use it in GitHub Desktop.
Save andrewlkho/9943678 to your computer and use it in GitHub Desktop.
An unsupported NIC: how to enable support for Intel EtherExpress 10/100 on Solaris

This was originally posted on 2007-01-05 to http://andrewho.co.uk/weblog/an-unsupported-nic

According to the HCL, my network card (an Intel EtherExpress 10/100) isn't natively supported by Solaris, and this can easily be confirmed with the handy Installation Check Tool. However, after a bit of research, I'm fairly certain that it does in fact work with the iprb driver. So, let's let Solaris know this.

Searching the ouput of prtconf -pv for 00020000 (the class-code for ethernet controllers) gives us enough information for the device.

subsystem-vendor-id: 00008086
subsystem-id: 0000302f

The following line therefore needs to be put into /etc/driver_aliases and the system rebooted.

iprb "pci 8086,302f"

Standard ethernet configuration can now take place. Put the system's name into /etc/nodename.

# echo sunserver > /etc/nodename

The file /etc/hostname.iprb0 needs to know the hostname of the interface.

# echo sunserver > /etc/hostname.iprb0

The netmasks need to be added to /etc/netmasks.

# grep '^[0-9]' /etc/netmasks
192.168.1.0 255.255.255.0

Tell /etc/hosts and /etc/inet/ipnodes what the IP address is.

# grep '^[0-9]' /etc/hosts
127.0.0.1       localhost       loghost
192.168.1.123   sunserver
# grep '^[0-9:]' /etc/inet/ipnodes
::1             localhost       loghost
127.0.0.1       localhost       loghost
192.168.1.123   sunserver

Enter nameserver information into /etc/resolv.conf.

# cat /etc/resolv.conf
nameserver 192.168.1.2
nameserver 192.168.1.3

Put the gateway's IP into /etc/defaultrouter.

# echo 192.168.1.1 > /etc/defaultrouter

The system needs to know to use DNS to resolve hostnames.

# grep '^hosts' /etc/nsswitch.conf
hosts:      files dns

Finally, restart the interface and we should be good to go.

# svcadm restart svc:/network/physical
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment