Lines Matching +full:system +full:- +full:firmware
1 .. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
14 - `Overview`_
15 - `Acquiring Firmware`_
16 - `Devlink Info`_
17 - `Configure Device`_
18 - `Statistics`_
25 are also incorporated in the companies' family of Agilio SmartNICs. The SR-IOV
28 Acquiring Firmware
31 The NFP3800, NFP4000 and NFP6000 devices require application specific firmware
32 to function. Application firmware can be located either on the host file system
33 or in the device flash (if supported by management firmware).
35 Firmware files on the host filesystem contain card type (`AMDA-*` string), media
36 config etc. They should be placed in `/lib/firmware/netronome` directory to
37 load firmware from the host file system.
39 Firmware for basic NIC operation is available in the upstream
40 `linux-firmware.git` repository.
42 A more comprehensive list of firmware can be downloaded from the
45 Firmware in NVRAM
46 -----------------
48 Recent versions of management firmware supports loading application
49 firmware from flash when the host driver gets probed. The firmware loading
52 Devlink or ethtool can be used to update the application firmware on the device
54 command. Users need to take care to write the correct firmware image for the
60 ------------------------------
63 firmware images targeting different applications.
65 When using application firmware from host, we recommend placing
66 actual firmware files in application-named subdirectories in
67 `/lib/firmware/netronome` and linking the desired files, e.g.::
69 $ tree /lib/firmware/netronome/
70 /lib/firmware/netronome/
72 │ ├── nic_AMDA0081-0001_1x40.nffw
73 │ └── nic_AMDA0081-0001_4x10.nffw
75 │ ├── nic_AMDA0081-0001_1x40.nffw
76 │ └── nic_AMDA0081-0001_4x10.nffw
78 │ ├── nic_AMDA0081-0001_1x40.nffw
79 │ └── nic_AMDA0081-0001_4x10.nffw
80 ├── nic_AMDA0081-0001_1x40.nffw -> bpf/nic_AMDA0081-0001_1x40.nffw
81 └── nic_AMDA0081-0001_4x10.nffw -> bpf/nic_AMDA0081-0001_4x10.nffw
88 After changing firmware files you may need to regenerate the initramfs
89 image. Initramfs contains drivers and firmware files your system may
92 is system loading wrong driver or firmware on boot, but when driver is
95 Selecting firmware per device
96 -----------------------------
98 Most commonly all cards on the system use the same type of firmware.
99 If you want to load a specific firmware image for a specific card, you
103 nfp: Looking for firmware file in order of priority:
104 nfp: netronome/serial-00-12-34-aa-bb-cc-10-ff.nffw: not found
105 nfp: netronome/pci-0000:02:00.0.nffw: not found
106 nfp: netronome/nic_AMDA0081-0001_1x40.nffw: found, loading...
108 In this case if file (or link) called *serial-00-12-34-aa-bb-5d-10-ff.nffw*
109 or *pci-0000:02:00.0.nffw* is present in `/lib/firmware/netronome` this
110 firmware file will take precedence over `nic_AMDA*` files.
112 Note that `serial-*` and `pci-*` files are **not** automatically included
116 Running firmware version
117 ------------------------
119 The version of the loaded firmware for a particular <netdev> interface,
123 $ ethtool -i <netdev>
125 Firmware loading policy
126 -----------------------
128 Firmware loading policy is controlled via three HWinfo parameters
132 Defines which firmware should take precedence, 'Disk' (0), 'Flash' (1) or
133 the 'Preferred' (2) firmware. When 'Preferred' is selected, the management
134 firmware makes the decision over which firmware will be loaded by comparing
135 versions of the flash firmware and the host supplied firmware.
140 Defines if the driver should reset the firmware when
141 the driver is probed, either 'Disk' (0) if firmware was found on disk,
143 reset on driver unload if firmware was loaded when the driver was probed.
154 The devlink info command displays the running and stored firmware versions
162 serial_number CSAAMDA2001-1003000111
165 board.id AMDA2001-1003
170 fw.mgmt 22.10.0-rc3
172 fw.app nic-22.09.0
173 chip.init AMDA-2001-1003 1003000111
176 fw.mgmt 22.10.0-rc3
178 chip.init AMDA-2001-1003 1003000111
183 This section explains how to use Agilio SmartNICs running basic NIC firmware.
185 Configure interface link-speed
186 ------------------------------
196 Set interface link-speed to 10G::
198 $ ethtool -s <netdev port 0> speed 10000
199 $ ethtool -s <netdev port 1> speed 10000
201 Set interface link-speed to 25G::
203 $ ethtool -s <netdev port 0> speed 25000
204 $ ethtool -s <netdev port 1> speed 25000
211 ---------------------------------------------------
233 ----------------------------------------------
235 Agilio SmartNICs support FEC mode configuration, e.g. Auto, Firecode Base-R,
244 $ ethtool --show-fec <netdev>
246 To force the FEC mode for a particular port, auto-negotiation must be disabled
247 (see the `Auto-negotiation`_ section). An example of how to set the FEC mode
248 to Reed-Solomon is::
250 $ ethtool --set-fec <netdev> encoding rs
252 Auto-negotiation
253 ----------------
255 To change auto-negotiation settings, the link must first be put down. After the
256 link is down, auto-negotiation can be enabled or disabled using::
258 ethtool -s <netdev> autoneg <on|off>
263 Following device statistics are available through the ``ethtool -S`` interface:
265 .. flat-table:: NFP device statistics
266 :header-rows: 1
269 * - Name
270 - ID
271 - Meaning
273 * - dev_rx_discards
274 - 1
275 - Packet can be discarded on the RX path for one of the following reasons:
288 * - dev_rx_errors
289 - 2
290 - A packet can be counted (and dropped) as RX error for the following
293 * A problem with the VEB lookup (only when SR-IOV is used).
297 * - dev_rx_bytes
298 - 3
299 - Total number of bytes received.
301 * - dev_rx_uc_bytes
302 - 4
303 - Unicast bytes received.
305 * - dev_rx_mc_bytes
306 - 5
307 - Multicast bytes received.
309 * - dev_rx_bc_bytes
310 - 6
311 - Broadcast bytes received.
313 * - dev_rx_pkts
314 - 7
315 - Total number of packets received.
317 * - dev_rx_mc_pkts
318 - 8
319 - Multicast packets received.
321 * - dev_rx_bc_pkts
322 - 9
323 - Broadcast packets received.
325 * - dev_tx_discards
326 - 10
327 - A packet can be discarded in the TX direction if the MAC is
330 * - dev_tx_errors
331 - 11
332 - A packet can be counted as TX error (and dropped) for one for the
344 * - dev_tx_bytes
345 - 12
346 - Total number of bytes transmitted.
348 * - dev_tx_uc_bytes
349 - 13
350 - Unicast bytes transmitted.
352 * - dev_tx_mc_bytes
353 - 14
354 - Multicast bytes transmitted.
356 * - dev_tx_bc_bytes
357 - 15
358 - Broadcast bytes transmitted.
360 * - dev_tx_pkts
361 - 16
362 - Total number of packets transmitted.
364 * - dev_tx_mc_pkts
365 - 17
366 - Multicast packets transmitted.
368 * - dev_tx_bc_pkts
369 - 18
370 - Broadcast packets transmitted.