<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dzu's Blog</title><link>https://blog.lazy-evaluation.net/</link><description>Dzu's Blog</description><atom:link href="https://blog.lazy-evaluation.net/de/rss.xml" rel="self" type="application/rss+xml"></atom:link><language>de</language><copyright>Contents © 2025 &lt;a href="mailto:dzu@member.fsf.org"&gt;Detlev Zundel&lt;/a&gt; </copyright><lastBuildDate>Wed, 10 Dec 2025 16:15:12 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Firmware Updates on GNU/Linux</title><link>https://blog.lazy-evaluation.net/de/posts/linux/fwupdate-linux.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description>&lt;div&gt;&lt;div style="text-align:center" class="imageblock" id="org3891fba"&gt;

&lt;div id="orgccb53a3" class="figure"&gt;
&lt;p&gt;&lt;img src="https://blog.lazy-evaluation.net/de/images/nvme-logo.png" alt="nvme-logo.png" title="NVMe logo" align="middle" width="250"&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://blog.lazy-evaluation.net/de/posts/linux/fwupdate-linux.html?pk_campaign=feed"&gt;Weiterlesen…&lt;/a&gt; (5 min verbleiben zum Lesen)&lt;/p&gt;&lt;/div&gt;</description><guid>https://blog.lazy-evaluation.net/de/posts/linux/fwupdate-linux.html</guid><pubDate>Tue, 05 Aug 2025 22:01:27 GMT</pubDate></item><item><title>LTE Cat 1bis on STM32U565 with Simcom A7683E and Zephyr</title><link>https://blog.lazy-evaluation.net/de/posts/embedded/zephyr-st-simcom-demo.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description>&lt;div&gt;&lt;p&gt;
Trying to understand the new &lt;a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/gsm_modem.html"&gt;cellular modem&lt;/a&gt; subsystem in Zephyr, I
realized that building a working demo system should be the best way
forward.  Having an evaluation board of the &lt;a href="https://en.simcom.com/product/A7683E.html"&gt;A7683E&lt;/a&gt; available, the
first step was to pick a well suited eval board to match the module.
&lt;/p&gt;

&lt;p&gt;
As it turns out, the Simcom module runs at 1.8V and even on the
evaluation board there are no level shifters.  So that quickly gave me
the first hard requirement, namely that the UART needs to be run at
1.8V.
&lt;/p&gt;

&lt;p&gt;
Looking at my collection of recent MPU eval kits, I realized that the
&lt;a href="https://www.st.com/en/evaluation-tools/nucleo-u575zi-q.html#documentation"&gt;NUCLEO-U575ZI-Q&lt;/a&gt; could run completely on 1.8V by a simple jumper
setting.  On the other boards it would have been more involved to
define the UART pins to run on 1.8V, so I decided to use this eval
board for the MPU part.
&lt;/p&gt;

&lt;p&gt;
So the aim of this blog post is to document how I implemented the demo
on this hardware combination:
&lt;/p&gt;

&lt;div style="text-align:center" class="imageblock" id="org60743e2"&gt;

&lt;div id="orga69b225" class="figure"&gt;
&lt;p&gt;&lt;img src="https://blog.lazy-evaluation.net/de/images/zephyr-st-modem.jpg" alt="zephyr-st-modem.jpg" title="Lab Prototype" align="middle" width="150"&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://blog.lazy-evaluation.net/de/posts/embedded/zephyr-st-simcom-demo.html?pk_campaign=feed"&gt;Weiterlesen…&lt;/a&gt; (35 min verbleiben zum Lesen)&lt;/p&gt;&lt;/div&gt;</description><guid>https://blog.lazy-evaluation.net/de/posts/embedded/zephyr-st-simcom-demo.html</guid><pubDate>Sun, 06 Apr 2025 12:05:41 GMT</pubDate></item><item><title>Using languagetool with a local server</title><link>https://blog.lazy-evaluation.net/de/posts/linux/languagetool-local.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description>&lt;div&gt;&lt;div style="text-align:center" class="imageblock" id="orgc8bd528"&gt;

