Dunedan / mbp-2016-linux

State of Linux on the MacBook Pro 2016 & 2017
2.1k stars 109 forks source link

MacBook Pro 15+: Wifi Support #112

Open aunali1 opened 5 years ago

aunali1 commented 5 years ago

Discussion and updates regarding Broadcom Wifi related support. Parent thread is #71.

Current Status:

NOTE: Firmware from macOS Catalina is currently known to fail to initialize with brcmfmac. Use firmware from a macOS Mojave or lower installation, otherwise you can find the necessary files in my up-to-date archive here: https://packages.aunali1.com/apple/wifi-fw/18G2022

Unfortunately, due to the nature of how tightly linked .clmb files are to each model variant, generic distribution of firmware is currently impractical.

thomasjenkins commented 4 years ago

On my 15,2 wifi spins forever looking for networks unless I boot with wifi off in network-manager, connect to my phone for internet using bluetooth, then enable wifi. Once I've connected once to the phone the list of wifi networks to connect to is populated normally and connecting is no problem.

joker5bb commented 4 years ago

Hello,

I have the MacBook Pro (Retina, 15-inch, Late 2013) 03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)

What are the exact macOS instructions to extract firmware and make it a bin file?

I run ioreg -l | grep RequestedFiles and i get no results but wifi works on macOS

joker5bb commented 4 years ago
ioreg -l | grep BCM43                 
    | |   |       |   "IOFirmwareVersion" = "Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1600.4)"
    | |   |       | |   "IO80211DriverVersion" = "Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1600.4)"
user@cpe-67-243-215-191 ra2 % ls /System/Library/Extensions | grep -i BCM
AppleBCMWLANBusInterfacePCIe.kext
AppleBCMWLANCore.kext
BCMWLANFirmware4355_Hashstore.kext
BCMWLANFirmware4364_Hashstore.kext
BCMWLANFirmware4377_Hashstore.kext
npx001 commented 4 years ago

about bcm4377 - looking "inside" apple driver.. is almost identical as bcm4357 if something has to be patched/modded should be around linux driver for 4357 i.e "brcmsmac"

MoonPadUSer commented 4 years ago

@yurnam I have a MacBookPro15,4 too, and I am trying to get the WiFi to work, did you manage to make it work?

aunali1 commented 4 years ago

@MoonPadUSer Which kernel/distro are you testing?

MoonPadUSer commented 4 years ago

@aunali1 I'm running your linux-mbp-arch kernel on Manjaro KDE 20.0

Edit: I ran sudo modprobe brcmfmac debug=xxx (whatever you told yurnam a while ago) and this is what came out after running sudo dmsg | grep -i brcmfmac

[11373.284509] brcmfmac: brcmf_chip_get_raminfo RAM: base=0x170000 size=1638400 (0x190000) sr=0 (0x0)
[11373.285474] brcmfmac: brcmf_chip_get_raminfo RAM: base=0x170000 size=1638400 (0x190000) sr=0 (0x0)
yurnam commented 4 years ago

@MoonPadUSer Unfortunately not. never got past this in dmesg:

[ 238.199167] brcmfmac: brcmf_add_if ==== pid:340, if:wlan%d (00:00:00:00:00:00) created === [ 238.199171] brcmfmac: brcmf_bus_change_state 0 -> 1 [ 238.199177] brcmfmac: brcmf_msgbuf_query_dcmd ifidx=0, cmd=262, len=20 [ 238.199181] brcmfmac: brcmf_pcie_ring_mb_write_wptr W w_ptr 17 (0), ring 0 [ 238.199184] brcmfmac: brcmf_pcie_ring_mb_ring_bell RING ! [ 240.409699] ieee80211 phy0: brcmf_msgbuf_query_dcmd: Timeout on response for query command [ 240.409718] brcmfmac: brcmf_fil_cmd_data Failed: error=-5 [ 240.409725] brcmfmac: brcmf_fil_iovar_data_get ifidx=0, name=cur_etheraddr, len=6 [ 240.409728] brcmutil: data [ 240.409733] 00000000: 00 00 00 00 00 00 ...... [ 240.409738] ieee80211 phy0: brcmf_c_preinit_dcmds: Retrieving cur_etheraddr failed, -5 [ 240.409745] ieee80211 phy0: brcmf_bus_started: failed: -5 [ 240.409762] ieee80211 phy0: brcmf_attach: dongle is not responding: err=-5 [ 240.409767] brcmfmac: brcmf_detach Enter [ 240.437471] brcmfmac: brcmf_bus_change_state 1 -> 0

