<feed xmlns='http://www.w3.org/2005/Atom'>
<title>firmware-utils, branch master</title>
<subtitle>OpenWrt firmware image utilities</subtitle>
<id>https://git.openwrt.org/project/firmware-utils/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/firmware-utils/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/'/>
<updated>2026-09-23T21:53:02Z</updated>
<entry>
<title>zyimage: make output byte order explicit</title>
<updated>2026-09-23T21:53:02Z</updated>
<author>
<name>Aleksei Sviridkin</name>
</author>
<published>2026-08-22T20:41:04Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=9cf0f6e00e393259f6ab5f0d06a004f00e161ce7'/>
<id>urn:sha1:9cf0f6e00e393259f6ab5f0d06a004f00e161ce7</id>
<content type='text'>
device_id and crc32 were written in native host byte order, with no
byte-swap calls at all, so the on-disk output was only correct on
little-endian build hosts. Make the existing little-endian behavior
explicit with htole32() and document the byte layout, so a porter
reading the vendor's CONFIG_TARGET_DEVICE_ID can map it to the
equivalent OpenWrt ZYIMAGE_ID.

Assisted-By: Claude &lt;noreply@anthropic.com&gt;
Signed-off-by: Aleksei Sviridkin &lt;f@lex.la&gt;
Link: https://github.com/openwrt/firmware-utils/pull/75
Signed-off-by: Jonas Jelonek &lt;jonas@jonasjelonek.de&gt;
</content>
</entry>
<entry>
<title>asusuimage: fix fs_offset extraction in show_info</title>
<updated>2026-09-23T21:30:04Z</updated>
<author>
<name>Mateusz Jończyk</name>
</author>
<published>2026-03-23T21:30:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=71f8d9a9a22ae06a690d086126f99da6b0e36b02'/>
<id>urn:sha1:71f8d9a9a22ae06a690d086126f99da6b0e36b02</id>
<content type='text'>
This code was apparently intended to look for FS_OFFSET_PREFIX and then
read the big-endian 24-bit value just after it. Instead, it did always
read the value from a fixed offset.

This fixes using bogus (or zero) values of `fs_offset` when analysing
TRXv2 images for Asus RT-AX53U. Now the values agree with what the
`binwalk` tool prints.

This patch modifies the show_info() function, which is used only for
firmware analysis and not in an OpenWRT build.

Signed-off-by: Mateusz Jończyk &lt;mat.jonczyk@o2.pl&gt;
Link: https://github.com/openwrt/firmware-utils/pull/66
Signed-off-by: Jonas Jelonek &lt;jonas@jonasjelonek.de&gt;
</content>
</entry>
<entry>
<title>mksenaofw: warn instead of erroring on plain type-0 images</title>
<updated>2026-09-23T21:25:26Z</updated>
<author>
<name>Misha Hawthorn</name>
</author>
<published>2026-08-24T14:35:28Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=ceaf0f9c1e222c42128885f8b4499338730ffeee'/>
<id>urn:sha1:ceaf0f9c1e222c42128885f8b4499338730ffeee</id>
<content type='text'>
firmware_type 0 ("combo") is currently a fatal error unless a capwap header is
supplied. Some rebranded Senao devices ship a plain type-0 header with no
capwap section -- notably the Netgear WAX214 and WAX218 (vendor_id 0x231),
whose stock web-UI updater accepts the bare 0x60 img_header + magic-XOR'd
payload.

Downgrade that case to a non-fatal warning. Capwap encodes always set a
datecode (-c), so this only affects a type-0 encode with no capwap arguments;
encode_image() already omits the capwap section and computes the checksum over
the 0x60 header alone when no capwap header is supplied, so a plain image is
produced correctly.

Signed-off-by: Misha Hawthorn &lt;inbox@heymisha.com&gt;
Link: https://github.com/openwrt/firmware-utils/pull/76
Signed-off-by: Jonas Jelonek &lt;jonas@jonasjelonek.de&gt;
</content>
</entry>
<entry>
<title>mkzynfw: align RTL_OTTO_BOARD definitions</title>
<updated>2026-09-23T21:22:31Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-09-23T21:15:05Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=a0177f9b3bba9e390ca02f6e914af4286496f661'/>
<id>urn:sha1:a0177f9b3bba9e390ca02f6e914af4286496f661</id>
<content type='text'>
Align the RTL_OTTO_BOARD definitions internally, adding spaces to the
different parameters to have a cleaner and easier to read table.

