<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Markus Fritsche &#8211; Flugphase</title>
	<atom:link href="https://blog.reauktion.de/author/markus-fritsche/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.reauktion.de</link>
	<description>Die Gedanken sind frei</description>
	<lastBuildDate>Tue, 31 Mar 2026 15:56:28 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Eurotronic Comet WiFi: Ditching the Cloud for Local Home Assistant Control</title>
		<link>https://blog.reauktion.de/eurotronic-comet-wifi-local-home-assistant/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Tue, 31 Mar 2026 10:14:22 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2860</guid>

					<description><![CDATA[How to integrate Eurotronic Comet WiFi thermostats into Home Assistant using DNS redirect and local MQTT — no cloud, no subscription, no custom firmware.]]></description>
										<content:encoded><![CDATA[
<p>I have three Eurotronic Comet WiFi thermostats. They work fine. The app works fine. But every morning I&#8217;d watch my Home Assistant logs fill up with connection attempts going out to some <code>mqtt3.eurotronic.io</code> endpoint and think: this is not how I want my heating to work. My radiators should not depend on a server somewhere in Germany staying online. So I fixed it.</p>



<p>This post is the writeup I wish existed when I started. It took a weekend of packet sniffing, failed HACS integrations, and one very satisfying Pi-hole rule to get here.</p>



<h2 class="wp-block-heading">What&#8217;s Actually Inside These Things</h2>



<p>The Comet WiFi runs on a Dialog Semiconductor DA16200 WiFi chip. That&#8217;s important because it immediately rules out a few popular options: no Tuya compatibility, no custom firmware path, nothing in ESPHome. The DA16200 is not an ESP8266. You&#8217;re not flashing this thing.</p>



<p>What the thermostat <em>does</em> do is speak MQTT — and only MQTT — to a fixed set of cloud hostnames: <code>mqtt.eurotronic.io</code>, <code>mqtt1.eurotronic.io</code> through <code>mqtt5.eurotronic.io</code>. No local API. No mDNS. No REST endpoint. Just MQTT, pointed permanently at the cloud.</p>



<p>The moment I confirmed this with Wireshark I knew exactly what to do.</p>



<h2 class="wp-block-heading">The Interception: Pi-hole + Local Mosquitto</h2>



<p>The plan is elegant: intercept the DNS queries for those cloud hostnames and point them at your own Mosquitto broker. The thermostats never know the difference. They connect, authenticate, and start chattering away — just to <em>your</em> broker instead of Eurotronic&#8217;s.</p>



<p>In Pi-hole, add custom DNS records for every variant:</p>



<pre class="wp-block-code"><code>mqtt.eurotronic.io   → 192.168.0.10
mqtt1.eurotronic.io  → 192.168.0.10
mqtt2.eurotronic.io  → 192.168.0.10
mqtt3.eurotronic.io  → 192.168.0.10
mqtt4.eurotronic.io  → 192.168.0.10
mqtt5.eurotronic.io  → 192.168.0.10</code></pre>



<p>Replace <code>192.168.0.10</code> with whatever IP your Mosquitto instance is running on. Don&#8217;t skip any of the numbered variants — the firmware will try several of them before giving up, and you want all paths leading home.</p>



<p>On the Mosquitto side, since all devices in a single Eurotronic installation share the same MQTT username and password (yes, really — one credential set for all your thermostats), and since you now own the broker, you can simply enable anonymous access:</p>



<pre class="wp-block-code"><code>allow_anonymous true
listener 1883</code></pre>



<p>Counterintuitively, this is actually <em>more</em> secure than the cloud setup. Before, your thermostat data was transiting someone else&#8217;s infrastructure. Now it never leaves your LAN.</p>



<h2 class="wp-block-heading">The MQTT Protocol</h2>



<p>Once the thermostats are talking to your broker, subscribe to <code>#</code> and watch the traffic. You&#8217;ll see topics structured like this:</p>



<pre class="wp-block-code"><code>02/PREFIX/MAC/V/A0   ← values coming FROM the device
02/PREFIX/MAC/S/A0   ← commands going TO the device</code></pre>



<p>The <code>PREFIX</code> and <code>MAC</code> are device-specific — just watch the broker traffic after your thermostats connect and you&#8217;ll spot them immediately. The registers you actually care about:</p>



<ul class="wp-block-list"><li><strong>A0</strong> — target temperature (setpoint)</li><li><strong>A1</strong> — current measured temperature</li><li><strong>A5</strong> — window open detection</li><li><strong>A6</strong> — battery level</li></ul>



<p>Temperature values are encoded as hex, prefixed with <code>#</code>, where the hex value equals temperature × 2. So 21.0°C becomes <code>#2a</code> (42 in decimal, 0x2a in hex). 18.5°C is <code>#25</code>. Weird encoding, but consistent.</p>



<p>For polling, publish to the <code>S/AF</code> topic. Two useful payloads:</p>



<ul class="wp-block-list"><li><code>#01000000</code> — returns the current active setpoint cleanly</li><li><code>#02000000</code> — triggers an immediate current temperature report</li></ul>



<p>You might find documentation elsewhere suggesting <code>#0b</code> on <code>S/A0</code> for polling. I did too. It&#8217;s slow, unreliable, and sometimes returns schedule data mixed in with the current value. Avoid it. The <code>AF</code> approach is much cleaner.</p>



<p>One critical rule: <strong>never use the retain flag</strong> on any messages you publish. Retained messages get replayed to the thermostat every time it reconnects — which means your retained setpoint command will constantly override whatever the device&#8217;s internal heating schedule is trying to do. It&#8217;s a subtle bug that&#8217;ll have you wondering why your thermostat is ignoring its schedule.</p>



<h2 class="wp-block-heading">Home Assistant Integration — Skip the HACS Plugin</h2>



<p>There&#8217;s a HACS integration called <code>comet_wifi_integration</code>. I tried it. It has bugs, and more critically it uses QoS 2 for MQTT delivery, which HA&#8217;s MQTT client handles poorly. Messages get dropped, entities get stuck, it&#8217;s frustrating.</p>



<p>The better approach: use Home Assistant&#8217;s built-in MQTT climate entity via YAML. It&#8217;s rock solid and gives you full control.</p>



<p>In your <code>mqtt.yaml</code>:</p>



<pre class="wp-block-code"><code>climate:
  - name: Wohnzimmer
    temperature_command_topic: "02/PREFIX/MAC/S/A0"
    temperature_command_template: >-
      {{ "#%02x" % ((value | float * 2) | int) }}
    temperature_state_topic: "02/PREFIX/MAC/V/A0"
    temperature_state_template: "{{ int(value[1:3],base=16)/2 }}"
    current_temperature_topic: "02/PREFIX/MAC/V/A1"
    current_temperature_template: "{{ int(value[1:3],base=16)/2 }}"</code></pre>



<p>The templates handle the hex encoding automatically. The command template converts a float like <code>21.0</code> into <code>#2a</code>. The state templates do the reverse. Swap <code>PREFIX</code> and <code>MAC</code> with your actual device values, repeat for each thermostat.</p>



<p>For polling, add an automation that fires every 15 minutes:</p>



<pre class="wp-block-code"><code>alias: Poll Comet WiFi Thermostats
trigger:
  - platform: time_pattern
    minutes: "/15"
action:
  - service: mqtt.publish
    data:
      topic: "02/PREFIX/MAC/S/AF"
      payload: "#01000000"
  - service: mqtt.publish
    data:
      topic: "02/PREFIX/MAC/S/AF"
      payload: "#02000000"</code></pre>



<p>Battery and window sensors follow the same pattern using MQTT <code>sensor</code> and <code>binary_sensor</code> entities — same topic structure, same hex decoding.</p>



<h2 class="wp-block-heading">One Thing to Keep in Mind</h2>



<p>The Comet WiFi has an internal heating schedule that runs independently of anything you do via MQTT. If you set a temperature through Home Assistant, it&#8217;ll hold — until the thermostat&#8217;s next scheduled time slot kicks in and overrides it. This is the same behavior you&#8217;d get with the official app. It&#8217;s not a bug in your setup; it&#8217;s just how the device works. Plan your automations around it, or accept that the schedule has the final word.</p>



<h2 class="wp-block-heading">The Result</h2>



<p>Three thermostats, fully local. Real-time temperature readings in Home Assistant. Target temperature control. Battery monitoring. Window-open detection. Zero cloud dependency. The whole setup survives internet outages without a hiccup.</p>




<h2 class="wp-block-heading">How We Got Here</h2>



<p>Full disclosure: I built this integration in a pair-programming session with Claude Code, Anthropic&#8217;s CLI coding assistant. Claude handled the broker setup, DNS configuration, and initial HA integration code — but the existing community documentation and the HACS plugin both had gaps that only showed up during real-world testing. The <code>#0b</code> polling command that everyone recommends? Unreliable. The QoS 2 MQTT subscriptions in the custom integration? Silently broken in HA. The retain flag? A landmine waiting to blow up your heating schedule.</p>



<p>Each of these issues required hands-on debugging — me watching thermostat displays, checking if temperatures actually changed, opening windows to test sensors — while Claude analyzed the MQTT broker logs and iterated on the configuration. The <code>S/AF</code> polling commands and the distinction between <code>#01000000</code> and <code>#02000000</code> came from sniffing what the official Eurotronic app actually sends, which turned out to be completely different from what the community had documented.</p>



<p>It took more reverse engineering than it should have — Eurotronic publishes nothing about this protocol — but once you have the DNS intercept in place and understand the hex encoding, the rest falls into place quickly. If you&#8217;re sitting on a pile of Comet WiFi thermostats wondering why there&#8217;s no clean local integration, this is your path forward.</p>



<h2 class="wp-block-heading">P.S. — The Jinja2 Trap</h2>



<p>If your battery sensors show suspiciously low values, check your template. In Python, <code>int("3C", 16)</code> means &#8222;parse as base 16&#8220; and returns 60. In Jinja2, the same syntax means &#8222;use 16 as the default if parsing fails.&#8220; The correct Jinja2 for hex conversion is <code>{{ value[1:] | int(base=16) }}</code>, not <code>{{ int(value[1:], 16) }}</code>. This applies to battery values but not temperatures — the temperature registers happen to use only digits 0-9 in their hex encoding at typical room temperatures, so the bug is invisible until a value contains A-F.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Markus &#038; Claude</title>
		<link>https://blog.reauktion.de/markus-claude/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Sat, 28 Mar 2026 12:52:16 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2855</guid>

					<description><![CDATA[Successfully used @AnthropicAI Claude Code to develop mainline Linux kernel patches for the CoolPi CM5 GenBook (RK3588)! 🎉Patches available at: https://github.com/marfrit/misc_patches Now tackling the Radxa Rock 5 ITX+ — dual 4K display support on mainline is next. Huge thanks to @Collabora for their incredible upstream RK3588 work 🙏 And suspend for the GenBook is next...]]></description>
										<content:encoded><![CDATA[
<p>Successfully used @AnthropicAI Claude Code to develop mainline Linux kernel patches for the CoolPi CM5 GenBook (RK3588)! 🎉Patches available at: https://github.com/marfrit/misc_patches</p>



<p>Now tackling the Radxa Rock 5 ITX+ — dual 4K display support on mainline is next. Huge thanks to @Collabora for their incredible upstream RK3588 work 🙏</p>



<p>And suspend for the GenBook is next as soon as an appropriate UART cable arrives&#8230;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>coolpi loader</title>
		<link>https://blog.reauktion.de/coolpi-loader/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Sat, 24 Jan 2026 23:52:07 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2853</guid>

					<description><![CDATA[Das Mysterium des GenBook Boots ist gelöst: das OEM image ist eines für unterschiedliche Geräte des Herstellers. Der Bootloader des Herstellers ist Gerätespezifisch und ändert extlinux.conf so, dass der richtige Device Tree geladen wird. Gewöhnungsbedürftiger Hack!]]></description>
										<content:encoded><![CDATA[
<p>Das Mysterium des GenBook Boots ist gelöst: das OEM image ist eines für unterschiedliche Geräte des Herstellers. Der Bootloader des Herstellers ist Gerätespezifisch und ändert extlinux.conf so, dass der richtige Device Tree geladen wird. Gewöhnungsbedürftiger Hack!</p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>cool-pi GenBook</title>
		<link>https://blog.reauktion.de/cool-pi-genbook/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 11:51:45 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2849</guid>

					<description><![CDATA[[ &#160;&#160;&#160;0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050][ &#160;&#160;&#160;0.000000] Linux version 6.18.6-1-aarch64-ARCH (builduser@arch-nspawn-106937) (aarch64-unknown-linux-gnu-gcc (GCC) 15.2.120251112, GNU ld (GNU Binutils) 2.45.1) #1 SMP PREEMPT_DYNAMIC Mon Jan 19 13:22:47 UTC 2026[ &#160;&#160;&#160;0.000000] random: crng init done[ &#160;&#160;&#160;0.000000] Machine model: CoolPi CM5 GenBook Something strange &#8211; the original boot loader seems to overwrite extlinux.conf first 27...]]></description>
										<content:encoded><![CDATA[
<p><code>[ &nbsp;&nbsp;&nbsp;0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]<br>[ &nbsp;&nbsp;&nbsp;0.000000] Linux version 6.18.6-1-aarch64-ARCH (builduser@arch-nspawn-106937) (aarch64-unknown-linux-gnu-gcc (GCC) 15.2.1<br>20251112, GNU ld (GNU Binutils) 2.45.1) #1 SMP PREEMPT_DYNAMIC Mon Jan 19 13:22:47 UTC 2026<br>[ &nbsp;&nbsp;&nbsp;0.000000] random: crng init done<br>[ &nbsp;&nbsp;&nbsp;0.000000] Machine model: CoolPi CM5 GenBook<br></code></p>



<p>Something strange &#8211; the original boot loader seems to overwrite extlinux.conf first 27 bytes with </p>



<p><code>default coolpi_rk3588_gbook</code></p>



<p>but extlinux treats the following line </p>



<p><code>default arch</code></p>



<p>as the one being evaluated.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LVM RAID6</title>
		<link>https://blog.reauktion.de/lvm-raid6/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Sat, 26 Feb 2022 00:44:55 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[LVM RAID6 ioctl missing pv]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2835</guid>

					<description><![CDATA[Do. Not. Use. At this time, a LVM raid array cannot be reconstructed with a missing physical volume. That&#8217;s a 0% chance of data recovery. Which is less than BTRFS&#8216; 50% chance of RAID6 recovery.]]></description>
										<content:encoded><![CDATA[
<p>Do. Not. Use. At this time, a LVM raid array cannot be reconstructed with a missing physical volume. That&#8217;s a 0% chance of data recovery. Which is less than BTRFS&#8216; 50% chance of RAID6 recovery.</p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Network-Manager: Wifi found, no connection</title>
		<link>https://blog.reauktion.de/network-manager-wifi-found-no-connection/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Tue, 28 Sep 2021 11:32:23 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[network-manager]]></category>
		<category><![CDATA[reason=40]]></category>
		<category><![CDATA[secret]]></category>
		<category><![CDATA[wifi]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2826</guid>

					<description><![CDATA[I had a problem with my Centrino-Wifi not connecting to my WLAN. Turns out, Network-Manager defaults to WPA-PERSONAL-3, which my wifi card was not capable of. Changing that to WPA-PERSONAL-2 allow the connection to be established.]]></description>
										<content:encoded><![CDATA[
<p>I had a problem with my Centrino-Wifi not connecting to my WLAN. Turns out, Network-Manager defaults to WPA-PERSONAL-3, which my wifi card was not capable of. Changing that to WPA-PERSONAL-2 allow the connection to be established. </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hasu USB to USB Controller Converter » 1upkeyboards</title>
		<link>https://blog.reauktion.de/hasu-usb-to-usb-controller-converter-1upkeyboards/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Thu, 20 Aug 2020 13:44:32 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[qmk]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2813</guid>

					<description><![CDATA[  Turn almost any USB keyboard into a programmable keyboard! This converter, created by Hasu, allows you to change the keymap and add functions through TMK firmware. NO soldering required. Externally attached. Add up to 7 layers and up to 32 Fn keys. Supports 6KRO (or NKRO keyboards that will work in 6KRO mode). Media/System...]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/"><img decoding="async" class="alignnone size-full" src="https://dynamic.reauktion.de/flugphase/wp-content/uploads/2020/08/3-wbLjV6J.jpg" alt="" /></a></p>
<blockquote><p>  Turn almost any USB keyboard into a programmable keyboard! This converter, created by Hasu, allows you to change the keymap and add functions through TMK firmware. NO soldering required. Externally attached. Add up to 7 layers and up to 32 Fn keys. Supports 6KRO (or NKRO keyboards that will work in 6KRO mode). Media/System control keys and ‘Fn’ key are not recognized by the converter, but will still function as originally programmed on the board.   Please check Hasu’s geekhack thread below for the current list of compatible and incompatible keyboards as well as additional information.</p></blockquote>
<p>Quelle: <em><a href="https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/">Hasu USB to USB Controller Converter » 1upkeyboards</a></em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Proxy error in discover and pkcon</title>
		<link>https://blog.reauktion.de/proxy-error-in-discover-and-pkcon/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Wed, 12 Aug 2020 21:09:01 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[discover]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[PackageKit]]></category>
		<category><![CDATA[plasma]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2809</guid>

					<description><![CDATA[Finally found a solution to my problem of discover not working correctly after changing my KDE proxy settings: sudo rm /var/lib/PackageKit/transactions.dbsudo systemctl restart packagekit.service Source]]></description>
										<content:encoded><![CDATA[
<p>Finally found a solution to my problem of discover not working correctly after changing my KDE proxy settings: </p>



<p><code>sudo rm /var/lib/PackageKit/transactions.db</code><br><code>sudo systemctl restart packagekit.service</code></p>



<p><a href="https://github.com/hughsie/PackageKit/issues/392">Source</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>German characters, Linux and Windows</title>
		<link>https://blog.reauktion.de/german-characters-linux-and-windows/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Fri, 10 Jul 2020 22:02:28 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[qmk]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2804</guid>

					<description><![CDATA[Just in case you haven&#8217;t noticed: I&#8217;m german, and that requires to type some german characters, like ä, ö and ü (and ß) from time to time. One problem with that: qmk takes a keypress and translates it to a keycode to be sent to the operating system. The operating system takes the keycode and...]]></description>
										<content:encoded><![CDATA[
<p>Just in case you haven&#8217;t noticed: I&#8217;m german, and that requires to type some german characters, like ä, ö and ü (and ß) from time to time.</p>



<p>One problem with that: qmk takes a keypress and translates it to a keycode to be sent to the operating system. The operating system takes the keycode and translates it to a character based on the selected keyboard layout. So, if you press &#8222;Z&#8220; on an US keyboard, it emits keycode 52, which will be translated to the letter &#8222;Z&#8220; using the US keycode-to-character translation map.</p>



<p>On a german keyboard, it gets translated to &#8222;Y&#8220;. But also, SHIFT+2 is translated to @ with the US layout, and to &#8218;&#8220;&#8218; (double quote) with the german layout.</p>



<p>To make things worse, these translations are not consistent across operating systems; the key combinations with &#8222;AltGr&#8220; (the right Alt key, which is different from the left Alt key in the german layout) are not the same translations on Linux and Windows.</p>



<p>My solution is to use the US International layout with Windows and Linux, and to remap the keys in Linux using xmodmap:</p>



<pre class="wp-block-preformatted">keycode 24 = q Q q Q adiaeresis Adiaeresis at Greek_OMEGA q Q
keycode 26 = e E e E EuroSign EuroSign e E e E
keycode 29 = y Y y Y udiaeresis Udiaeresis leftarrow yen y Y
keycode 33 = p P p P odiaeresis Odiaeresis thorn THORN p P
keycode 39 = s S s S ssharp U1E9E U017F U1E9E s S</pre>



<p>This is the bare minimum needed for the umlauts to work; still need to find the switch for Windows not to treat the double quote as dead character though.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>NVRM: RmInitAdapter failed!</title>
		<link>https://blog.reauktion.de/nvrm-rminitadapter-failed/</link>
		
		<dc:creator><![CDATA[Markus Fritsche]]></dc:creator>
		<pubDate>Fri, 08 May 2020 15:30:34 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NVIDIA]]></category>
		<category><![CDATA[rm_init_adapter]]></category>
		<category><![CDATA[RmInitAdapter]]></category>
		<category><![CDATA[vbios]]></category>
		<guid isPermaLink="false">https://dynamic.reauktion.de/flugphase/?p=2800</guid>

					<description><![CDATA[The last couple of days I was having trouble with my GTX 980M NVIDIA (Optimus) integrated graphics card (with neon / ubuntu). The driver nvidia would load, but refuse to work. NVIDIA settings would let me switch the graphics card, but nothing happened. dmesg / journalctl contained the following lines: kernel: NVRM: GPU 0000:01:00.0: Failed...]]></description>
										<content:encoded><![CDATA[
<p>The last couple of days I was having trouble with my GTX 980M NVIDIA (Optimus) integrated graphics card (with neon / ubuntu). The driver nvidia would load, but refuse to work. NVIDIA settings would let me switch the graphics card, but nothing happened. dmesg / journalctl contained the following lines:</p>



<p><code>kernel: NVRM: GPU 0000:01:00.0: Failed to copy vbios to system memory. </code><br><code>kernel: NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x30:0xffff:663)</code><br><code>kernel: NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0</code></p>



<p>After installing various (known to work previously) distributions, killing my bootloader in the process (yeah, thanks UEFI) I got desperate and installed Windows 10. The card showed up with a yellow exclamation mark in the device manager, stating the card couldn&#8217;t be used because it failed starting up with &#8222;Error 43&#8220;. </p>



<p>Some googling suggested to try the card in another motherboard, but I was afraid that would have been a bit much for an integrated graphics card. After some more googling, I tried to use &#8222;nvflash64&#8220; &#8211; first with the wrong bios (fortunately, nvflash refused to flash the wrong image and yielded the ID I needed to search for the right one). I found the vbios file at <a href="https://www.techpowerup.com/vgabios/">techpowerup</a>. Flashed the right file and&#8230; The exclamation mark was gone! Subsequently, when I restored my linux partition (an adventure of its own, due to my stupidity), NVIDIA Settings is working again! Yay!</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