aunali1 commented 4 years ago

@MoonPadUSer Can you pastebin/gist the full dmesg output?

MoonPadUSer commented 4 years ago

@aunali1 https://pastebin.com/bqWZAk77

aunali1 commented 4 years ago

@MoonPadUSer Unfortunately the kernel message ring buffer filled up and cut off the important bits. Please pastebin/gist one after a recent reboot.

MoonPadUSer commented 4 years ago

@aunali1 https://pastebin.com/js3tefDX This one should have all the brcmf stuff in it

aunali1 commented 4 years ago

@yurnam Yeah looks like the rambase is correct, but there is functionality missing in brcmfmac that is causing iee80211's etheraddr query request to fail. I'm assuming there's more to this chip's init process than what is done by brcmfmac.

aunali1 commented 4 years ago

@npx001 Care to elaborate on what you have found "looking inside" the apple driver?

aunali1 commented 4 years ago

@yurnam @MoonPadUSer Does an interface showup at all?

MoonPadUSer commented 4 years ago

@aunali1 if I run 'ip link show' it only shows lo and an ethernet one

yurnam commented 4 years ago

as dmesg shows brcmf_detach there can't be an interface for the wifi adapter only lo and eth0 show up

MoonPadUSer commented 4 years ago

@yurnam have you tried the catalina files already?

stefanpartheym commented 4 years ago

Just as a side note: I hosted a repository at https://github.com/stefanpartheym/mbp15-wifi-driver which contains the wifi driver files from a MacBookPro15,2 (Mojave), maybe that helps.

yurnam commented 4 years ago

@MoonPadUSer yes i tried both catalina and mojave files catalina files caused the OS to freeze when loading brcmfmac

MoonPadUSer commented 4 years ago

@aunal1 I'm not sure if this is like everything we had before but this log looks better to me as far as I can remember the other ones:

