Hi all,
I've been having issues with making BCM43602 work and figured a sequence which makes it working and working well - meaning it connects to both 2.4GHz & 5GHz networks and is working at its full speed without any issue.
Here is what helped me to make BCM43602 work again on my MacBookPro14,3 (mid-2017).
1. start dom0 with ``qubes.skip_autostart``.
2. start ``sys-net`` in the following sequence:
```
qvm-start sys-net
sleep 3
sudo xl pci-attach sys-net '03:00.0,permissive=1'
qvm-run -p sys-net "sudo cp ~/brcmfmac43602-pcie.txt /usr/lib/firmware/brcm/brcmfmac43602-pcie.txt"
qvm-run -p sys-net "echo 1 | sudo tee /sys/bus/pci/rescan"
```
Enjoy your WiFi!
The ``brcmfmac43602-pcie.txt`` file you can get here https://bugzilla.kernel.org/show_bug.cgi?id=193121#c52 - see an "attachment 285753" from Simon Siebert on ``2019-11-02 16:41:15 UTC``
Make sure to set ``macaddr=00:90:4c:0d:f4:3e`` in that file! It's the default mac address which is coming from the firmware.
Refs.
- - https://groups.google.com/forum/#!msg/qubes-users/DT_uIiiWJd8/cHFiFle1DQAJ
- - https://bugzilla.kernel.org/show_bug.cgi?id=193121#c52
- - https://nixaid.com/linux-on-macbookpro/
Kind regards,
Andrey Arapov
P.S.
I've also noticed that if I remove brcmfmac kernel driver from the sys-net (domU), and modprobe it back again => the card will never work again.
I've tried resetting the PCI bus, removing the card, etc.. only reboot helps.
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQRDMZ/b1AtG/U4LjuKQdtXmsxrpnAUCXjM7VQAKCRCQdtXmsxrp
nKe2AP9EYxXcKGJ++NDlJta/DVT9mtSx6wvzfhLNKxBW+OfyOwEAxp9HN6umbCUD
vo5XYjB9Y31y5Noagb3K0s8sY45bzQI=
=5+io
-----END PGP SIGNATURE-----
> Kind regards,
> Andrey Arapov
>
> P.S.
> I've also noticed that if I remove brcmfmac kernel driver from the sys-net (domU), and modprobe it
> back again => the card will never work again.
> I've tried resetting the PCI bus, removing the card, etc.. only reboot helps.
> -----BEGIN PGP SIGNATURE-----
>
> iHUEARYIAB0WIQRDMZ/b1AtG/U4LjuKQdtXmsxrpnAUCXjM7VQAKCRCQdtXmsxrp
> nKe2AP9EYxXcKGJ++NDlJta/DVT9mtSx6wvzfhLNKxBW+OfyOwEAxp9HN6umbCUD
> vo5XYjB9Y31y5Noagb3K0s8sY45bzQI=
> =5+io
> -----END PGP SIGNATURE-----
I have been tinkering more with the BCM43602 wireless adapter these days and have figured a way so I can restart ``sys-net`` without having to reboot.
```
$ sudo lspci -t -nn -v
+-1c.0-[03]----00.0 Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba]
```
The whole trick was to **unbind** the parent PCI bridge off the ``pcieport`` (PCI Express Port Bus Driver), after which I could [restart](https://github.com/QubesOS/qubes-issues/issues/3734#issuecomment-580440403) ``sys-net`` as many times as I want without breaking BCM43602 adapter:
```
echo 0000:00:1c.0 | sudo tee /sys/bus/pci/drivers/pcieport/unbind
```
What's more interesting and is related to [my previous observations](https://github.com/QubesOS/qubes-issues/issues/3734#issuecomment-580654893) is that if I don't unbind the parent PCI bridge off the ``pcieport`` and then restart the ``sys-net`` (attaching the ``03:00.0`` as [described before](https://github.com/QubesOS/qubes-issues/issues/3734#issuecomment-580440403)), the BCM43602 adapter's subsystem changes the device number from ``0x0173`` to ``0x0157``
```
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 02)
Subsystem: Apple Inc. Device [106b:0173] ===>>> [106b:0157] !!!
```
But as soon as I **unbind** the parent PCI bridge off the ``pcieport`` again, restart ``sys-net``, the BCM43602 adapter is working back again, even despite that its subsystem device number is now ``0x0157`` instead of ``0x0173``.
One more observation is that when I remove the BCM43602 adapter device ``echo 1 | sudo tee /sys/bus/pci/devices/0000\:00\:1c.0/0000\:03\:00.0/remove`` and issue a rescan command to its parent PCI bridge ``echo 1 | sudo tee /sys/bus/pci/devices/0000\:00\:1c.0/rescan`` the BCM43602 adapter (``03:00.0``) will become visible again **only** if the parent PCI bridge was **unbound** from the ``pcieport``.
Refs.
- - https://github.com/QubesOS/qubes-issues/issues/3734
Kind regards,
Andrey Arapov
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQRDMZ/b1AtG/U4LjuKQdtXmsxrpnAUCXj20EgAKCRCQdtXmsxrp
nLE8AQC3DjkVD+K23MN0/aaz1027W/mVDRtklxaKh0wVvS8DoQEA+o+3qxs2likI
ViGSy9UIE5wvcD3DEbIMTRPCyVjZDQw=
=8nr8
-----END PGP SIGNATURE-----