Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluefin can't see Broadcom wifi adapter #1783

Open
novakwh opened this issue Oct 14, 2024 · 30 comments · Fixed by #2070
Open

Bluefin can't see Broadcom wifi adapter #1783

novakwh opened this issue Oct 14, 2024 · 30 comments · Fixed by #2070
Labels
bug Something isn't working

Comments

@novakwh
Copy link

novakwh commented Oct 14, 2024

Describe the bug

My laptop wifi adapter works perfectly fine on Silverblue (Fedora 40), but Bluefin does not see it.

What did you expect to happen?

I expected the wifi adapter to be seen by the system, but there is no wifi adapter found.

Output of rpm-ostree status

State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: no runs since boot
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bluefin:stable
Digest: sha256:931a5a251bfbe4e6127d17bb42e828e5af02cbfc232fc2d230cd8ff4591a2407
Version: 40.20241011.0 (2024-10-12T22:40:03Z)

ostree-image-signed:docker://ghcr.io/ublue-os/bluefin:gts
Digest: sha256:ba81f343f1be0681f257fa9dd644c6cea5bffad59d2317c61434f51438799169
Version: 39.20241012.0 (2024-10-13T05:44:08Z)

Output of groups

[username] wheel

Extra information or context

I posted this on the ublue discourse and then realized I should probably post it here, sorry for duplication.

Last couple of days I have been trying to check out Bluefin again after having been using Silverblue (without any issues) on my laptop (Dell XPS 13 9350). Bluefin just will not recognize the Wifi adapter even though Silverblue (40) works fine. I did a fresh install of Bluefin ISO (non-developer) yesterday, and nothing; tethered to my phone I rebased to stable, and still nothing. I reinstalled Silverblue from ISO, and again, that works fine. Did a rebase to Bluefin from Silverblue and wifi vanished. Reinstalled Silverblue from ISO again, and again Wifi works fine.

Today, did the whole thing again just to see if I could figure something out, reinstalling Bluefin from fresh ISO, no wifi, rebasing to stable, no wifi.

I am not Linux capable enough to know more than to scratch my head after all of these installs and rebases and reinstalls. It just seems plain weird that Silverblue works like a dream but I just can’t get Bluefin to recognize a wifi adapter.

The wifi device info from lspci is, I believe

3a:00.0 Non-VGA unclassified device [0000]: Broadcom Inc. and subsidiaries Device [14e4:8100] (rev 08)

@dosubot dosubot bot added the bug Something isn't working label Oct 14, 2024
@castrojo
Copy link
Member

I feel like we've seen this before? I think it's because of the broadcom firmware choice we made.

@castrojo
Copy link
Member

@novakwh
Copy link
Author

novakwh commented Oct 15, 2024

Hmm, I'm not tech savvy enough to know offhand how to follow the suggestions in that thread re inserting a module.

One thing I didn't mention in my original post, and I don't know if it helps or adds to the confusion or just states the obvious, but:

After the Bluefin ISO install didn't work, and I reinstalled Silverblue and then rebased to Bluefin (following instructions found on the discourse), it seemed to work fine except, as noted, there was no wifi adapter. So I then used rpm-ostree rollback to get back to Silverblue, but this time after rebooting, Silverblue didn't see the wifi adapter, either.

So then I did a fresh install of Silverblue from ISO and the wifi adapter was there.

So, once I rebased from Silverblue to Bluefin, the wifi adapter could no longer be found, even when I rolled back to Silverblue.

@novakwh
Copy link
Author

novakwh commented Oct 16, 2024

Note that the most recent post today from the ublue discourse link above indicates that the OP has decided he is having a hardware issue with a flakey Broadcom wifi. That is NOT my issue, just to be clear: the wifi card works not only fine with Silverblue (going back and forth, it works every time Silverblue is installed from an ISO) but also works fine with other Linux distros (most recently, last week, Tumbleweed).

@novakwh
Copy link
Author

novakwh commented Oct 17, 2024

Ok, some more weird stuff about this issue as I've been playing around.

Note that I have done fresh installs of Bluefin both with secure boot enabled, and with secure boot disabled, and in neither case was the wifi adapter recognized.

I have always installed Silverblue with secure boot disabled (and it has always recognized the wifi card without a problem), so this morning I tried installing it from a fresh ISO but with secure boot enabled -- and this time, Silverblue did NOT see a wifi adapter.

I then reinstalled Silverblue from the same ISO but this time with secure boot disabled like usual, and yes, the wifi was recognized as normal.

So I then did a direct rebase from Silverblue to vauxite-main -- and this time, the wifi worked!