[   80.597836] brcmfmac: brcmfmac_module_init No platform data available.
[   80.597845] brcmfmac: brcmf_usb_register Enter
[   80.597868] usbcore: registered new interface driver brcmfmac
[   80.597869] brcmfmac: brcmf_pcie_register Enter
[   80.597884] brcmfmac: brcmf_pcie_probe Enter 14e4:4488
[   80.612411] brcmfmac 0000:01:00.0: enabling device (0000 -> 0002)
[   80.612865] brcmfmac: brcmf_pcie_get_resource Phys addr : reg space = 000000008a56960e base addr 0x00000091800000
[   80.612866] brcmfmac: brcmf_pcie_get_resource Phys addr : mem space = 00000000ef9f0f04 base addr 0x00000091000000 size 0x400000
[   80.612979] brcmfmac: brcmf_chip_recognition found AXI chip: BCM4377/4
[   80.613348] brcmfmac: brcmf_chip_cores_check  [1 ] core 0x800:64 base 0x18000000 wrap 0x18100000
[   80.613349] brcmfmac: brcmf_chip_cores_check  [2 ] core 0x812:82 base 0x18001000 wrap 0x18101000
[   80.613349] brcmfmac: brcmf_chip_cores_check  [3 ] core 0x83e:15 base 0x18002000 wrap 0x18102000
[   80.613350] brcmfmac: brcmf_chip_cores_check  [4 ] core 0x83c:64 base 0x18003000 wrap 0x18103000
[   80.613351] brcmfmac: brcmf_chip_cores_check  [5 ] core 0x812:82 base 0x18004000 wrap 0x18104000
[   80.613351] brcmfmac: brcmf_chip_cores_check  [6 ] core 0x844:2  base 0x18005000 wrap 0x18105000
[   80.613352] brcmfmac: brcmf_chip_cores_check  [7 ] core 0x840:15 base 0x18010000 wrap 0x00000000
[   80.613352] brcmfmac: brcmf_chip_cores_check  [8 ] core 0x827:35 base 0x18012000 wrap 0x00000000
[   80.613353] brcmfmac: brcmf_chip_cores_check  [9 ] core 0x240:0  base 0x00000000 wrap 0x1810c000
[   80.613354] brcmfmac: brcmf_chip_cores_check  [10] core 0x135:0  base 0x00000000 wrap 0x18112000
[   80.613354] brcmfmac: brcmf_chip_cores_check  [11] core 0x135:0  base 0x00000000 wrap 0x18113000
[   80.613355] brcmfmac: brcmf_chip_set_passive Enter
[   80.613904] brcmfmac: brcmf_chip_ai_resetcore found two d11 cores, reset both
[   80.718913] brcmfmac: brcmf_chip_set_passive Enter
[   80.719298] brcmfmac: brcmf_chip_ai_resetcore found two d11 cores, reset both
[   80.719854] brcmfmac: brcmf_chip_get_raminfo RAM: base=0x170000 size=1638400 (0x190000) sr=0 (0x0)
[   80.719888] brcmfmac: brcmf_chip_setup ccrev=64, pmurev=35, pmucaps=0x84565f23
[   80.719894] brcmfmac: brcmf_get_module_param Enter, bus=2, chip=17271, rev=4
[   80.719904] brcmfmac: brcmf_alloc Enter
[   80.719931] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4377-pcie for chip BCM4377/4
[   80.719941] brcmfmac: brcmf_fw_get_firmwares enter: dev=0000:01:00.0
[   80.722904] brcmfmac: brcmf_fw_complete_request firmware brcm/brcmfmac4377-pcie.bin found
[   80.723436] brcmfmac: brcmf_fw_complete_request firmware brcm/brcmfmac4377-pcie.txt found
[   80.723441] brcmfmac: brcmf_fw_request_nvram_done enter: dev=0000:01:00.0
[   80.723914] brcmfmac: brcmf_fw_request_nvram_done nvram 000000002dba9f83 len 4940
[   80.724155] brcmfmac: brcmf_chip_get_raminfo RAM: base=0x170000 size=1638400 (0x190000) sr=0 (0x0)
[   80.724159] brcmfmac: brcmf_pcie_download_fw_nvram Halt ARM.
[   80.724162] brcmfmac: brcmf_pcie_download_fw_nvram Download FW brcm/brcmfmac4377-pcie.bin
[   80.868942] brcmfmac: brcmf_pcie_download_fw_nvram Download NVRAM brcm/brcmfmac4377-pcie.txt
[   80.870519] brcmfmac: brcmf_pcie_download_fw_nvram Bring ARM in running state
[   80.870520] brcmfmac: brcmf_chip_set_active Enter
[   80.870674] brcmfmac: brcmf_pcie_download_fw_nvram Wait for FW init
[   81.265684] brcmfmac: brcmf_pcie_download_fw_nvram Shared RAM addr: 0x001f5de0
[   81.265804] brcmfmac: brcmf_pcie_init_share_ram_info PCIe protocol version 7
[   81.265816] brcmfmac: brcmf_pcie_init_share_ram_info max rx buf post 511, rx dataoffset 0
[   81.265825] brcmfmac: brcmf_pcie_bus_console_init Console: base 2d04e0, buf 291f54, size 8192
[   81.265869] brcmfmac: brcmf_pcie_init_ringbuffers Using host memory indices
[   81.265916] brcmfmac: brcmf_pcie_init_ringbuffers Nr of flowrings is 40
[   81.265996] brcmfmac: brcmf_pcie_request_irq Enter
[   81.266623] brcmfmac: brcmf_attach Enter
[   81.266628] brcmfmac: brcmf_proto_attach Enter
[   81.266974] brcmfmac: brcmf_proto_msgbuf_attach Feeding buffers, rx data 511, rx event 8, rx ioctl resp 8
[   81.268139] brcmfmac: brcmf_pcie_ring_mb_write_wptr W w_ptr 511 (0), ring 1
[   81.268143] brcmfmac: brcmf_pcie_ring_mb_ring_bell RING !
[   81.268172] brcmfmac: brcmf_pcie_ring_mb_write_wptr W w_ptr 8 (0), ring 0
[   81.268175] brcmfmac: brcmf_pcie_ring_mb_ring_bell RING !
[   81.268199] brcmfmac: brcmf_pcie_ring_mb_write_wptr W w_ptr 16 (0), ring 0
[   81.268201] brcmfmac: brcmf_pcie_ring_mb_ring_bell RING !
[   81.268206] brcmfmac: brcmf_fweh_register event handler registered for PSM_WATCHDOG
[   81.268209] brcmfmac: brcmf_bus_started 
[   81.268213] brcmfmac: brcmf_add_if Enter, bsscfgidx=0, ifidx=0
[   81.268216] brcmfmac: brcmf_add_if allocate netdev interface
[   81.268232] brcmfmac: brcmf_add_if  ==== pid:b6, if:wlan%d (00:00:00:00:00:00) created ===
[   81.268235] brcmfmac: brcmf_bus_change_state 0 -> 1
[   81.268241] brcmfmac: brcmf_msgbuf_query_dcmd ifidx=0, cmd=262, len=20
[   81.268245] brcmfmac: brcmf_pcie_ring_mb_write_wptr W w_ptr 17 (0), ring 0
[   81.268247] brcmfmac: brcmf_pcie_ring_mb_ring_bell RING !
[   83.332230] ieee80211 phy0: brcmf_msgbuf_query_dcmd: Timeout on response for query command
[   83.332245] brcmfmac: brcmf_fil_cmd_data Failed: error=-5
[   83.332251] brcmfmac: brcmf_fil_iovar_data_get ifidx=0, name=cur_etheraddr, len=6
[   83.332266] ieee80211 phy0: brcmf_c_preinit_dcmds: Retrieving cur_etheraddr failed, -5
[   83.332274] ieee80211 phy0: brcmf_bus_started: failed: -5
[   83.332293] ieee80211 phy0: brcmf_attach: dongle is not responding: err=-5
[   83.332299] brcmfmac: brcmf_detach Enter
[   83.355574] brcmfmac: brcmf_bus_change_state 1 -> 0
[   83.355583] brcmfmac: brcmf_proto_detach Enter
[   83.355586] brcmfmac: brcmf_proto_msgbuf_detach Enter
[   83.356941] brcmfmac: brcmf_pcie_remove Enter
[   83.356948] brcmfmac: brcmf_detach Enter
[   83.385562] brcmfmac: brcmf_bus_change_state 0 -> 0
[   83.385569] brcmfmac: brcmf_proto_detach Enter
MoonPadUSer commented 4 years ago

