secureblue / secureblue

Hardened Fedora Atomic and Fedora CoreOS images
https://github.com/secureblue/secureblue/wiki
Apache License 2.0
318 stars 28 forks source link

[BUG] Issue with enabling broadcom-wl on sericea/macbook air #335

Closed stephenmmcleod closed 2 months ago

stephenmmcleod commented 2 months ago

First of all, I'd like to say thanks for putting together such a necessary project! After learning how insecure many of the defaults on desktop linux are, I was feeling pretty overwhelmed to implement the suggested fixes myself. This project seems like the perfect companion in my quest to keep my old hardware running and secure (or as much as possible given the constraints of the hardware).

Now for the issue. On sericea-main-hardened I'm unable to use my broadcom wifi despite running the ujust enable broadcom-wl script.

I can confirm that on base serecia I was able to connect no problem by layering the image ie: rpm-ostree install broadcom-wl using rpm fusion - so the broadcom-wl driver does work on my hardware. I even was able to download the files required for the the rebase on wifi using that driver, but in order to get the rebase to apply I then removed the driver and rpm fusion repo and completed the process using my phone's tethering mode.

Now, I can boot into secureblue, but my wifi will not enable (though phone tether still does) even though I have run ujust enable broadcom-wl and rebooted.

Is this ujust option well tested on secureblue? I can't seem to find any documentation on it and am not sure what it actually does. If I try to layer the broadcom-wl driver manually I get an error rpmfusion-nonfree requires wl-kmod > 6.30.... so I'm wondering if it's even possible to install this driver?

Would be eternally grateful if someone can point my in the direction of a fix for this issue!

mkkvcs commented 2 months ago

`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 rm -f /etc/modprobe.d/broadcom-wl-blacklist.conf
  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 bash -c '> /etc/modules-load.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

` It does not install the drivers. I'll go ahead and check what could be wrong with the rpmfusion install

stephenmmcleod commented 2 months ago

@MkKvcs Thanks! I was about to edit the issue to say I found ujust --show <command> and see that it just removes the blacklist but yea the issue is with the install 😟 hopefully it's an easy fix. Let me know if you need more info on my system etc.

mkkvcs commented 2 months ago

I really have no idea why you can layer something on ublue but not secureblue, the rpm repos are the same

stephenmmcleod commented 2 months ago

hrmmm do you mean to say that you aren't sure why it doesn't work for me, or that it just doesn't work on secureblue?

qoijjj commented 2 months ago

@MkKvcs I suspect he was using Fedora Sericea, not ublue sericea

@stephenmmcleod when you say "base sericea" do you mean ublue's sericea or fedora's?

If you can reproduce this on ublue's sericea after rebasing to it, which I suspect is the case, please create an issue to them. Both the ujust script and broadcom-wl absence are owned by them

qoijjj commented 2 months ago

It looks like that ujust script refers to files that are no longer present in main, https://github.com/ublue-os/main/pull/350/files

So that script needs TLC as well

This is probably a combination of upstream issues

stephenmmcleod commented 2 months ago

@qoijjj Ahhhhh shoot yes I'm using Fedora. I did not realize there would be a problem to use fedora sericea vs ublue sericea. You may want to make that clear in the install doc if it's not recommended to go that route? I read the section where it says To rebase a Fedora Atomic installation, choose an $IMAGE_NAME from the ... to mean it would be fine to start with normal fedora atomic and the rebase process would add on everything that is needed.

edit: just to clarify, are you suggesting I rebase my existing install to ublue sericea or to install ublue sericea base image directly?

anyhow, yes if it's broken there as you suspect I will follow up with them.

Thanks for the help :)

qoijjj commented 2 months ago

@stephenmmcleod It's not a problem to go from fedora sericea to secureblue sericea.

qoijjj commented 2 months ago

Please read what I wrote again, I'm not sure how you got that from what I wrote.

I'm asking you to try ublue's sericea for the sake of testing rpm-ostree install broadcom-wl and the ujust command, because ublue makes upstream changes, not because it's incorrect to install by rebasing from Fedora Atomic.

stephenmmcleod commented 2 months ago

haha gotcha gotcha I understand now :) been a long day heh

qoijjj commented 2 months ago

@stephenmmcleod np, please tag this issue once you've created an issue upstream (assuming you can repro upstream)

stephenmmcleod commented 2 months ago

@qoijjj will do

stephenmmcleod commented 2 months ago

annnnd confirmed issue in upstream ublue after rebase.

qoijjj commented 2 months ago

@stephenmmcleod I believe this needs another issue created to https://github.com/ublue-os/config for the ujust command breaking.

This is upstream of secureblue so I'll be closing this here, but please do cut that second issue for the script. Thanks