Note that whenever I did a rebase from Silverblue (with working wifi) to Bluefin, the wifi disappeared. (And rebasing from Bluefin then to Vauxite, or rolling back to Silverblue, the wifi still did not work.)

Anyway thought I would mention this, since so far it seems secure boot had something to do with Silverblue not recognizing the wifi card, but rebasing to Vauxite from Silverblue (with secure boot disabled) meant the wifi worked fine, but Bluefin does not recognize it in any event. Or maybe all this secure boot stuff is just coincidental.

One other thing -- with Bluefin installs I've always had to do a MOK enrollment before the first boot, whether secure boot was enabled or disabled -- that's the only time I've ever seen that screen on an install. Not sure if that has anything to do with it, but I'm just trying to provide info. Sometimes I skipped the enrollment, sometimes I used universalblue as the password, but the wifi was never recognized in any event.

(The irony here is that I was really trying to get to XFCE anyway, I was just under the impression it would be better to go to Bluefin first.)

@jaredhenderson
Copy link

Hello, just chiming in that this issue is happening with me also - trying Bluefin for the first time today, have previously tried Bazzite and Silverblue where wifi works out of the box.

I have a Broadcom 94360 wireless adaptor (MacBook Pro mid 2015). In Bluefin, wifi works straight away when I use modprobe brcmfmac, however it does not persist across reboots as mentioned in the prior linked issue that got closed.

@osalbahr
Copy link

osalbahr commented Nov 2, 2024

This also happens with a 2017 MacBook Pro.

@chrisolsen
Copy link

I am seeing the same thing on a Dell XPS 13 9350. Things were working until I did a system update the other day.

@TheScreechingBagel
Copy link

TheScreechingBagel commented Dec 15, 2024

Same issue on a 2017 MacBook Pro (MacBookPro14,2) running aurora-dx:
the wifi (BCM43602) functions provided with the proper firmware, using the brcmfmac driver, but the kernel module does not get automatically loaded on boot - but works fine after a sudo modprobe brcmfmac
on regular fedora, the module gets loaded automatically

repo where i'm trying to do some bringup for that mac if anyone's interested (@osalbahr ?): apple-dots (not quite there yet)

@TheScreechingBagel
Copy link

