{"id":6636,"date":"2026-05-13T07:32:01","date_gmt":"2026-05-13T05:32:01","guid":{"rendered":"https:\/\/www.hanshafner.de\/blog\/?p=6636"},"modified":"2026-05-13T07:32:27","modified_gmt":"2026-05-13T05:32:27","slug":"debian-on-macbook-air-fixing-wifi-after-system-update","status":"publish","type":"post","link":"https:\/\/www.hanshafner.de\/blog\/2026\/05\/13\/debian-on-macbook-air-fixing-wifi-after-system-update\/","title":{"rendered":"Debian on MacBook Air &#8211; fixing Wifi after system update"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Fix: Broadcom Wi-Fi &#8220;Module wl Not Found&#8221; on Debian After Kernel Update<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;m running Debian on a MacBook Wi-Fi stopped working after a system update. Found out, that this happens because a new kernel was installed, but the Broadcom driver failed to &#8220;rebuild&#8221; itself for that new version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When running\u00a0<code>sudo modprobe wl<\/code>\u00a0results in:<br><code>modprobe: FATAL: Module wl not found in directory \/lib\/modules\/...<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, an LLM fixed it and it&#8217;s working again. Sue me, but getting my Linux running again and perhaps sharing the working solution here will help others.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Solution: Sync Your Headers<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>DKMS<\/strong>&nbsp;(Dynamic Kernel Module Support) system needs the specific &#8220;headers&#8221; for your new kernel to compile the driver. Without them, the driver won&#8217;t build.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Install the missing headers:<\/strong>Bash<code>sudo apt update sudo apt install linux-headers-$(uname -r)<\/code><\/li>\n\n\n\n<li><strong>Trigger the rebuild:<\/strong>Once the headers are installed, tell DKMS to look for missing modules and build them:Bash<code>sudo dkms autoinstall<\/code><\/li>\n\n\n\n<li><strong>Load the driver:<\/strong>Now you can manually load the module without the error:Bash<code>sudo modprobe wl<\/code><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pro Tip:<\/strong>&nbsp;To prevent this in the future, ensure you have the&nbsp;<code>linux-headers-amd64<\/code>&nbsp;(or your specific architecture) meta-package installed. This ensures that every time your kernel updates, the matching headers are pulled in automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The reason it matters is that&nbsp;<code>linux-headers-$(uname -r)<\/code>&nbsp;only installs headers for your&nbsp;<strong>current<\/strong>&nbsp;kernel. When the next update rolls around, you&#8217;ll be right back in the same spot. Installing the&nbsp;<strong>meta-package<\/strong>&nbsp;ensures the headers stay updated alongside the kernel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is how you set that up so you never have to manual-fix this again:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The &#8220;Permanent&#8221; Fix<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Run this command to install the meta-package:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install linux-headers-amd64\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Why this works:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The Meta-Package:<\/strong>\u00a0<code>linux-headers-amd64<\/code>\u00a0isn&#8217;t a set of files itself; it&#8217;s a &#8220;pointer.&#8221;<\/li>\n\n\n\n<li><strong>Automatic Sync:<\/strong>\u00a0Every time Debian updates your kernel (e.g., from version\u00a0$6.1$\u00a0to\u00a0$6.2$), this package automatically pulls the matching headers for that new version.<\/li>\n\n\n\n<li><strong>DKMS Trigger:<\/strong>\u00a0Because the headers are present during the update,\u00a0<strong>DKMS<\/strong>\u00a0will automatically rebuild your Broadcom\u00a0<code>wl<\/code>\u00a0module in the background before you even reboot.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">By adding this, your Wi-Fi should &#8220;just work&#8221; after every future update.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fix: Broadcom Wi-Fi &#8220;Module wl Not Found&#8221; on Debian After Kernel Update I&#8217;m running Debian on a MacBook Wi-Fi stopped working after a system update. Found out, that this happens because a new kernel was installed, but the Broadcom driver failed to &#8220;rebuild&#8221; itself for that new version. When running\u00a0sudo modprobe wl\u00a0results in:modprobe: FATAL: Module [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[174],"tags":[215],"class_list":["post-6636","post","type-post","status-publish","format-standard","hentry","category-lifestream","tag-linux"],"_links":{"self":[{"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/posts\/6636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/comments?post=6636"}],"version-history":[{"count":2,"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/posts\/6636\/revisions"}],"predecessor-version":[{"id":6638,"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/posts\/6636\/revisions\/6638"}],"wp:attachment":[{"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/media?parent=6636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/categories?post=6636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hanshafner.de\/blog\/wp-json\/wp\/v2\/tags?post=6636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}