<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>yeold</title>
    <link>http://yeold.linux.pizza/</link>
    <description>A blog about my projects and whatnot</description>
    <pubDate>Sun, 05 Apr 2026 20:49:59 +0000</pubDate>
    <item>
      <title>Recovering a bricked Wismesh Repeater with a Black Magic probe</title>
      <link>http://yeold.linux.pizza/recovering-a-bricked-wismesh-repeater-with-a-black-magic-probe</link>
      <description>&lt;![CDATA[Recovering a bricked Wismesh Repeater with a Black Magic probe&#xA;&#xA;I got my hands on a Wishmesh Repeater that got bricked during an update.&#xA;But after opening it I saw that there actually was an SWD header and after some googling around I found out that I could use a BMP to reflash the bootloader to unbrick the Repeater.&#xA;&#xA;So I got myself a BlackPill F411CE.&#xA;&#xA;So I opened up the Repeater to solder on a pin header, but had to lift the supercap shown in the picture below. It was glued to the board so I had to carefully cut it free to I could tilt it up and solder on the header.&#xA;&#xA;Backside with supercap&#xA;&#xA;And now the header is soldered on&#xA;SWD header on&#xA;&#xA;Now I need to make my own Black Magic Probe. I downloaded the repo:&#xA;git clone https://codeberg.org/blackmagic-debug/blackmagic.git&#xA;&#xA;there are some submodule issues since it was recently moved to codeberg so I manually cloned it:&#xA;&#xA;`cd blackmagic/deps&#xA;rm -rf libopencm3&#xA;git clone https://codeberg.org/blackmagic-debug/libopencm3.git`&#xA;&#xA;Now lets build the code:&#xA;meson setup build --cross-file=cross-file/blackpill-f411ce.ini -Dbmdbootloader=true&#xA;meson compile -C build`&#xA;&#xA;Now we&#39;ve built the bootloader and the BMP firmware, time to flash my BlackPill F411CE. &#xA;&#xA;Connect a usb cable to the PC to power it.&#xA;&#xA;I actually used an ST-link and STM32CubeProgrammer and flashed the bootloader to 0x08000000 and the BMP firmware to 0x08004000 after a full chip erase.&#xA;&#xA;Confirm that the BMP is now working, on linux run:&#xA;lsusb&#xA;And look for something like this:&#xA;Bus 001 Device 034: ID 1d50:6018 OpenMoko, Inc. Black Magic Debug Probe (Application)&#xA;&#xA;Now connect your new BMP to the repeater SWD port:&#xA;&#xA;| Wismesh Repeater | Blackpill BMP |&#xA;|------------------ | ------------- |&#xA;| 3V3 | Any 3V3 |&#xA;| GND | Any GND |&#xA;| SWDIO | PB9(B9) |&#xA;| SWCLK | PB8(B8) |&#xA;| NRST | PA5(A5) |&#xA;&#xA;Programming&#xA;&#xA;And now it&#39;s time to flash the bootloader.&#xA;Download the Wismesh bootloader .hex file from https://github.com/oltaco/WisCoreRAK4631Bootloader/releases&#xA;&#xA;Now it&#39;s time to load up gdb:&#xA;`arm-none-eabi-gdb&#xA;target extended-remote /dev/ttyACM0&#xA;monitor swdscan`&#xA;&#xA;You should get something like:&#xA;nrf52840 M4 and mrf52840 Access Port&#xA;You would go for the first.&#xA;&#xA;Contact!&#xA;&#xA;`attach 1&#xA;monitor erasemass&#xA;load /path/to/WisCorebootloader.hex&#xA;monitor reset&#xA;detach&#xA;quit`&#xA;&#xA;Now unplug the power to the repeater by pulling out the 3v3 and wait ~10 seconds. Connect a usb cable and double press the button and it should now enter DFU mode. Now you can flash the meshtastic firmware.&#xA;&#xA;Congrats! You&#39;ve unbricked your repeater with a cheap diy debug probe!&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<h2 id="recovering-a-bricked-wismesh-repeater-with-a-black-magic-probe">Recovering a bricked Wismesh Repeater with a Black Magic probe</h2>

<p>I got my hands on a Wishmesh Repeater that got bricked during an update.
But after opening it I saw that there actually was an SWD header and after some googling around I found out that I could use a <a href="https://black-magic.org/">BMP</a> to reflash the bootloader to unbrick the Repeater.</p>

<p>So I got myself a BlackPill F411CE.</p>

<p>So I opened up the Repeater to solder on a pin header, but had to lift the supercap shown in the picture below. It was glued to the board so I had to carefully cut it free to I could tilt it up and solder on the header.</p>

<p><img src="https://img.yeold.org/img/5apr26/cap.jpg" alt="Backside with supercap"></p>

<p>And now the header is soldered on
<img src="https://img.yeold.org/img/5apr26/headers.jpg" alt="SWD header on"></p>

<p>Now I need to make my own Black Magic Probe. I downloaded the repo:
<code>git clone https://codeberg.org/blackmagic-debug/blackmagic.git</code></p>

<p>there are some submodule issues since it was recently moved to codeberg so I manually cloned it:</p>

<p><code>cd blackmagic/deps
rm -rf libopencm3
git clone https://codeberg.org/blackmagic-debug/libopencm3.git</code></p>

<p>Now lets build the code:
meson setup build —cross-file=cross-file/blackpill-f411ce.ini -Dbmd_bootloader=true
meson compile -C build`</p>

<p>Now we&#39;ve built the bootloader and the BMP firmware, time to flash my BlackPill F411CE.</p>

<p>Connect a usb cable to the PC to power it.</p>

<p>I actually used an ST-link and STM32CubeProgrammer and flashed the bootloader to 0x08000000 and the BMP firmware to 0x08004000 after a full chip erase.</p>

<p>Confirm that the BMP is now working, on linux run:
<code>lsusb</code>
And look for something like this:
<code>Bus 001 Device 034: ID 1d50:6018 OpenMoko, Inc. Black Magic Debug Probe (Application)</code></p>

<p>Now connect your new BMP to the repeater SWD port:</p>

<table>
<thead>
<tr>
<th>Wismesh Repeater</th>
<th>Blackpill BMP</th>
</tr>
</thead>

<tbody>
<tr>
<td>3V3</td>
<td>Any 3V3</td>
</tr>

<tr>
<td>GND</td>
<td>Any GND</td>
</tr>

<tr>
<td>SWDIO</td>
<td>PB9(B9)</td>
</tr>

<tr>
<td>SWCLK</td>
<td>PB8(B8)</td>
</tr>

<tr>
<td>NRST</td>
<td>PA5(A5)</td>
</tr>
</tbody>
</table>

<p><img src="https://img.yeold.org/img/5apr26/prog.jpg" alt="Programming"></p>

<p>And now it&#39;s time to flash the bootloader.
Download the Wismesh bootloader .hex file from <a href="https://github.com/oltaco/WisCore_RAK4631_Bootloader/releases">https://github.com/oltaco/WisCore_RAK4631_Bootloader/releases</a></p>

<p>Now it&#39;s time to load up gdb:
<code>arm-none-eabi-gdb
target extended-remote /dev/ttyACM0
monitor swd_scan</code></p>

<p>You should get something like:
nrf52840 M4 and mrf52840 Access Port
You would go for the first.</p>

<p><img src="https://img.yeold.org/img/5apr26/cont.jpg" alt="Contact!"></p>

<p><code>attach 1
monitor erase_mass
load /path/to/WisCore_bootloader.hex
monitor reset
detach
quit</code></p>

<p>Now unplug the power to the repeater by pulling out the 3v3 and wait ~10 seconds. Connect a usb cable and double press the button and it should now enter DFU mode. Now you can flash the meshtastic firmware.</p>

<p>Congrats! You&#39;ve unbricked your repeater with a cheap diy debug probe!</p>
]]></content:encoded>
      <guid>http://yeold.linux.pizza/recovering-a-bricked-wismesh-repeater-with-a-black-magic-probe</guid>
      <pubDate>Sun, 05 Apr 2026 16:49:44 +0000</pubDate>
    </item>
    <item>
      <title>How to actually build and run a Tibia OT server on Ubuntu #</title>
      <link>http://yeold.linux.pizza/how-to-actually-build-and-run-a-tibia-ot-server-on-ubuntu</link>
      <description>&lt;![CDATA[I realized after looking into the build guides on OTland that the build guide for Ubuntu were lacking and the code base were actually incompatible with modern distros since it&#39;s using deprecated boost libraries. So I took some time to figure out what I needed to do to fix it.&#xA;&#xA;Follow the guide on:&#xA;https://docs.otland.net/ots-guide/running-your-first-linux-web-and-otserver&#xA;&#xA;But install these additional packages&#xA;&#xA;liblua5.4-dev&#xA;libboost-locale-dev&#xA;libboost-json-dev&#xA;&#xA;remove &#34;system&#34; from line 103 in CMakeLists.txt in project root&#xA;remove &#34;Boost::system&#34; from line 168 in src/CMakeLists.txt&#xA;&#xA;Now you can proceed with the rest of the setup]]&gt;</description>
      <content:encoded><![CDATA[<p>I realized after looking into the build guides on OTland that the build guide for Ubuntu were lacking and the code base were actually incompatible with modern distros since it&#39;s using deprecated boost libraries. So I took some time to figure out what I needed to do to fix it.</p>

<p>Follow the guide on:
<a href="https://docs.otland.net/ots-guide/running-your-first-linux-web-and-otserver">https://docs.otland.net/ots-guide/running-your-first-linux-web-and-otserver</a></p>

<p>But install these additional packages</p>

<p>liblua5.4-dev
libboost-locale-dev
libboost-json-dev</p>

<p>remove “system” from line 103 in CMakeLists.txt in project root
remove “Boost::system” from line 168 in src/CMakeLists.txt</p>

<p>Now you can proceed with the rest of the setup</p>
]]></content:encoded>
      <guid>http://yeold.linux.pizza/how-to-actually-build-and-run-a-tibia-ot-server-on-ubuntu</guid>
      <pubDate>Tue, 06 Jan 2026 15:07:07 +0000</pubDate>
    </item>
    <item>
      <title>Building a stable linear bench PSU</title>
      <link>http://yeold.linux.pizza/building-a-stable-linear-bench-psu</link>
      <description>&lt;![CDATA[Background&#xA;About ten years back I bought a Velleman K7203 as a fun soldering project, and to use as a power supply for a future project.&#xA;&#xA;This will provide a very stable output voltage with &lt;0.5 mV ripple which is pretty nice.&#xA;&#xA;And now, 10 years later, it&#39;s time for that future project.&#xA;&#xA;Assembly&#xA;The most important thing that was required for PSU after the module itself was a transformer, and preferably toroidal transformer.&#xA;And those things are not cheap, unless you&#39;re lucky and find one second hand.&#xA;&#xA;I got a 230VAC/25VAC 2A transformer that I&#39;m gonna use.&#xA;And together with that I got a metal enclosure from AliExpress.&#xA;&#xA;I began with drilling holes in the front for the banana plug connectors, and followed the standard pitch of 0.75&#34; between the connectors.&#xA;&#xA;Front inside&#xA;&#xA;And from the front it will look like this:&#xA;Front outside&#xA;&#xA;After drilling some holes and mounting the power supply and the transformer with some spacers and mounting hardware it looks like this:&#xA;&#xA;Inside complete&#xA;&#xA;I made sure to use a ground cable since I use a metal enclosure, and I also use a C14 connector with a power switch and a fuse as recommended by the PSU manufacturer.&#xA;&#xA;Testing&#xA;The PSU in an assembled state is very plain, and it gives a voltage range between 2 to 17.9 V.&#xA;&#xA;Inside complete&#xA;&#xA;Next steps&#xA;For now the voltage adjustment is located on the PSU, so one would need to open the case to adjust it. In the future I&#39;d like to have a potentiometer mounted on the front together with a VA meter. And that will be for a future blog post.]]&gt;</description>
      <content:encoded><![CDATA[<h3 id="background">Background</h3>

<p>About ten years back I bought a <a href="https://www.velleman.eu/products/view/3-to-30-v-3-a-power-supply-wspc7203/?id=461898&amp;lang=en">Velleman K7203</a> as a fun soldering project, and to use as a power supply for a future project.</p>

<p>This will provide a very stable output voltage with &lt;0.5 mV ripple which is pretty nice.</p>

<p>And now, 10 years later, it&#39;s time for that future project.</p>

<h3 id="assembly">Assembly</h3>

<p>The most important thing that was required for PSU after the module itself was a transformer, and preferably toroidal transformer.
And those things are not cheap, unless you&#39;re lucky and find one second hand.</p>

<p>I got a 230VAC/25VAC 2A transformer that I&#39;m gonna use.
And together with that I got a <a href="https://www.aliexpress.com/item/1005007638896658.html?spm=a2g0o.order_list.order_list_main.11.59f81802kOvZV5">metal enclosure</a> from AliExpress.</p>

<p>I began with drilling holes in the front for the banana plug connectors, and followed the standard pitch of 0.75” between the connectors.</p>

<p><img src="https://img.yeold.org/img/27sep25/front_inside.jpg" alt="Front inside"></p>

<p>And from the front it will look like this:
<img src="https://img.yeold.org/img/27sep25/front_outside.jpg" alt="Front outside"></p>

<p>After drilling some holes and mounting the power supply and the transformer with some spacers and mounting hardware it looks like this:</p>

<p><img src="https://img.yeold.org/img/27sep25/complete_assembly.jpg" alt="Inside complete"></p>

<p>I made sure to use a ground cable since I use a metal enclosure, and I also use a C14 connector with a power switch and a fuse as recommended by the PSU manufacturer.</p>

<h3 id="testing">Testing</h3>

<p>The PSU in an assembled state is very plain, and it gives a voltage range between 2 to 17.9 V.</p>

<p><img src="https://img.yeold.org/img/27sep25/measurement.jpg" alt="Inside complete"></p>

<h3 id="next-steps">Next steps</h3>

<p>For now the voltage adjustment is located on the PSU, so one would need to open the case to adjust it. In the future I&#39;d like to have a potentiometer mounted on the front together with a VA meter. And that will be for a future blog post.</p>
]]></content:encoded>
      <guid>http://yeold.linux.pizza/building-a-stable-linear-bench-psu</guid>
      <pubDate>Thu, 11 Sep 2025 08:23:26 +0000</pubDate>
    </item>
    <item>
      <title>Now available on I2P</title>
      <link>http://yeold.linux.pizza/now-available-on-i2p</link>
      <description>&lt;![CDATA[This blog is now available at http://yeold.i2p/&#xA;&#xA;What&#39;s I2P? Well, it&#39;s an alternative to Tor. &#xA;You can check out at: https://geti2p.net/en/&#xA;&#xA;Or why not get I2P+? https://i2pplus.github.io/]]&gt;</description>
      <content:encoded><![CDATA[<p>This blog is now available at <a href="http://yeold.i2p/">http://yeold.i2p/</a></p>

<p>What&#39;s I2P? Well, it&#39;s an alternative to Tor.
You can check out at: <a href="https://geti2p.net/en/">https://geti2p.net/en/</a></p>

<p>Or why not get I2P+? <a href="https://i2pplus.github.io/">https://i2pplus.github.io/</a></p>
]]></content:encoded>
      <guid>http://yeold.linux.pizza/now-available-on-i2p</guid>
      <pubDate>Thu, 07 Aug 2025 11:58:22 +0000</pubDate>
    </item>
    <item>
      <title>Backing up my AST Advantage! 611s BIOS with a T48 Universal programmer</title>
      <link>http://yeold.linux.pizza/backing-up-my-ast-advantage-611s-bios-with-a-t48-universal-programmer</link>
      <description>&lt;![CDATA[The AST Advantage 611s, the first computer my family got. With a whopping 8MB of RAM and an IBM 5x86 CPU clocked at 100MHz. &#xA;&#xA;We recently managed to get it working again, and came to the conclusion that it would be a good idea to make a backup of the BIOS on the motherboard, since there may not exist too many backups out there.&#xA;&#xA;I ordered a XGecu T48 Universal Programmer with the appropriate adapters for the flash chip for 59$&#xA;If you want to check it out you can find it here: https://xgecu.myshopify.com/products/xgecu-new-t48-tl866-3g-programmer-support-28000-ics-for-spi-nor-nand-flash-emmc-bga-tsop-sop-plcc-9-parts&#xA;&#xA;The T48 is also called TL866-3G and is of course the successor to the popular TL866 universal programmer.&#xA;&#xA;Removing the chip and identifying the model number&#xA;&#xA;Taking a look in the computer, the BIOS flash is located in the PLCC44 socket, but it&#39;s a bit hard to reach so the ISA riser card needs to be removed.&#xA;&#xA;Flash Chip location&#xA;&#xA;A closer look at the chip shows a sticker and a serial number that points back to 94.&#xA;&#xA;Flash Chip sticker&#xA;&#xA;Removing the chip was easy because of the included chip removal tool.&#xA;Just place the hooks in the slots in the corners and press until it pops out.&#xA;&#xA;Flash Chip removal&#xA;&#xA;Now I needed to find out what type of flash chip it really was. But I&#39;d rather not ruin the sticker. So I used a scalpel blade to carefully remove the sticker so I could read the model number. (Pardon for the out of focus photo)&#xA;&#xA;The flash chip model number&#xA;&#xA;A quick google search told me that it was an Intel N28F001BX-T150 1Mbit (128KB) Boot block flash memory.&#xA;&#xA;Reading the flash using Xgpro&#xA;&#xA;(Sadly during the migration to another server, the pictures where lost in this part)&#xA;&#xA;IC flashing&#xA;&#xA;The program used for the T48 is the Xgpro. The first thing I did was to make sure the right IC was selected by clicking &#34;Select IC&#34; in the upper left corner.&#xA;&#xA;IC selection&#xA;&#xA;After marking the correct IC and clicking &#34;Select&#34; I clicked on &#34;READ&#34; in the upper toolbar. Now a new window appeared with a picture on how to seat the chip in the adapter and the ZIF socket. After connecting it according to the picture I clicked &#34;Read&#34; and the &#34;BACK&#34;&#xA;&#xA;Read data&#xA;&#xA;Now I could see the data from the chip. Scrolling down a bit, I could find some readable text like a Copyright from 1984 and an AST Research Copyright from 1995. Cool!&#xA;&#xA;Flash dump&#xA;&#xA;After confirming that I got some data from the chip I saved it to a .bin file using the &#34;SAVE&#34; button on the top left.&#xA;&#xA;Save dialog&#xA;&#xA;My plan is to upload the bin file to a site like The Retro Web, this page in particular: https://theretroweb.com/motherboards/s/ast-advantage!-610-611-486-202728-101&#xA;So people can find a copy of the BIOS and easily flash a new one if they ever need to do that.]]&gt;</description>
      <content:encoded><![CDATA[<p>The AST Advantage 611s, the first computer my family got. With a whopping 8MB of RAM and an IBM 5x86 CPU clocked at 100MHz.</p>

<p>We recently managed to get it working again, and came to the conclusion that it would be a good idea to make a backup of the BIOS on the motherboard, since there may not exist too many backups out there.</p>

<p>I ordered a XGecu T48 Universal Programmer with the appropriate adapters for the flash chip for 59$
If you want to check it out you can find it here: <a href="https://xgecu.myshopify.com/products/xgecu-new-t48-tl866-3g-programmer-support-28000-ics-for-spi-nor-nand-flash-emmc-bga-tsop-sop-plcc-9-parts">https://xgecu.myshopify.com/products/xgecu-new-t48-tl866-3g-programmer-support-28000-ics-for-spi-nor-nand-flash-emmc-bga-tsop-sop-plcc-9-parts</a></p>

<p>The T48 is also called TL866-3G and is of course the successor to the popular TL866 universal programmer.</p>

<h3 id="removing-the-chip-and-identifying-the-model-number">Removing the chip and identifying the model number</h3>

<p>Taking a look in the computer, the BIOS flash is located in the PLCC44 socket, but it&#39;s a bit hard to reach so the ISA riser card needs to be removed.</p>

<p><img src="https://img.yeold.org/img/5dec22/romlocation.jpg" alt="Flash Chip location"></p>

<p>A closer look at the chip shows a sticker and a serial number that points back to 94.</p>

<p><img src="https://img.yeold.org/img/5dec22/biossticker.jpg" alt="Flash Chip sticker"></p>

<p>Removing the chip was easy because of the included chip removal tool.
Just place the hooks in the slots in the corners and press until it pops out.</p>

<p><img src="https://img.yeold.org/img/5dec22/romremoval.jpg" alt="Flash Chip removal"></p>

<p>Now I needed to find out what type of flash chip it really was. But I&#39;d rather not ruin the sticker. So I used a scalpel blade to carefully remove the sticker so I could read the model number. (Pardon for the out of focus photo)</p>

<p><img src="https://img.yeold.org/img/5dec22/nosticker.jpg" alt="The flash chip model number"></p>

<p>A quick google search told me that it was an Intel N28F001BX-T150 1Mbit (128KB) Boot block flash memory.</p>

<h3 id="reading-the-flash-using-xgpro">Reading the flash using Xgpro</h3>

<p>(Sadly during the migration to another server, the pictures where lost in this part)</p>

<p><img src="https://img.yeold.org/img/5dec22/icflashing.jpg" alt="IC flashing"></p>

<p>The program used for the T48 is the Xgpro. The first thing I did was to make sure the right IC was selected by clicking “Select IC” in the upper left corner.</p>

<p><img src="https://img.yeold.org/img/5dec22/icselection.png" alt="IC selection"></p>

<p>After marking the correct IC and clicking “Select” I clicked on “READ” in the upper toolbar. Now a new window appeared with a picture on how to seat the chip in the adapter and the ZIF socket. After connecting it according to the picture I clicked “Read” and the “BACK”</p>

<p><img src="https://images.bin.linux.pizza/upload/2022/12/05/20221205201901-16194c06.png" alt="Read data"></p>

<p>Now I could see the data from the chip. Scrolling down a bit, I could find some readable text like a Copyright from 1984 and an AST Research Copyright from 1995. Cool!</p>

<p><img src="https://images.bin.linux.pizza/upload/2022/12/05/20221205201902-5091804f.png" alt="Flash dump"></p>

<p>After confirming that I got some data from the chip I saved it to a .bin file using the “SAVE” button on the top left.</p>

<p><img src="https://images.bin.linux.pizza/upload/2022/12/05/20221205204756-c3e0ba8b.png" alt="Save dialog"></p>

<p>My plan is to upload the bin file to a site like The Retro Web, this page in particular: <a href="https://theretroweb.com/motherboards/s/ast-advantage!-610-611-486-202728-101">https://theretroweb.com/motherboards/s/ast-advantage!-610-611-486-202728-101</a>
So people can find a copy of the BIOS and easily flash a new one if they ever need to do that.</p>
]]></content:encoded>
      <guid>http://yeold.linux.pizza/backing-up-my-ast-advantage-611s-bios-with-a-t48-universal-programmer</guid>
      <pubDate>Mon, 05 Dec 2022 20:46:55 +0000</pubDate>
    </item>
  </channel>
</rss>