so ... I'm gonna take a look at the brcmfmac driver rn, and look what causes these errors to appear:

[   83.332245] brcmfmac: brcmf_fil_cmd_data Failed: error=-5
[   83.332266] ieee80211 phy0: brcmf_c_preinit_dcmds: Retrieving cur_etheraddr failed, -5
[   83.332274] ieee80211 phy0: brcmf_bus_started: failed: -5
[ 1407.918630] brcmfmac: brcmf_fil_cmd_data Failed: error=-5
[ 1407.918649] ieee80211 phy1: brcmf_c_preinit_dcmds: Retrieving cur_etheraddr failed, -5
[ 1407.918656] ieee80211 phy1: brcmf_bus_started: failed: -5

the error is always the same, but I don't know what it means, so if anyone know what error -5 is, please tell me

MoonPadUSer commented 4 years ago

@yurnam don't you think it's kinda weird that ip link show shows an ethernet device, but the MacBook itself, doesn't have a physical ethernet port.

aunali1 commented 4 years ago

@MoonPadUSer Thats an NCM interface exposed by T2 for all userspace communication between macOS and itself.

MoonPadUSer commented 4 years ago

@aunali1 oh, ok, thanks :) btw, if you have access to a MacBookPro15,2 (or whatever the model is with the BCM43602) it could be great if you could send the output of sudo dmesg | grep "brcm" and ip link show

aunali1 commented 4 years ago

@MoonPadUSer BCM43602 is a chipset used on pre-T2 MBPs. Any specific reason you are looking into it?

MoonPadUSer commented 4 years ago

@aunali1 oh, I thought that would be the one from the other MacBookPro15,x but if it isn't I'd like to see those outputs from a mac with an BCM4364

yurnam commented 4 years ago

@MoonPadUSer i know, but the eth0 interface doesn't have to be a Physical Port, it is most likely some internal device that is seen as ethernet device by linux

MoonPadUSer commented 4 years ago

@yurnam yeah, aunali1 already told me 'bout that :)

stefanpartheym commented 4 years ago

@MoonPadUSer I'm on a MacBookPro15,2

ip link show:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:86:ea:90:31 brd ff:ff:ff:ff:ff:ff
3: enp2s0f1u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether ac:de:48:00:11:22 brd ff:ff:ff:ff:ff:ff
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DORMANT group default qlen 1000
    link/ether 88:e9:fe:7d:01:8f brd ff:ff:ff:ff:ff:ff

dmesg | grep "brcm":

