blob: 0cb72a9c8e8ec5652bcf7cf3b27518585d590749 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
#
# Copyright (C) 2024 Til Kaiser
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=mstflint
PKG_VERSION:=4.35.0
PKG_SUBVERSION:=1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SUBVERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/Mellanox/$(PKG_NAME)/releases/download/v$(PKG_VERSION)-$(PKG_SUBVERSION)
PKG_SOURCE_DATE:=2026-02-22
PKG_HASH:=a138686f9298cd057371bc9bb2673e97b5b3e4b022b91ce1f6538533664c112d
PKG_MAINTAINER:=Til Kaiser <mail@tk154.de>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/mstflint
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Mellanox Firmware Burning and Diagnostics Tools
URL:=https://github.com/Mellanox/mstflint
DEPENDS:=@!(mips||mips64||mipsel) \
+libcurl +libexpat +liblzma +libopenssl \
+libsqlite3 +libstdcpp +libxml2
endef
define Package/mstflint/description
This package contains a burning tool and diagnostic
tools for Mellanox manufactured HCA/NIC cards.
Package Contents:
mflash lib
This lib provides low level Flash
access through Mellanox HCAs.
mtcr lib (implemented in mtcr.h file)
This lib enables access to HCA hardware registers.
mstregdump
This utility dumps hardware registers from
Mellanox hardware for later analysis by Mellanox.
mstvpd
This utility dumps the on-card VPD.
mstmcra
This debug utility reads/writes a to/from
the device configuration register space.
mstconfig
This tool sets or queries non-volatile
configurable options for Mellanox HCAs.
mstfwmanager
Mellanox firmware update and query utility which scans
the system for available Mellanox devices (only mst
PCI devices) and performs the necessary firmware updates.
mstreg
The mlxreg utility allows users to obtain information
regarding supported access registers, such as their
fields and attributes.
mstfwtrace
The mstfwtrace utility extracts and prints trace messages
generated by the firmware running on 5th generation
devices iRISCs. This tool supports secure FW flow only.
mstlink
The mstlink tool is used to check and debug
link status and issues related to them.
endef
define Package/mstflint/config
config PACKAGE_MSTFLINT_INCLUDE_PYTHON
bool "Include Python-dependent tools"
default y
depends on PACKAGE_mstflint
select PACKAGE_python3-ctypes
select PACKAGE_python3-logging
select PACKAGE_python3-xml
help
All mstflint tools including the following Python-dependent:
msftwreset, mstfwtrace, mstprivhost,
mstresourcedump, mstresourceparse
endef
CONFIGURE_ARGS += \
--enable-fw-mgr \
--disable-inband \
--enable-adb-generic-tools
TARGET_CFLAGS += \
-D_GNU_SOURCE \
-I$(STAGING_DIR)/usr/include/libxml2
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/mstflint $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/mstflint $(1)/usr/lib/
endef
define Package/mstflint/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstarchive $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstconfig $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstcongestion $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstdevices_info $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstflint $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstfwctrl $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstfwmanager $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstlink $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstmcra $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstmget_temp $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstmread $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstmtserver $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstmwrite $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstreg $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstregdump $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/msttokengenerator $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstvpd $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/share/mstflint
$(CP) $(PKG_INSTALL_DIR)/usr/share/mstflint $(1)/usr/share/
ifeq ($(CONFIG_PACKAGE_MSTFLINT_INCLUDE_PYTHON),y)
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstfwreset $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstfwtrace $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstgenerate_pgcb_commands $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstprivhost $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstresourcedump $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstresourceparse $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib/mstflint
$(CP) $(PKG_INSTALL_DIR)/usr/lib/mstflint/python_tools $(1)/usr/lib/mstflint/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/mstflint/sdk $(1)/usr/lib/mstflint/
endif
endef
$(eval $(call BuildPackage,mstflint))
|