I use exclusively Arch based distros as my daily drivers on a 2010 macbook pro with a b43 generation wifi card, and initially had some wifi issues when I first swapped over.
As previously mentioned, you do need to have the correct firmware files, so the
b43 or b43(legacy) firmware can be uploaded to the wifi card at boot up, and then Arch can run and use the card properly.
Get the Firmware from the AUR;
https://aur.archlinux.org/packages/b43-firmware/
Those two firmware files should be placed in
/lib/firmware/ and also in
/lib64/firmware/
The only other issue I have had with some Arch based distros, was I had to manually connect to the network at each boot, and that can be fixed by setting up the wpa_supplicant file;
Setting up WiFi from the command line, launch a terminal window first, then type the following commands;
First, find the name of your wireless interface;
iwconfig
This will return the name of your WiFi adapter, in my case it was wlp3s0b1 so this will be used in the rest of the example where needed, replace this with the name of your own adapter.
Next, using the Network name (SSID of the router) and the WPA2 Password (the pre-shared password key from your router) set up the WPA Supplicant file to connect via WPA2 using the following syntax;
sudo wpa_passphrase NetworkSSID PreSharedKey /etc/wpa_supplicant.conf
Note that there is only a single space between items, this will create the file wpa_supplicant.conf and populated it with the network name, network password, and a generated Hex value password key that the system will actually use instead of the plain text password given.
Now, we will make the adapter use this new file;
sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp3s0b1
The -B tells it to send this to the background, the -c the WPA2 config file to use, and the -i is for the adapter, mine was wlp3s0b1 replace this with your own found earlier.
Next, we just need to 'ask' for an IP address;
sudo dhcpcd
That's it for WiFi, you should now be connected to the internet, and it should auto connect each boot up.
N.B. if dhcpcd doesn't work, i.e. you get an error message or no IP issued, you may need to start it first;
sudo systemctl enable dhcpcd
sudo systemctl start dhcpcd
Hope this helps!