1.3.1(mac) on Macbook Pro 2011 17"

On an MBP 2011 (17") as well as an MBP 2010 15", an MBP 2015 13", two iMac’s 2018 21.5" the system boots just fine, but not to Desktop, unless the “compatibility” mode is chosen. No accelerated graphics, even though all of these computers have a discrete nVidia or AMD/ATi GPU.
Futhermore; on none of these the WiFi works. (All BroadCom based)

I’m happy to help track down the problems here, seeing as I’ll be having a lot of downtime due to the global Corona pandemic, but you will have to guide me through it.

Hi there,

unfortunately, both problems are very common, and I would have been quite surprised if didn’t encounter them. FreeBSD’s support for wifi, especially regarding more recent chips, is quite limited. When experimenting with a MacBook Air, the correct NVIDIA graphics driver was loaded, however, the result was an instant reboot.

So my 10 year old MacBook Pro is still too new? … Wow … who would’ve thought. Haven’t got an older one, so tough luck there.

Question then; is it possible to add support (a driver, or kernel module)?

There are just a few Broadcom wifi devices supported by FreeBSD (bwi(4), bwn(4)). Just to make sure our autodetection didn’t fail, could please tell me the vendor and device ID of your wifi (pciconf -lv | grep -B3 network)?

To satisfy my curiosity, I have installed Ubuntu on my USB Drive; it works perfectly with the graphics and the WiFi, so at least I know I’m not crazy :stuck_out_tongue: but it does mean I will need to reinstall nomadBSD to check the output for you. Will do that this weekend.

I did run that command (or variation) before and it showed me the BCM4322 Wireless but did not write down the Vendor nor the Device ID. So I will get back to you on that :slight_smile:

It may be that you need to compile a custom Kernel to make use of the Wireless device:

@mk1: I think we could provide this custom kernel for the Mac version?

Yes, that’s possible.

@rmpel: Are there any messages regarding bwn in the output of dmesg (dmesg | grep bwn)? Is the bwn kernel module loaded (kldstat | grep bwn)?

@rmpel: I’ve uploaded a kernel build with BWN_GPL_PHY. You can install it as follows:

# fetch -o /tmp/kernel-1.3.1-n-phy.tgz https://nomadbsd.org/download/kernel-1.3.1-n-phy.tgz
# mv /boot/kernel /home/kernel.old
# cd /boot && tar xf /tmp/kernel-1.3.1-n-phy.tgz
1 Like

Interestingly, I just tried 1.3.1 with a 10 year old 27" Gen 1 i7, with a no longer supported ATI Radeon 4850 graphics card. I have it on an old 8gb SanDisk USB 1.2 Facet thumb drive. On initial start-up it choked when I selected the VESA graphics option. On restart, I selected the non accelerated option. It booted fine and it runs amazingly fast. I loaded the package Neofetch, so I could get system info and it is showing the Radeon in the output for “gpu” and not some generic “graphics”. It might be wishful thinking, but, considering how well it is running and fluid, I think it could really be using the card.

1 Like

First off, apologies for the late response. Had a really bad time lately and didn’t feel like anything hobby-related.

Reinstalled 1.3.1 on my flashdrive, still no WiFi (of course, as it’s still the same version), so hereby the result of a few commands;

pciconf -lv | grep -B3 network

bwn_pci0@pci0:3:0:0: class=0x028000 card=0x433114e4 chip=0x433114e4 rev=0x02 hdr=0x00 vendor = 'Broadcom Inc. and subsidiaries' device = 'BCM4331 802.11a/b/g/n' class = network

bwn_pci0: <Broadcom BCM4331 802.11n Dual-Band Wireless> mem 0xa0600000-0xa0603fff at device 0.0 on pci4

bhndb0: on bwn_pci0
bhndb0: Using MSI interrupts on bwn_pci0

10 1 0xffffffff83104000 34120 if_bwn.ko
33 1 0xffffffff831eb000 2933b bwn_v4_ucode.ko

Saw a few other posts about wifi so I already added these to /boot/loader.conf

if_bfe_load=“YES”
wlan_load=“YES”

Gonna try the modified kernel next

[edit] Modified kernel doesn’t help

Welcome back :slight_smile: . I hope you’re doing better now.

This looks good so far. According to the manpage of bwn(4), the bwn_v4_lp_ucode firmware module is required. Just add bwn_v4_lp_ucode_load="YES" to /boot/loader.conf, and reboot.

Unfortunately, still no go.

according to this post; https://landonf.org/code/freebsd/Broadcom_WiFi_Improvements.20180122.html the 4331 should be driven by the bhnd driver, but that also does not give me a wlan device.

(I have tried multiple computers over the course of this topic, but for now, I will be sticking with the 2011 MacBook Pro with the BCM4331 just to keep some focus. I understand some of your suggestions and a lot of effort were based on the 4322 chip, sorry about that.)

My current (relevant) config lines

loader.conf

bhnd_load="YES"
wlan_load="YES"

rc.conf

wlans_bhnd0="wlan0"
ifconfig_wlan0="WPA SYNCDHCP"

wpa_supplicant.conf

network={
    ssid="mySSID"
    psk="myPASSWORD"
}

and before that, I used

if_bwn_load="YES"
bwn_v4_lp_ucode_load="YES"

together with

wlans_bwn0="wlan0"

output of

sysctl net.wlan.devices

is still blank

This device is not supported in FreeBSD, from Apple Intel Mac mini support on FreeBSD

Broadcom BCM4331 802.11n Dual-Band Wireless [support in progress]

bwn(4) is/would be the correct driver. bhnd(4) is used by the bwn(4) driver to communicate with the device. But it seems (thanks, @Maurizio) your device is not yet supported.

Checking in here - I see the kernel option in question has been committed. Is there anywhere I can grab an image with this option? I have a bunch of old Macs here that would be a lot easier to get going without having to compile my own kernel - which I don’t know the correct way to do on NomadBSD (also, they’re slow!)… Nightlies, betas, something? :slight_smile:

Just wait a few days for the new version of NomadBSD. We are going to release it next week.

just becuase it says it’s supported doesn’t mean it is. Some manufactures will use the same chip but the PCIID differs. sometimes if you know what you are doing you can add the ID recompile the driver and it will work, if the difference is significant enough more driver hacks are needed, easier to just get a card that is actually supported and not spend days trying to get the thing to work.

Hopefully you clean up the rsync mirrors as I don’t see a point in downloading RC images or older versions such as 1.3 make it simple for newbies please don’t be like GNU and do this:
http://ftp.gnu.org/gnu/binutils/ that has every known version with no latest link.