[    2.329046] usbcore: registered new interface driver brcmfmac
[    2.329256] brcmfmac 0000:01:00.0: enabling device (0000 -> 0002)
[    2.434757] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4364-pcie for chip BCM4364/3
[    3.005184] bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
[    3.005185] Bluetooth: hci0: BCM: Patch brcm/BCM.hcd not found
[    3.461813] Modules linked in: mc usbnet hid_apple(+) mii xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c br_netfilter mousedev bridge overlay joydev input_leds hid_generic snd_sof_pci snd_sof_intel_byt ccm snd_sof_intel_ipc algif_aead snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_xtensa_dsp snd_sof_intel_hda snd_sof usbhid intel_rapl_msr intel_rapl_common des_generic bnep hid libdes ledtrig_audio snd_soc_skl arc4 libarc4 snd_soc_sst_ipc snd_soc_sst_dsp algif_skcipher snd_hda_ext_core x86_pkg_temp_thermal snd_soc_acpi_intel_match intel_powerclamp coretemp snd_soc_acpi 8021q cmac garp mrp i915 md4 stp llc kvm_intel snd_soc_core algif_hash snd_compress af_alg iTCO_wdt ac97_bus mei_hdcp iTCO_vendor_support snd_pcm_dmaengine kvm brcmfmac nls_iso8859_1 snd_hda_intel nls_cp437 hci_uart vfat i2c_algo_bit irqbypass brcmutil snd_intel_dspcfg btqca crct10dif_pclmul fat
[    3.552176] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4364-pcie for chip BCM4364/3
[    3.587833] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4364/3 wl0: Mar 28 2019 19:17:52 version 9.137.9.0.32.6.34 FWID 01-36f56c94
MoonPadUSer commented 4 years ago

@stefanpartheym vielen dank! @yurnam does suspend work for you? because for me I have to restart it after I closed the lid

yurnam commented 4 years ago

@MoonPadUSer no suspend doesn't work either.

Dunedan commented 4 years ago

Just a reminder: Please keep this issue focused on wifi support and discuss other topics in separate issues.

MoonPadUSer commented 4 years ago

about bcm4377 - looking "inside" apple driver.. is almost identical as bcm4357 if something has to be patched/modded should be around linux driver for 4357 i.e "brcmsmac"

@npx001 there is afaik no BCM4357 only a BCM43570

yurnam commented 4 years ago

@MoonPadUSer BCM4357 is AFAIK used in iphones only

npx001 commented 4 years ago

about bcm4377 - looking "inside" apple driver.. is almost identical as bcm4357 if something has to be patched/modded should be around linux driver for 4357 i.e "brcmsmac"

@npx001 there is afaik no BCM4357 only a BCM43570

sorry, my mistake, there is 0x4357 but is deviceID not chipID

MoonPadUSer commented 4 years ago

@npx001 oh, ok so do you know the chipID?

npx001 commented 4 years ago

@npx001 oh, ok so do you know the chipID?

if ida decom is correct, bcm 4377 -> chipID is dec: 4377 hex: 0x1119

LowLeeWolf commented 4 years ago

Currently on a Macbook Pro 15,3. Having some issues with the wifi not accepting firmware. Attempting this on gentoo. Currently got my patched kernel to boot with a couple other issues I'm figuring out. Anyone with the same model able to tell me which firmware they're using? I downloaded the kauai (X3) files from aunali1's repo

"RequestedFiles" = ({"Firmware"="C-4364s-B2/kauai.trx","TxCap"="C-4364s-B2/kauai-X3.txcb","Regulatory"="C-4364s-B2/kauai-X3.clmb","NVRAM"="C-4364s-B2/P-kauai-X3_M-HRPN_V-m__m-7.7.txt"})

atodorov commented 4 years ago

I have MacBookPro15,4 (hw info in this repo) with

    | |   | |   "RequestedFiles" = ({"Firmware"="C-4377__s-B3/formosa.trx","TxCap"="C-4377__s-B3/formosa-X3.txcb","Regulatory"="C-4377__s-B3/formosa-X3.clmb","NVRAM"="C-4377__s-B3/P-formosa-X3_M-SPPR_V-u__m-3.1.txt"})

If I use modprobe brcmfmac rambase_addr=0x170000 with the Catalina firmware I get nowhere.

The same command with the Mojave firmware, posted previously by @aunali1 gives

[ 2553.430567] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4377-pcie for chip BCM4377/4
[ 2556.021512] ieee80211 phy0: brcmf_msgbuf_query_dcmd: Timeout on response for query command
[ 2556.021516] ieee80211 phy0: brcmf_c_preinit_dcmds: Retrieving cur_etheraddr failed, -5
[ 2556.021518] ieee80211 phy0: brcmf_bus_started: failed: -5
[ 2556.021526] ieee80211 phy0: brcmf_attach: dongle is not responding: err=-5

