<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://flashprog.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Flashprog%2Fv1.1</id>
	<title>Flashprog/v1.1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://flashprog.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Flashprog%2Fv1.1"/>
	<link rel="alternate" type="text/html" href="https://flashprog.org/wiki/index.php?title=Flashprog/v1.1&amp;action=history"/>
	<updated>2026-04-21T22:06:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://flashprog.org/wiki/index.php?title=Flashprog/v1.1&amp;diff=324&amp;oldid=prev</id>
		<title>Icon: Raise heading level for `Other Changes&#039;</title>
		<link rel="alternate" type="text/html" href="https://flashprog.org/wiki/index.php?title=Flashprog/v1.1&amp;diff=324&amp;oldid=prev"/>
		<updated>2024-05-03T09:21:59Z</updated>

		<summary type="html">&lt;p&gt;Raise heading level for `Other Changes&amp;#039;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:21, 3 May 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l31&quot;&gt;Line 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[https://codeberg.org/Riku_V/pico-serprog/commit/6301fbf3ed553e61e626af2785f9e80fa6ca5524 Riku Viitanen&amp;#039;s pico-serprog fork].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[https://codeberg.org/Riku_V/pico-serprog/commit/6301fbf3ed553e61e626af2785f9e80fa6ca5524 Riku Viitanen&amp;#039;s pico-serprog fork].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;= Other Changes &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Other Changes =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Some [[Flashprog/v1.0.2|regressions]] around big flash chips and old &amp;#039;&amp;#039;dediprog&amp;#039;&amp;#039; programmers were fixed.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Some [[Flashprog/v1.0.2|regressions]] around big flash chips and old &amp;#039;&amp;#039;dediprog&amp;#039;&amp;#039; programmers were fixed.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* We have a new &amp;#039;&amp;#039;linux_gpio2_spi&amp;#039;&amp;#039; driver that supports the new &amp;#039;&amp;#039;libgpiod&amp;#039;&amp;#039; API. The old driver is kept for systems that still have an older &amp;#039;&amp;#039;libgpiod&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* We have a new &amp;#039;&amp;#039;linux_gpio2_spi&amp;#039;&amp;#039; driver that supports the new &amp;#039;&amp;#039;libgpiod&amp;#039;&amp;#039; API. The old driver is kept for systems that still have an older &amp;#039;&amp;#039;libgpiod&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key flashprog_mw-mediawiki-:diff:1.41:old-321:rev-324:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Icon</name></author>
	</entry>
	<entry>
		<id>https://flashprog.org/wiki/index.php?title=Flashprog/v1.1&amp;diff=321&amp;oldid=prev</id>
		<title>Icon: Split erase+write with comma</title>
		<link rel="alternate" type="text/html" href="https://flashprog.org/wiki/index.php?title=Flashprog/v1.1&amp;diff=321&amp;oldid=prev"/>
		<updated>2024-05-03T08:48:18Z</updated>

		<summary type="html">&lt;p&gt;Split erase+write with comma&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:48, 3 May 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the CLI, there&amp;#039;s a new command line flag &amp;#039;&amp;#039;--progress&amp;#039;&amp;#039; which does&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the CLI, there&amp;#039;s a new command line flag &amp;#039;&amp;#039;--progress&amp;#039;&amp;#039; which does&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;what one might expect, it shows progress bars for read, erase&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;+&lt;/del&gt;write,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;what one might expect, it shows progress bars for read, erase&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;write,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;and verify operations. The &amp;#039;&amp;#039;libflashprog&amp;#039;&amp;#039; API offers to specify a&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;and verify operations. The &amp;#039;&amp;#039;libflashprog&amp;#039;&amp;#039; API offers to specify a&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;callback function for the same purpose.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;callback function for the same purpose.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Icon</name></author>
	</entry>
	<entry>
		<id>https://flashprog.org/wiki/index.php?title=Flashprog/v1.1&amp;diff=320&amp;oldid=prev</id>
		<title>Icon: Add v1.1 release notes</title>
		<link rel="alternate" type="text/html" href="https://flashprog.org/wiki/index.php?title=Flashprog/v1.1&amp;diff=320&amp;oldid=prev"/>
		<updated>2024-05-02T21:13:38Z</updated>

		<summary type="html">&lt;p&gt;Add v1.1 release notes&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:flashprog/v1.1}}&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s our second feature release, &amp;#039;&amp;#039;flashprog v1.1&amp;#039;&amp;#039;. Beside a lot of&lt;br /&gt;