bluefin and aurora both install the wl akmod for the proprietary broadcom-wl driver, while brcmfmac is from the brcm80211 driver
here in bluefin, introduced in this commit
here in aurora, introduced in this commit (guess #1867 went into both?)

the package from rpm fusion blocklists a bunch of kernel modules, including brcmfmac
on my system it's found at usr/lib/modprobe.d/broadcom-wl-blacklist.conf

my temporary workaround is placing empty files at /usr/lib/NetworkManager/conf.d/90-broadcom-wl.conf and /usr/lib/modprobe.d/broadcom-wl-blacklist.conf

afaict, broadcom-wl is mostly for legacy devices and lacks some of the features of the open driver, so aurora/bluefin using brcm when possible would be nice

scadu added a commit to scadu/bluefin-config that referenced this issue Dec 16, 2024
Due to `broadcom-wl` blocklisting `brcmfmac`, the latter is not loaded on boot.
Creating empty files is supposed to be a workaround for the blocklisting.

More details in ublue-os/bluefin#1783 (comment)
@castrojo
Copy link
Member

I'd accept a PR to just put this in a ujust for mac people so that it's a one liner! I don't have the hardware to test though.

@TheScreechingBagel
Copy link

TheScreechingBagel commented Dec 16, 2024

I'd accept a PR to just put this in a ujust for mac people so that it's a one liner! I don't have the hardware to test though.

unfortunately not quite sure what the proper way would be on a deployed image, some pointers/docs would be appreciated (and on managing akmods)

furthermore, preferring a ~legacy non-free driver[1][2] over the mainline kernel driver feels counterproductive to the "for the 96% not the 4%" thing; perhaps it should be the non-default one enabled with a ujust command?
unless ofc i am unaware of a lot of modern devices requiring wl which is very possible :p

cheers!

@castrojo
Copy link
Member

@TheScreechingBagel
Copy link

i don't think it would work as written; for the enabled state broadcom-wl-blacklist.conf needs to exist with these contents:

# modules blacklisted for broadcom-wl
blacklist ssb
blacklist bcma
blacklist b43
blacklist brcmsmac
blacklist brcmfmac

because they all interfere with wl, hence the rpm-fusion package blacklisting them

and for the disabled state it should be deleted/disabled

@TheScreechingBagel
Copy link

oh it also ships with this NetworkManager config disabling randomized mac addresses for wifi scanning which is 😬

https://github.com/rpmfusion/broadcom-wl/blob/master/90-broadcom-wl.conf

@TheScreechingBagel
Copy link

maaybe something like

# vim: set ft=make :

alias broadcom-wl := configure-broadcom-wl

# Configure Broadcom WL driver (Enabling WL breaks numerous other Wi-Fi adapters)
configure-broadcom-wl ACTION="prompt":
    #!/usr/bin/bash
    source /usr/lib/ujust/ujust.sh
    OPTION={{ ACTION }}
    if [ "$OPTION" == "prompt" ]; then
      echo "${bold}Configuring Broadcom Wi-Fi${normal}"
      echo 'Enabling Broadcom WL driver will break numerous other Wi-Fi adapters.'
      echo 'Enable or Disable Broadcom Wl?'
      OPTION=$(ugum choose Enable Disable)
    elif [ "$OPTION" == "help" ]; then
      echo "Usage: ujust configure-broadcom-wl <option>"
      echo "  <option>: Specify the quick option - 'enable' or 'disable'"
      echo "  Use 'enable' to select Enable"
      echo "  Use 'disable' to select Disable"
      exit 0
    fi
    if [ "${OPTION,,}" == "enable" ]; then
      sudo bash -c 'echo << EOF > /etc/modules-load.d/broadcom-wl-blacklist.conf
      # modules blacklisted for broadcom-wl
      blacklist ssb
      blacklist bcma
      blacklist b43
      blacklist brcmsmac
      blacklist brcmfmac
      EOF'
      sudo rm -f /etc/modprobe.d/default-disable-broadcom-wl.conf
      echo "${bold}Enabled${normal} Broadcom Wireless, please reboot for changes to take effect"
    elif [ "${OPTION,,}" == "disable" ]; then
      sudo rm -f /etc/modprobe.d/broadcom-wl-blacklist.conf
      sudo bash -c 'echo "blacklist wl" > /etc/modules-load.d/default-disable-broadcom-wl.conf'
      echo "${bold}Disabled${normal} Broadcom Wireless, please reboot for changes to take effect"
    fi

but i've yet to test it

@castrojo
Copy link
Member

I'm not sure how any of this works, but if we can get consensus from people who own the hardware on what we should ship we could just do that.

@AllanCrowson
Copy link

Non-coder here, speaking only as user.

First, thank you castrojo for your participation in helping to work this out.

The main thing we users of the affected hardware want is for it all to just work. We don't really care which piece gets loaded. What was loading back several months ago, when it all worked? That might be a good place to start.

I'm willing to try to reload Bluefin or Bazzite and experiment with anything you want to send my way. I'm happy to "load a module" as has been mentioned in some of the discussion -- but tell me how.

Yes, my ignorance is showing, but I'll take the embarrassment if it will get us a more trouble-free solution that works for non technical users.

Thanks!

@castrojo
Copy link
Member

The main thing we users of the affected hardware want is for it all to just work.

We all want everything to just work, but you have Broadcom wifi. Someone with Broadcom wifi needs to figure this out and tell the rest of us what to ship.

castrojo added a commit that referenced this issue Dec 23, 2024
This may or may not fix broadcom wireless? 

Fixes #1783
@castrojo
Copy link
Member

OK pushing new builds, someone on bluefin:latest willl need to test. This will likely break the broadcom people who need wl, but it's probably better for us to match Fedora instead of carrying this akmod.

@enjikaka
Copy link

enjikaka commented Dec 28, 2024

I'm on bluefin:latest on my MacBookPro11,2 and the wifi stopped working.

Enabling broadcom via ujust configue-broadcom-wl does not work.

@rgaiacs
Copy link

rgaiacs commented Dec 28, 2024

I am also seeing the same thing on my Dell XPS 13 9350 with a installation during Xmas.

@castrojo castrojo reopened this Dec 29, 2024
@castrojo castrojo changed the title Bluefin can't see wifi adapter Bluefin can't see Broadcom wifi adapter Dec 29, 2024
@castrojo
Copy link
Member

Alright, as expected when we fix half of the Broadcom users we break the other half. Right now we are defaulting to what Fedora uses, we'd love some help looking at the ujust command to see if we can crib in a way to enable the others but we don't have any of the hardware to test, which kind of leaves us stuck in this current situation.

mulderje added a commit to mulderje/ublue-oldair that referenced this issue Dec 29, 2024
Hard code wl into the akmods since it got removed from bluefin

Link: ublue-os/bluefin#1783
@mulderje
Copy link

mulderje commented Dec 29, 2024

@castrojo - feel free to ping me to test any ujust commands. Removing wl broke my wifi. Added the package back in I assume will fix mine back up, but happy to test anything where it helps

Also confirming ujust configue-broadcom-wl didn't work for me. I am pretty sure this is because there is no broadcom-wl package installed at this point since removed in #2070

@salim-b
Copy link
Contributor

salim-b commented Dec 31, 2024

Also confirming ujust configue-broadcom-wl didn't work for me. I am pretty sure this is because there is no broadcom-wl package installed at this point since removed in #2070

@castrojo I think we need to install broadcom-wl but overwrite broadcom-wl.conf with empty content by default like Arch Linux does (related discussion).

@rgaiacs
Copy link

rgaiacs commented Dec 31, 2024

Not It is working on Dell XPS 13 9350.

rpm-ostree status --booted --verbose
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: no runs since boot
BootedDeployment:
● ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx:latest (index: 0)
                   Digest: sha256:a2bf31c2fb3b94b8b2267d89aa8eaabe94e01187e5fe814e7eb2ab87f38ce729
                  Version: latest-41.20241231 (2024-12-31T05:07:04Z)
               BaseCommit: f819c8f336feea1dd14144132945473df44098376350232f3ef3a8fd1c4f7837
                   Commit: dc37fb593e66e64350d922809b634e07c67af706da4d0a9cd74352819c0f5150
                           ├─ copr:copr.fedorainfracloud.org:phracek:PyCharm (2024-12-16T12:28:59Z)
                           ├─ fedora (2024-10-24T13:55:59Z)
                           ├─ google-chrome (2024-12-30T21:18:41Z)
                           ├─ rpmfusion-free (2024-10-27T07:49:25Z)
                           ├─ rpmfusion-free-updates (2024-12-23T20:55:43Z)
                           ├─ rpmfusion-nonfree (2024-10-27T07:58:23Z)
                           ├─ rpmfusion-nonfree-nvidia-driver (2024-12-17T11:02:42Z)
                           ├─ rpmfusion-nonfree-steam (2024-12-02T07:45:38Z)
                           ├─ rpmfusion-nonfree-updates (2024-12-23T21:12:05Z)
                           ├─ updates (2024-12-31T03:06:46Z)
                           └─ updates-archive (2024-12-31T03:21:44Z)
                   Staged: no
                StateRoot: default
            LocalPackages: rpmfusion-free-release-41-1.noarch
                           rpmfusion-nonfree-release-41-1.noarch

@enjikaka
Copy link

I can't seem to install it manually:

rpm-ostree install broadcom-wl
Checking out tree 34df508... done
Enabled rpm-md repositories: updates fedora google-chrome rpmfusion-nonfree-nvidia-driver rpmfusion-nonfree-steam copr:copr.fedorainfracloud.org:phracek:PyCharm updates-archive
Importing rpm-md... done
rpm-md repo 'updates' (cached); generated: 2024-12-31T03:06:46Z solvables: 15680
rpm-md repo 'fedora' (cached); generated: 2024-10-24T13:55:59Z solvables: 76624
rpm-md repo 'google-chrome' (cached); generated: 2024-12-29T09:17:48Z solvables: 4
rpm-md repo 'rpmfusion-nonfree-nvidia-driver' (cached); generated: 2024-12-17T11:02:42Z solvables: 17
rpm-md repo 'rpmfusion-nonfree-steam' (cached); generated: 2024-12-02T07:45:38Z solvables: 2
rpm-md repo 'copr:copr.fedorainfracloud.org:phracek:PyCharm' (cached); generated: 2024-12-16T12:28:59Z solvables: 10
rpm-md repo 'updates-archive' (cached); generated: 2024-12-31T03:21:44Z solvables: 20087
error: Packages not found: broadcom-wl

@rgaiacs
Copy link

rgaiacs commented Dec 31, 2024

Sorry for the wrong information at my previous comment. Broadcom Wi-Fi adapter is working on latest-41.20241231 (2024-12-31T05:07:04Z).

@enjikaka
Copy link

enjikaka commented Jan 1, 2025

I got my wifi working on my MacBookPro11,2 with the steps outlined here: https://github.com/p1u3o/tidbits?tab=readme-ov-file#broadcom

  1. sudo rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
  2. reboot
  3. rpm-ostree install akmod-wl
  4. reboot

@PeterKordell
Copy link

I got my wifi working on my MacBookPro11,2 with the steps outlined here: https://github.com/p1u3o/tidbits?tab=readme-ov-file#broadcom

1. `sudo rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm`

2. reboot

3. `rpm-ostree install akmod-wl`

4. reboot

Thanks! This also worked for me on MBP 11,1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.