&lt;div id="org71699b0" class="figure"&gt;
&lt;p&gt;&lt;img src="https://blog.lazy-evaluation.net/de/images/language-tool-logo.png" alt="language-tool-logo.png" title="Big lock" align="middle" width="150"&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://blog.lazy-evaluation.net/de/posts/linux/languagetool-local.html?pk_campaign=feed"&gt;Weiterlesen…&lt;/a&gt; (4 min verbleiben zum Lesen)&lt;/p&gt;&lt;/div&gt;</description><guid>https://blog.lazy-evaluation.net/de/posts/linux/languagetool-local.html</guid><pubDate>Thu, 03 Apr 2025 23:00:58 GMT</pubDate></item><item><title>Firmware Updates on GNU/Linux</title><link>https://blog.lazy-evaluation.net/de/posts/linux/linux-fwupdate.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description>&lt;div&gt;&lt;div style="text-align:center" class="imageblock" id="org07126e3"&gt;

&lt;div id="org301e00d" class="figure"&gt;
&lt;p&gt;&lt;img src="https://blog.lazy-evaluation.net/de/images/nvme-logo.png" alt="nvme-logo.png" title="NVMe logo" align="middle" width="250"&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;
As the NAND storage technology reaches speeds that cannot be satiated
with SATA anymore, the modern SSDs are attached over &lt;a href="https://en.wikipedia.org/wiki/PCI_Express"&gt;PCIe&lt;/a&gt;, the
descendant of the very successful
&lt;a href="https://en.wikipedia.org/wiki/Peripheral_Component_Interconnect"&gt;Peripheral Component Interconnect&lt;/a&gt; standard that allowed for many
extension cards in the IBM PC ecosystem.  But where most PCI cards
could not be software upgraded in the field, the question on how to
update firmware on attached PCI devices is not obviously standardized
(or am I missing something?).  So under Windows, the manufacturers of
NVMe modules deliver their proprietary update tool, but what do we do
in a Free Operating system like GNU/Linux?
&lt;/p&gt;

&lt;p&gt;
In this blog post I will take a quick look at how I was able to
upgrade the firmware of my &lt;b&gt;Kingston SA2000M8250G&lt;/b&gt; NVMe drive in my
desktop system.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.lazy-evaluation.net/de/posts/linux/linux-fwupdate.html?pk_campaign=feed"&gt;Weiterlesen…&lt;/a&gt; (7 min verbleiben zum Lesen)&lt;/p&gt;&lt;/div&gt;</description><guid>https://blog.lazy-evaluation.net/de/posts/linux/linux-fwupdate.html</guid><pubDate>Thu, 03 Apr 2025 22:01:27 GMT</pubDate></item><item><title>Updating NVMe Firmware on GNU/Linux</title><link>https://blog.lazy-evaluation.net/de/posts/linux/nvme-fwupdate.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description>&lt;div&gt;&lt;div style="text-align:center" class="imageblock" id="orgfa02f3a"&gt;

&lt;div id="org04c176d" class="figure"&gt;
&lt;p&gt;&lt;img src="https://blog.lazy-evaluation.net/de/images/nvme-logo.png" alt="nvme-logo.png" title="NVMe logo" align="middle" width="250"&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;
As the NAND storage technology reaches speeds that cannot be satiated
with SATA anymore, the modern SSDs are attached over &lt;a href="https://en.wikipedia.org/wiki/PCI_Express"&gt;PCIe&lt;/a&gt;, the
descendant of the very successful
&lt;a href="https://en.wikipedia.org/wiki/Peripheral_Component_Interconnect"&gt;Peripheral Component Interconnect&lt;/a&gt; standard that allowed for many
extension cards in the IBM PC ecosystem.  But where most PCI cards
could not be software upgraded in the field, the question on how to
update firmware on attached PCI devices is not obviously standardized
(or am I missing something?).  So under Windows, the manufacturers of
NVMe modules deliver their proprietary update tool, but what do we do
in a Free Operating system like GNU/Linux?
&lt;/p&gt;