Link: https://github.com/openwrt/firmware-utils/pull/77
Signed-off-by: Jonas Jelonek &lt;jonas@jonasjelonek.de&gt;
</content>
</entry>
<entry>
<title>mkzynfw: add board profiles for Zyxel XGS2220 series</title>
<updated>2026-09-23T21:22:31Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-09-16T11:06:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=fac587ee67d545ebe08747e63885d8b46b38bcde'/>
<id>urn:sha1:fac587ee67d545ebe08747e63885d8b46b38bcde</id>
<content type='text'>
Add board profiles for Zyxel XGS2220 switches, a series of 6 switches
based on RTL931x platform. The profiles have been extracted from stock
firmware.

Link: https://github.com/openwrt/firmware-utils/pull/77
Signed-off-by: Jonas Jelonek &lt;jonas@jonasjelonek.de&gt;
</content>
</entry>
<entry>
<title>uimage_padhdr: add options to insert data into padding area</title>
<updated>2026-07-30T06:53:14Z</updated>
<author>
<name>Luiz Angelo Daros de Luca</name>
</author>
<published>2026-07-18T04:55:10Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=c9da48613b5d7b892d5a3871dc6332487360de4a'/>
<id>urn:sha1:c9da48613b5d7b892d5a3871dc6332487360de4a</id>
<content type='text'>
Add two new command-line options, both repeatable, to write arbitrary
data at specific byte offsets within the zero-filled padding area that
is appended after the uImage header:

  -x offset:hexstring  Insert raw bytes specified as a hex string
  -s offset:string     Insert an ASCII string (without NUL terminator,
                       since the padding is already zero-filled)

Offsets are relative to the start of the padding area and accept both
decimal and hexadecimal (0x-prefixed) notation. Validate that every patch
fits within the configured padding before modifying the image, preventing
silent data corruption.

Patches are applied to the buffer before the header CRC is recalculated,
so the checksum correctly covers the inserted content.

Signed-off-by: Luiz Angelo Daros de Luca &lt;luizluca@gmail.com&gt;
Link: https://github.com/openwrt/firmware-utils/pull/71
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>uimage_padhdr: improve error handling and cleanup</title>
<updated>2026-07-30T06:53:14Z</updated>
<author>
<name>Luiz Angelo Daros de Luca</name>
</author>
<published>2026-07-18T04:54:04Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=df23826047c96ce85355a14324b1dd5151e2262e'/>
<id>urn:sha1:df23826047c96ce85355a14324b1dd5151e2262e</id>
<content type='text'>
Replace abrupt exit(1) calls with a 'goto out' cleanup pattern.
This ensures that opened file descriptors (ifd, ofd) are properly
closed and allocated memory (filebuf) is safely freed when an
error occurs during execution, preventing resource leaks.

Signed-off-by: Luiz Angelo Daros de Luca &lt;luizluca@gmail.com&gt;
Link: https://github.com/openwrt/firmware-utils/pull/71
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>mkzynfw: add board definitions for Zyxel GS1920 v1 series</title>
<updated>2026-07-19T20:42:18Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-07-19T20:42:18Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=3e6b426938e86efa0aaced903f6e22a1db2d2bc7'/>
<id>urn:sha1:3e6b426938e86efa0aaced903f6e22a1db2d2bc7</id>
<content type='text'>
Add board definitions for Zyxel GS1920 v1 switches.

Co-authored-by: Karl Egly &lt;dekarl@spaetfruehstuecken.org&gt;
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>mkzynfw: add board definitions for GS2210 series</title>
<updated>2026-07-19T20:41:25Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-07-19T20:41:25Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=5e1b83d1fc2bcee0067f637f552ec8eb9df633ea'/>
<id>urn:sha1:5e1b83d1fc2bcee0067f637f552ec8eb9df633ea</id>
<content type='text'>
Add further board definitions for Zyxel GS2210 switches.

Co-authored-by: Karl Egly &lt;dekarl@spaetfruehstuecken.org&gt;
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>Revert "mkzynfw: add board definitions for GS2210 series"</title>
<updated>2026-07-19T20:40:07Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-07-19T20:40:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=7f28bfbc4b5a93ba6cd86f33cfc606af6a062d63'/>
<id>urn:sha1:7f28bfbc4b5a93ba6cd86f33cfc606af6a062d63</id>
<content type='text'>
This reverts commit 162fa533b309a721a01eb27901a38e1b20c31c60. It doesn't
have a proper SoB from the author and misses a proper commit message
body.

Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
</feed>