smaller changes and additions, I&amp;#039;m glad to announce an often asked for&lt;br /&gt;
feature: We finally have a progress bar :D The current implementation&lt;br /&gt;
is based on a&lt;br /&gt;
[https://mail.coreboot.org/hyperkitty/list/flashrom@flashrom.org/thread/5SACI7CSDTTIJ3JTUZUNWT3SN5MZL344/ mailing list discussion]&lt;br /&gt;
that dates back almost 7 years.&lt;br /&gt;
&lt;br /&gt;
= What&amp;#039;s new? =&lt;br /&gt;
&lt;br /&gt;
== Progress Feedback ==&lt;br /&gt;
&lt;br /&gt;
In the CLI, there&amp;#039;s a new command line flag &amp;#039;&amp;#039;--progress&amp;#039;&amp;#039; which does&lt;br /&gt;
what one might expect, it shows progress bars for read, erase+write,&lt;br /&gt;
and verify operations. The &amp;#039;&amp;#039;libflashprog&amp;#039;&amp;#039; API offers to specify a&lt;br /&gt;
callback function for the same purpose.&lt;br /&gt;
&lt;br /&gt;
== Dediprog SF700 / SF600Plus-G2 ==&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;dediprog&amp;#039;&amp;#039; driver has been updated to detect SF700 and SF600Plus-G2&lt;br /&gt;
programmers. It has been fully tested with an SF600Plus-G2 which is&lt;br /&gt;
actually a successor to the short-lived SF700. So chances are very good&lt;br /&gt;
that the SF700 works out of the box, too.&lt;br /&gt;
&lt;br /&gt;
== Switching CS Lines with Serprog ==&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;serprog&amp;#039;&amp;#039; protocol now supports multiple CS lines. Which line will&lt;br /&gt;
be used can be selected from the command line if the programmer&amp;#039;s firmware&lt;br /&gt;
supports it, e.g.&lt;br /&gt;
[https://codeberg.org/Riku_V/pico-serprog/commit/6301fbf3ed553e61e626af2785f9e80fa6ca5524 Riku Viitanen&amp;#039;s pico-serprog fork].&lt;br /&gt;
&lt;br /&gt;
== Other Changes ==&lt;br /&gt;
* Some [[Flashprog/v1.0.2|regressions]] around big flash chips and old &amp;#039;&amp;#039;dediprog&amp;#039;&amp;#039; programmers were fixed.&lt;br /&gt;
* We have a new &amp;#039;&amp;#039;linux_gpio2_spi&amp;#039;&amp;#039; driver that supports the new &amp;#039;&amp;#039;libgpiod&amp;#039;&amp;#039; API. The old driver is kept for systems that still have an older &amp;#039;&amp;#039;libgpiod&amp;#039;&amp;#039;.&lt;br /&gt;
* The &amp;#039;&amp;#039;serprog&amp;#039;&amp;#039; driver now synchronizes more reliably after an aborted run. At the same time, we were able to get rid of the initial 1s delay.&lt;br /&gt;
* The &amp;#039;&amp;#039;linux_mtd&amp;#039;&amp;#039; driver now provides a no-op delay implementation, as all the timing is handled by the kernel drivers.&lt;br /&gt;
* We only use our internal delay loop for delays &amp;lt; 100ms now, to allow &amp;#039;&amp;#039;flashprog&amp;#039;&amp;#039; to yield execution more often.&lt;br /&gt;
* Some preparation and finalization steps were moved into the individual flash chip drivers. The most visible effect is that we got rid of spurious attempts to memory map SPI flash chips by default. The issue was mostly visible with the &amp;#039;&amp;#039;internal&amp;#039;&amp;#039; programmer on AMD machines and &amp;#039;&amp;#039;serprog&amp;#039;&amp;#039;, combined with big flash chips that just couldn&amp;#039;t be mapped.&lt;br /&gt;
* Two additional commands were added to the serprog protocol: &amp;#039;&amp;#039;SPI Mode&amp;#039;&amp;#039; and &amp;#039;&amp;#039;CS Mode&amp;#039;&amp;#039;. These won&amp;#039;t be used in &amp;#039;&amp;#039;flashprog&amp;#039;&amp;#039; but allows to use [https://github.com/avrdudes/avrdude/pull/1801 serprog programmers with &amp;#039;&amp;#039;avrdude&amp;#039;&amp;#039;].&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;flashprog v1.1&amp;#039;&amp;#039; can be downloaded in various ways:&lt;br /&gt;
&lt;br /&gt;
Anonymous checkout of the tag &amp;#039;&amp;#039;v1.1&amp;#039;&amp;#039; from git repositories at&lt;br /&gt;
* [https://github.com/SourceArcade/flashprog/releases/tag/v1.1 https://github.com/SourceArcade/flashprog.git]&lt;br /&gt;
* [https://review.sourcearcade.org/plugins/gitiles/flashprog/+/refs/tags/v1.1 https://review.sourcearcade.org/flashprog.git]&lt;br /&gt;
&lt;br /&gt;
A tarball is available for download at&lt;br /&gt;
&lt;br /&gt;
https://flashprog.org/releases/flashprog-v1.1.tar.bz2&lt;br /&gt;
[http://flashprog.org/releases/flashprog-v1.1.tar.bz2.asc (GPG signature)]&lt;br /&gt;
(see [[GPG_Signatures]])&lt;br /&gt;
&lt;br /&gt;
= Supported hardware =&lt;br /&gt;
&lt;br /&gt;
Please see the [[Flashprog/v1.1/Supported_Hardware|archived status page]] for&lt;br /&gt;
the hardware supported by this release.&lt;/div&gt;</summary>
		<author><name>Icon</name></author>
	</entry>
</feed>