在存储服务器中安装一块Intel 558双口网卡后,nexenta 3.0.5无法识别,ifconfig -a看不到任何网卡信息,原因是内核尚未装载驱动,接下来需要做的是:

  1. 识别网卡vendor iddevice id

  2. 查找匹配的驱动;

  3. 装载驱动;

  4. 配置网卡;

1. 识别网卡"vendor id"和"device id"

$ sudo prtconf -pv | less
   model:  'Ethernet controller'
   power-consumption:  00000001.00000001
   fast-back-to-back:
   devsel-speed:  00000001
   interrupts:  00000001
   max-latency:  00000038
   min-grant:  00000008
   subsystem-vendor-id:  00008086
   subsystem-id:  000010f0
   unit-address:  '4'
   class-code:  00020000
   revision-id:  00000005
   vendor-id:  00008086
   device-id:  00001229
   name:  'pci8086,10f0'

找到device-id: 00001229,对应的vendor-id: 00008086。接着再找对应的驱动:

2. 查找匹配的驱动

$ sudo grep 1229 /boot/solaris/devicedb/master
pci8086,1229 pci8086,1229 net pci iprb.bef "Intel Pro100/B Fast Ethernet"
pci8086,1229.8086.1009 pci8086,1229 net pci iprb.bef "Intel Pro100/B Fast Ethernet"
pci8086,1229.8086.100c pci8086,1229 net pci iprb.bef "Intel Pro100/B Fast Ethernet"
pci8086,1229.8086.1012 pci8086,1229 net pci iprb.bef "Intel Pro100/B Fast Ethernet"
pci8086,1229.8086.1013 pci8086,1229 net pci iprb.bef "Intel Pro100/B Fast Ethernet"
pci8086,1229.8086.1015 pci8086,1229 net pci iprb.bef "Intel Pro100/B Fast Ethernet"
pci8086,1229.8086.1016 pci8086,1229 net pci iprb.bef "Intel Pro100/B Fast Ethernet"
pci8086,1229.8086.1017 pci8086,1229 net pci iprb.bef "Intel Pro100/B Fast Ethernet"

第一行的结果显示这块网卡用的是iprb驱动,因此

3. 装载驱动

$ sudo modload /kernel/drv/iprb

4. 配置网卡

$ sudo ifconfig iprb0 plumb
$ sudo touch /etc/hostname.iprb0
$ sudo ifconfig iprb1 plumb
$ sudo touch /etc/hostname.iprb1