How to Install Last SysKonnect Gigabit Marvell Ethernet driver on OpenSolaris Indiana
Create an alternate boot environment to test the new driver(Recommended because very-very easy to go back in case of failure)
Get
your last OpenSolaris BE number
# N=`beadm
list |tail -1 |nawk -F'-' '{print $2}'`
#
echo $N
7
<= it should be a number
Create
Your ABE with beadm
# beadm
create opensolaris-$N
#
beadm mount
opensolaris-$N /a
#
beadm unmount
opensolaris-$N
Reboot to the new boot-environment “opensolaris-$N”
#
beadm activate
opensolaris-$N
#
init 6
Identify your Ethernet Marvell device driver aliases:
#
/usr/X11/bin/scanpci
-v
pci bus
0x0002 cardnum 0x00 function 0x00: vendor 0x11ab
device 0x4362
Marvell
Technology Group Ltd. 88E8053
PCI-E Gigabit Ethernet
Controller
CardVendor 0x1179
card 0x0001 (Toshiba
America Info Systems Marvell 88E8053
Gigabit Ethernet
Controller (Toshiba))
STATUS 0x4010 COMMAND 0x0047
CLASS 0x02
0x00 0x00 REVISION 0x15
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE
0x08
BASE0 0x00000000cdffc004 addr 0x00000000cdffc000 MEM 64BIT
BASE2 0x0000ce01 addr 0x0000ce00 I/O
MAX_LAT 0x00 MIN_GNT
0x00 INT_PIN 0x01 INT_LINE 0x0a
BYTE_0 0x00 BYTE_1 0x00 BYTE_2
0xb0 BYTE_3 0x41
Display device driver aliases with prtconf command (Vendor 0x11ab and card 0x1179)
#
prtconf -pv
|grep 11ab |grep 1179
compatible:
'pciex11ab,4362.1179.1.15' + 'pciex11ab,4362.1179.1' +
'pciex11ab,4362.15' + 'pciex11ab,4362' + 'pciexclass,020000' +
'pciexclass,0200' +
'pci11ab,4362.1179.1.15' +
'pci11ab,4362.1179.1' + 'pci1179,1' + 'pci11ab,4362.15' +
'pci11ab,4362' + 'pciclass,020000' + 'pciclass,0200'
Download the last Package file Marvell Driver for Solaris 10 x86 here Download :
Remove your last skge or yukonx device driver:
#
pkgrm SKGEsol
or
# pkgrm YUKONXsol
Unzip the last skge driver and check the device_driver aliases used by the postinstall script:
#
uncompress
skgesol_x86v8.19.1.3.tar.Z
#
tar
xf skgesol_x86v8.19.1.3.tar
#
grep
"/usr/sbin/add_drv" ./SKGEsol/install/postinstall
/usr/sbin/add_drv
-m '* 0660 root sys' -i '"pci1148,9000" "pci1148,9e00"
"pci1148,5021" "pci1148,5041" "pci1148,5043"
"pci1148,5051" "pci1148,5061"
"pci1148,5071"
"pci1148,5081" "pci1148,9821" "pci1148,9822"
"pci1148,9841"
"pci1148,9842" "pci1148,9843"
"pci1148,9844" "pci1148,9861" "pci1148,9862"
"pci1148,9871" "pci1148,9872" "pci1259,2970"
"pci1259,2971" "pci1259,2972"
"pci1259,2975"
"pci1259,2976" "pci1259,2977" "pci1148,121"
"pci1148,221"
"pci1148,321" "pci1148,421"
"pci1148,621" "pci1148,721" "pci1148,821"
"pci1148,921" "pci1148,1121" "pci1148,1221"
"pci1148,3221"' $DRIVERNAME
We can see that post install script used pci1148 device driver instead of pci11ab.
So Install the package with pkgadd
#
pkgadd -d ./
The following packages are available:
1
SKGEsol SysKonnect Gigabit Ethernet Adapter families 32 bit driver
(i386) 8.19.1.3
Select package(s) you wish to process (or
'all' to process
all packages). (default: all) [?,??,q]:
The
add_drv will failed
And run the following command
#
/usr/sbin/rem_drv skge
# /usr/sbin/add_drv -m '* 0660
root sys' -i '"pci11ab,4320" "pci11ab,4340"
"pci11ab,4341" "pci11ab,4342" "pci11ab,4343"
"pci11ab,4344" "pci11ab,4345" "pci11ab,4346"
"pci11ab,4347" "pci11ab,4350" "pci11ab,4351"
"pci11ab,4360" "pci11ab,4361" "pci11ab,4362"'
skge
# echo $?
0
# touch /reconfigure
Reboot and Test skge 0 network interface
# init 6
#
grep skge /etc/path_to_inst
"/pci@0,0/pci8086,2660@1c/pci1179,1@0" 0 "skge"
#
grep skge /etc/driver_aliases
skge "pci11ab,4320"
skge "pci11ab,4340"
skge "pci11ab,4341"
skge "pci11ab,4342"
skge "pci11ab,4343"
skge "pci11ab,4344"
skge "pci11ab,4345"
skge "pci11ab,4346"
skge "pci11ab,4347"
skge "pci11ab,4350"
skge "pci11ab,4351"
skge "pci11ab,4360"
skge "pci11ab,4361"
skge "pci11ab,4362"
#
ifconfig skge0 plumb
# ifconfig skge0
skge0:
flags=201000842<BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 1500
index 4
inet 0.0.0.0 netmask 0
ether 0:e:7b:cc:3d:64
#
ifconfig skge0 dhcp
ifconfig skge0
skge0:
flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS>
mtu 1500 index 2
inet 192.168.0.2 netmask ffffff00
broadcast 192.168.0.255
ether 0:e:7b:cc:3d:64
In case of problem Just reboot to your last BE