
Solarflare
Server
Adapter
User
Guide
Solarflare
Adapters
on
Linux
Issue
20
©
Solarflare
Communications
2017
97
Linux
kernel
versions
prior
to
2.6.20
support
up
to
16
MTD
(flash)
devices.
Solarflare
adapters
are
equipped
with
6
flash
partitions.
If
more
than
two
adapters
are
deployed
within
a
system
a
number
of
flash
partitions
will
be
inaccessible
during
upgrade.
The
limit
was
raised
to
32
in
Linux
kernel
version
2.6.20
and
removed
altogether
in
2.6.35.
If
issues
are
encountered
during
sfupdate,
the
user
should
consider
one
of
the
following
options
when
upgrading
firmware
on
systems
equipped
with
more
than
two
Solarflare
adapters:
•
Upgrade
two
adapters
at
a
time
with
the
other
adapters
removed.
•
Upgrade
the
kernel.
•
Rebuild
the
kernel,
raising
the
value
of
MAX_MTD_DEVICES
in
include
/linux/
mtd/mtd.h
.
•
Download
an
Sfutils
bootable
image
from:
https://support.solarflare.com/index.php?id=1960&option=com_cognidox
Overcome
Linux
MTD
Limitations
An
alternative
method
is
available
to
upgrade
the
firmware
without
removing
the
adapters.
1
Unbind
all
interfaces
from
the
drivers:
#
for
bdf
in
$(lspci
‐
D
‐
d
1924:
|
awk
'{
$1
}');
do
\
echo
‐
n
${bdf}\
>
/sys/bus/pci/devices/${bdf}/driver/unbind;
done
2
Identify
the
bus/device/function
for
all
Solarflare
interfaces.
Using
ifconfig
‐
a
will
not
discover
any
Solarflare
interfaces.
Use
lspci
:
#
lspci
‐
D
‐
d
1924:
Output
similar
to
the
following
will
be
produced
(5
NICs
installed
in
this
example):
#
lspci
‐
D
‐
d
1924:
0000:02:00.0
Ethernet
controller:
Solarflare
Communications
SFC9020
[Solarstorm]
0000:02:00.1
Ethernet
controller:
Solarflare
Communications
SFC9020
[Solarstorm]
0000:03:00.0
Ethernet
controller:
Solarflare
Communications
SFC9020
[Solarstorm]
0000:03:00.1
Ethernet
controller:
Solarflare
Communications
SFC9020
[Solarstorm]
0000:04:00.0
Ethernet
controller:
Solarflare
Communications
SFL9021
[Solarstorm]
0000:04:00.1
Ethernet
controller:
Solarflare
Communications
SFL9021
[Solarstorm]
0000:83:00.0
Ethernet
controller:
Solarflare
Communications
SFC9020
[Solarstorm]
0000:83:00.1
Ethernet
controller:
Solarflare
Communications
SFC9020
[Solarstorm]
0000:84:00.0
Ethernet
controller:
Solarflare
Communications
SFC9020
[Solarstorm]
0000:84:00.1
Ethernet
controller:
Solarflare
Communications
SFC9020
[Solarstorm]
3
There
are
enough
resources
to
upgrade
two
NICs
at
a
time,
so
re
‐
bind
interfaces
in
groups
of
four
(2x2NICs):
#
echo
‐
n
"0000:02:00.0"
>
/sys/bus/pci/drivers/sfc/bind
#
echo
‐
n
"0000:02:00.1"
>
/sys/bus/pci/drivers/sfc/bind
#
echo
‐
n
"0000:03:00.0"
>
/sys/bus/pci/drivers/sfc/bind
#
echo
‐
n
"0000:03:00.1"
>
/sys/bus/pci/drivers/sfc/bind