&lt;p&gt;
In this blog post I will take a quick look at how I was able to
upgrade the firmware of my &lt;b&gt;Kingston SA2000M8250G&lt;/b&gt; NVMe drive in my
desktop system.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.lazy-evaluation.net/de/posts/linux/nvme-fwupdate.html?pk_campaign=feed"&gt;Weiterlesen…&lt;/a&gt; (3 min verbleiben zum Lesen)&lt;/p&gt;&lt;/div&gt;</description><guid>https://blog.lazy-evaluation.net/de/posts/linux/nvme-fwupdate.html</guid><pubDate>Thu, 03 Apr 2025 22:01:27 GMT</pubDate></item><item><title>Empowerment Through Free Software</title><link>https://blog.lazy-evaluation.net/de/posts/linux/free-software-empowerment.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description>&lt;div&gt;&lt;p&gt;
#+BEGIN_COMMENT
.. title: Empowerment Through Free Software
.. author: Detlev Zundel
.. date: 2025-04-03 23:15:39 CET
.. slug: free-software-empowerment
.. tags: debian, linux, fsf, gnome, simple-scan
.. category:
.. link:
.. description:
.. type: text
#+END_COMMENTg
&lt;/p&gt;
&lt;div style="text-align:center" class="imageblock" id="orgd81b51f"&gt;

&lt;div id="org5120d96" class="figure"&gt;
&lt;p&gt;&lt;img src="https://blog.lazy-evaluation.net/de/images/fsf-member-badge.png" alt="fsf-member-badge.png" title="FSF Member Badge" align="middle" width="250"&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;
Due to having ordered a new multi-function printer, I find myself
wanting a feature in my software stack, which seems not to be
available.  But as I use a &lt;a href="https://www.gnu.org/philosophy/free-sw.html.en"&gt;Free Software&lt;/a&gt; GNU/Linux system, it is
possible to modify and extend the software on every level, so I decide
to find out if I can fix the problem myself.
&lt;/p&gt;

&lt;p&gt;
Specifically, the new printer has a document feeder for the scanner,
so that I can feed a whole stack of documents to it without manual
intervention.  Unfortunately, it is not able to do both side scans, as
this feature is only available at a much higher price tag.  But
double-sided scanning can be done in two batches by first scanning the
front sides, and then in a second batch the back sides.  The scanned
pages then need to be reordered in a post processing step to group the
corresponding front- and back sides.  Already with my own scanner, I
am pretty happy using the default scan software from the GNOME
desktop, i.e. &lt;a href="https://gitlab.gnome.org/GNOME/simple-scan"&gt;simple-scan&lt;/a&gt;.  I used the GUI to remove pages and reorder
them manually, but I did not find such a functionality that I would
now like to use.  So the topic for today is how to make this work,
ideally before the printer arrives.
&lt;/p&gt;

&lt;p&gt;
I believe this to be a very good example of how empowering Free
Software is, and so I decided to document all my steps in order to
show how I approach this task, which is completely inaccessible for
people working with non-free software.  Actually I invite you to
reproduce the steps on your own distribution to get a feeling on how
easy (or difficult?) it is to work on an arbitrary aspect of the whole
system. 
&lt;/p&gt;

&lt;p&gt;
So fire up your terminal and follow along! Expect some transcripts!
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.lazy-evaluation.net/de/posts/linux/free-software-empowerment.html?pk_campaign=feed"&gt;Weiterlesen…&lt;/a&gt; (26 min verbleiben zum Lesen)&lt;/p&gt;&lt;/div&gt;</description><guid>https://blog.lazy-evaluation.net/de/posts/linux/free-software-empowerment.html</guid><pubDate>Thu, 03 Apr 2025 21:15:39 GMT</pubDate></item><item><title>iCAL STATUS Support In Fossify Android App</title><link>https://blog.lazy-evaluation.net/de/posts/fossify-status.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description>&lt;div&gt;&lt;p&gt;
Using shared calendars with my wife is a very productive aspect of
todays digital tools.  As we coordinate more and more things in this
domain, I have learned to love the &lt;code&gt;STATUS&lt;/code&gt; property of iCalendar
entries.  It immediately tells me if a calendar entry is a reafl,
fixed and confirmed entry or if it is just a &lt;span class="underline"&gt;blocker&lt;/span&gt; so that other
planning can take into account that the dates are not yet finalized.
The usual calendar apps (NextCloud Calendar, Thunderbird, Fossify)
display this information in an intuitive manner, but I found out that
the Android app &lt;code&gt;fossify&lt;/code&gt; (fork from &lt;code&gt;simple-tools&lt;/code&gt;), does not allow
editing this property of an entry.
&lt;/p&gt;

