It was a frustrating experience. And I would like to save anyone who is trying to do some of the same things some of the headache I suffered. I want to make a standard disclaimer that I am not an expert, but what I will be going over worked for me.
The hardware:
* EGLOBAL single board PC with i5-5200U. Basically this one, but it might have been a different listing.
* Broadcom BCM43225 WIFI N + BT 3.0 chip (this was an inexpensive upgrade from whatever would have come with the computer otherwise, after all I went through, I am not necessarily convinced it is an upgrade.)
* 8GB RAM (Amazon)
* 120 GB Kingston SSD (Amazon)
---
Let me start off by saying, I wish I had not bothered with "upgrading" to the WIFI + BT module instead of the other WIFI module, because it probably would have been the one advertised as 300M, implying 5.0 GHz wifi and therefore probably a newer 802.11ab device. That said, lets get started.
I spent a long, frustrating evening trying to get this to work under CentOS 7.2. After that failed (attempting to the wl module, from Broadcom), I installed Debian, since some searching seemed to indicate that might work. Basically, I kept seeing a bunch of weird messages using the brmcsmac module and I really wanted to use the b43 one instead. brmcsmac could see APs, but I couldn't get it to connect.
It might be a good idea to go ahead and su to root, because all of these steps require it anyway. Your choice.
The main steps are:
1. install b43 firmware
- Code: Select all
sudo apt-get install firmware-b43-installer
ref: http://linuxwireless.org/en/users/Drive ... u.2FDebian
2. blacklist brcsmac
- Code: Select all
sudo modprobe -r brcmsmac bcma
sudo modprobe b43
echo "blacklist drivername" | sudo tee -a /etc/modprobe.d/blacklist-broadcom-wireless.conf
sudo update-initramfs -u
You might get an error saying bcma is in use and can't be unloaded. If that is the case, just issue the command again without bcma.
(Debian is often configured not to use sudo by default, in that case just get rid of the "sudo"s)
ref: https://help.ubuntu.com/community/WifiD ... en_drivers
3. Configure the b43 kernel module
create a file /etc/modprobe.d/local-b43.conf containing the lines
- Code: Select all
# Activate experimental support for some hardware revisions
options b43 allhwsupport=1
To make the settings come into effect, turn off networking and unload then reload the module with the commands
- Code: Select all
rmmod b43
modprobe b43
ref: http://ubuntuforums.org/showthread.php? ... st13037208 or its source: http://unix.stackexchange.com/questions ... iver-error
4. Manually bring up your interface
Find your wireless interface and bring it up:
- Code: Select all
ip a
iwconfig
ip link set wlan0 up
Scan for available networks and get network details:
- Code: Select all
iwlist scan
ref: https://wiki.debian.org/WiFi/HowToUse#Command_Line
5. wpa_supplicant install and make psk
- Code: Select all
aptitude update
aptitude install wpasupplicant
Restrict the permissions of /etc/network/interfaces, to prevent pre-shared key (PSK) disclosure (alternatively use a separate config file such as /etc/network/interfaces.d/wlan0 on newer Debian versions):
- Code: Select all
chmod 0600 /etc/network/interfaces
Use the WPA passphrase to calculate the correct WPA PSK hash for your SSID by altering the following example:
- Code: Select all
wpa_passphrase myssid my_very_secret_passphrase
If you don't put the passphrase on the command line, it will be prompted for. The above command gives the output:
(If you need to find or confirm your desired SSID see here. The short version is to use iwconfig iwlist scan
- Code: Select all
network={
ssid="myssid"
#psk="my_very_secret_passphrase"
psk=ccb290fd4fe6b22935cbae31449e050edd02ad44627b16ce0151668f5f53c01b
}
you'll need to copy from "psk=" to the end of the line, to put in your /etc/network/interfaces file.
ref: https://wiki.debian.org/WiFi/HowToUse#wpa_supplicant
6. Open /etc/network/interfaces in a text editor (i prefer nano or vim):
- Code: Select all
nano /etc/network/interfaces
Define appropriate stanzas for your wireless interface, along with the SSID and PSK HASH. For example :
- Code: Select all
auto wlan0
iface wlan0 inet dhcp
wpa-ssid myssid
wpa-psk ccb290fd4fe6b22935cbae31449e050edd02ad44627b16ce0151668f5f53c01b
The "auto" stanza will bring your interface up at system startup. If not desired, remove or comment this line.
Save the file and exit the editor.
Bring your interface up. This will start wpa_supplicant as a background process.
- Code: Select all
ifup wlan0
ref: https://wiki.debian.org/WiFi/HowToUse#wpa_supplicant
I hope this all makes sense. I included my references for two reasons. The first is that I want to give credit where credit is due and I pretty much copied the linked pages (with some minor modifications). Secondly, I may have missed something, but I'm pretty sure the links I provided will give you all of the information you will need to know.