like @yurnam and @MoonPadUSer have already shown in https://github.com/Dunedan/mbp-2016-linux/issues/112#issuecomment-573615174 and https://github.com/Dunedan/mbp-2016-linux/issues/112#issuecomment-628034019

Any more ideas how to debug, or maybe somebody who's got newer firwmare which we can try?

paralin commented 4 years ago

Checking in here with a MacBook Pro Late 2015 - 13" Retina (MacBook 12.1)

I have combined a lot of solutions into a Buildroot / Skiff package here:

WiFi on 2.4Ghz networks works fine, with the firmware .txt file, 5.8Ghz networks also work fine.

However on one of my older MacBooks from the same model, the 5.8Ghz doesn't work at all even with this configuration, and 2.4ghz is sometimes glitchy / spotty. It has the same broadcom card. Could be something to do with the newer MacBook being exposed to an updated MacOS recently, which may have updated the firmware to the MacOS version?

aunali1 commented 4 years ago

@paralin This issue is for MacBookPro models with a 15 and onward model designation corresponding to a 2018 and onward mfg date.

paralin commented 4 years ago

@aunali1 the laptop I'm talking about uses BCM43602 I guess, so I suppose it's a different issue, some others in this thread had the same chipset as me with the ~2015 macbooks.

So yeah you're right that should be moved to a separate issue probably. And/or tracked in the bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=193121

joax commented 4 years ago

I was able to make it work for Macbook Pro 15,3 (2018). BCM4364 using the files from @aunali1 . Currently works with 2.4GHz and stable (can connect from far and close the AP).

LowLeeWolf commented 4 years ago

I was able to make it work for Macbook Pro 15,3 (2018). BCM4364 using the files from @aunali1 . Currently works with 2.4GHz and stable (can connect from far and close the AP).

Can you list what firmware files you used?

joax commented 4 years ago

I was able to make it work for Macbook Pro 15,3 (2018). BCM4364 using the files from @aunali1 . Currently works with 2.4GHz and stable (can connect from far and close the AP).

Can you list what firmware files you used?

The Macbook Pro Model is A1990, so correction, its model 15,1 (2018) with the Core i9 and 16BG RAM. The files I used for this:

/apple/wifi-fw/18G2022/C-4364__s-B2/P-kauai_M-HRPN_V-m__m-7.7.txt
/apple/wifi-fw/18G2022/C-4364__s-B2/kauai-X0.trx
/apple/wifi-fw/18G2022/C-4364__s-B2/kauai-X0.clmb

My setup is:

$ uname -a 
Linux joax-ubuntu 5.7.0+ #5 SMP PREEMPT Mon Jun 15 08:59:18 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux

The kernel patches I applied were from here: https://github.com/aunali1/linux-mbp-arch

mushoku-ningen commented 4 years ago

@yurnam did you find a solution for mac pro 15,4 wifi (BCM4377) on linux os? as im currently in the situation where you were i really hope you share the solution with us

yurnam commented 4 years ago

@mushoku-ningen unfortunately not. if i find something i will share it here for sure.

jbf1983 commented 4 years ago

Hi,

I have a iMac19,2 with Ubuntu (and MacOS). Kernel Ubuntu is 5.8.1. Wifi card is BCM4364.

In MacOs, return of ioreg -l | grep RequestedFiles is : | | | | | "RequestedFiles" = ({"Firmware"="C-4364s-B2/nihau.trx","TxCap"="C-4364s-B2/nihau-X3.txcb","Regulatory"="C-4364s-B2/nihauX3.clmb","NVRAM"="C-4364s-B2/P-nihau-X3_M-HRPN_V-m__m-7.7.txt »})

So : "Firmware"="C-4364s-B2/nihau.trx" "TxCap"="C-4364s-B2/nihau-X3.txcb" "Regulatory"="C-4364s-B2/nihauX3.clmb" "NVRAM"="C-4364s-B2/P-nihau-X3_M-HRPN_V-m__m-7.7.txt"

I copied .trx, .clmb and .txt files to Linux. But what I need to do with .txcb ?

Now, wifi card is available but No wifi network is detected. I didn't patch anything. Should I patch something ? And how to do this please ? I understand patch but I don't understand what files to aplly patch and where are they !

Thank you !

stefanpartheym commented 4 years ago

@jbf1983 I think you need to rename the .trx .clmb and .txt files. I made a repository containing a script which does that for you: https://github.com/stefanpartheym/mbp15-wifi-driver This will work as long as you are using BCM4364.