&lt;p&gt;
Whenever I need something in a Free Software project, but it is not
there, I eventually come to the conclusion that I could implement it
myself if I need it "bad enough".
&lt;/p&gt;

&lt;p&gt;
So let's find out how Free Software empowers the users with this
example.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.lazy-evaluation.net/de/posts/fossify-status.html?pk_campaign=feed"&gt;Weiterlesen…&lt;/a&gt; (6 min verbleiben zum Lesen)&lt;/p&gt;&lt;/div&gt;</description><guid>https://blog.lazy-evaluation.net/de/posts/fossify-status.html</guid><pubDate>Thu, 03 Apr 2025 16:05:41 GMT</pubDate></item><item><title>Finding Drinking Water</title><link>https://blog.lazy-evaluation.net/de/posts/cycling/finding-drinking-water.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description></description><guid>https://blog.lazy-evaluation.net/de/posts/cycling/finding-drinking-water.html</guid><pubDate>Tue, 01 Apr 2025 21:09:41 GMT</pubDate></item><item><title>Setting up Secure Mail with GnuPG</title><link>https://blog.lazy-evaluation.net/de/posts/gpg-secure-mail.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description>&lt;div&gt;&lt;div class="imageblock" id="org57855a5"&gt;

&lt;div id="org5d86394" class="figure"&gt;
&lt;p&gt;&lt;img src="https://blog.lazy-evaluation.net/de/images/logo-gnupg-light-purple-bg.png" alt="logo-gnupg-light-purple-bg.png" title="GnuPG logo" align="middle" width="200"&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;
As the medium E-Mail has to be considered an open channel, once you
want to send sensitive content by e-mail, you should really use a
secure encryption method with it.
&lt;/p&gt;

&lt;p&gt;
Having setup this with my local machines, this report propably can be
interpreted as a short guide on how to get things going.
&lt;/p&gt;

&lt;p&gt;
For me the basic requirement was to enable one e-mail account with
encryption capabilities and this account is accessed from a desktop
system and a mobile (Android) system.
&lt;/p&gt;

&lt;p&gt;
So what we need is something like the following:
&lt;/p&gt;

&lt;ol class="org-ol"&gt;
&lt;li&gt;Generate secret key&lt;/li&gt;
&lt;li&gt;Publish public key&lt;/li&gt;
&lt;li&gt;Verify published key by e-mail&lt;/li&gt;
&lt;li&gt;Install additional required software&lt;/li&gt;
&lt;li&gt;Use/Import secret key&lt;/li&gt;
&lt;li&gt;Import public keys from the web&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
&lt;a href="https://emailselfdefense.fsf.org/en/"&gt;Email Self-Defense&lt;/a&gt;
&lt;/p&gt;


&lt;p&gt;&lt;a href="https://blog.lazy-evaluation.net/de/posts/gpg-secure-mail.html?pk_campaign=feed"&gt;Weiterlesen…&lt;/a&gt; (2 min verbleiben zum Lesen)&lt;/p&gt;&lt;/div&gt;</description><guid>https://blog.lazy-evaluation.net/de/posts/gpg-secure-mail.html</guid><pubDate>Tue, 01 Apr 2025 18:25:39 GMT</pubDate></item><item><title>Btrfs and Compression</title><link>https://blog.lazy-evaluation.net/de/posts/linux/compression-with-btrfs.html?pk_campaign=feed</link><dc:creator>Detlev Zundel</dc:creator><description></description><guid>https://blog.lazy-evaluation.net/de/posts/linux/compression-with-btrfs.html</guid><pubDate>Tue, 01 Apr 2025 18:06:06 GMT</pubDate></item></channel></rss>