Recently I decided to reinstall Arch Linux on my laptop because why not? Everything is working, with the major exception of wireless. As you may recall, Arch Linux does not play nice with Broadcom wireless chips.
For those that don't keep up with Arch Linux changes, in late 2012/early 2013 (I don't actually recall which) they switched from init scripts to systemd for system start up. Well, now (in April 2013) they have made the switch from the old network connection manager called netcfg to a new network manager called netctl. One of the primary reasons for this move is that netctl has better integration with systemd.
This [of course] breaks everything network-related. In the past 36 hours, I have spent absurd amounts of time attempting to connect to my school's WAP2-Enterprise network, all to no avail. Network Manager (included with the GNOME3 group in the arch repositories) has been my favorite network manager to date, but it seems to not currently work with netcfg OR netctl. Getting annoyed with network manager caused me to decide to try connecting with wicd, which I have heard wonderful things about but have never tried. After attempting to get a connection up using wicd and netctl, I got tired and decided to go to bed.
Cue today. I figured that if wicd wouldn't connect with netctl, I'd give it a shot with netcfg. I haven't started yet, and I think at this point that I'm just going to wait until tomorrow or Monday (I'm gone all weekend) because it's been a pretty decent day and I don't feel like getting frustrated [again].
Long story short, I'm not entirely sure that netctl currently supports WPA2-Enterprise connections and the current documentation says nothing about any kind of WPA2 encryption. Assuming netcfg works, I'm just going to assume this is the case, because the other option is that my wireless card is borked (which wouldn't necessarily be a bad thing).
TL;DR: netctl says nope, gonna try netcfg.
Showing posts with label Broadcom. Show all posts
Showing posts with label Broadcom. Show all posts
April 24, 2013
March 13, 2013
Set up a High-Quality Development Box for Under $1000 (Part 2)
Being a college student, money is always short. I'm going to walk you through setting up a high-quality development box with Fedora 18. If you don't mind getting super-involved, you could use Arch Linux, however Fedora is really easy to set up and will get you up and running quickly! This is part 2, which covers the installation of Fedora. Part 1, which is about choosing hardware can be found here.
***NOTE*** For this installation, I'm assuming that you have a wired connection.
First: Acquire the installation media
The link to Fedora's installation .iso can be found here. Choose the .iso that looks nicest to you. I'm choosing GNOME for this tutorial.
***NOTE*** For Reference:
GNOME looks a little bit like OSX in terms of layout, while KDE is laid out more like Windows.
Don't let this influence your decision too much though!
Although I am more experienced with Windows than OSX, I tend to prefer GNOME to KDE.
Second: Burn .iso to USB or CD
I'm using the LinuxLive USB Creator to burn the .iso to USB, however this is for Windows only.
Instructions for Linux and Mac can be found here.
Third: Boot the installation media
While your computer is off, insert your USB drive into a USB port. Press the power button, and look for a prompt at the bottom of your screen saying Hit [Some Key] for boot options, or something similar. Common keys are F2, F9, F11, F12, Delete, or Escape. If you're having trouble finding which key it is, google "[your computer model] boot option key" or something to that affect (Or it is effect...? I can never remember...). And select your USB drive.
Fourth: Base install
Once the media has booted, you are presented with a login screen. Just select Live System User (it should be the only option). Once logged in, if you want to play around with Fedora for a little before committing, click on "Try Fedora". Otherwise, choose "Install to Hard Drive".
First you are asked for the language you would like to use during the install, choose whichever language suits you (the default is English (US)). Click continue.
Under storage, click on "Installation Destination" and configure your hard disk. I suggest sticking with automatic partitioning, but you may have to make some changes if dual-booting or choosing to have a separate data partition. When returned to the screen that reads "Localization" and "Storage," click on Begin Installation.
On this screen, all you need to do is set a root password by clicking on the key icon and entering a password twice and clicking done.
***NOTE*** This should be a secure password! It allows root access to your system and can be used to do naughty things by naughty people (get your mind out of the gutter)!
...now we wait for Fedora to finish installing.
Once done, reboot and remove the installation media. When the system comes back up, you are greeted with a welcome screen. Just follow the prompts and choose the default options and you'll be fine!
Fifth: Do a system upgrade.
To perform a system upgrade, we will use yum, Fedora's package manager. Run
to upgrade all of your packages. It will take a long time, but is highly suggested (This isn't strictly necessary, but it keeps you up-to-date.).
***NOTE*** This step is not necessary for everyone!
Next, we will get wireless working with a Broadcom wireless card. To find out if you have a wireless card, do
If nothing comes up, you can skip to installing development tools! Otherwise, add the rpmfusion repository following the instructions here. Add both free and nonfree.
Then, install broadcom-wl like so
...and reboot when done. On reboot, wireless should come up.
Install any development tools you need (Java, Python 2.x or 3.x). You know your needs best, but common tools are an IDE (I suggest Eclipse if you don't have an IDE in mind), and a good text editor like Sublime.
To install Eclipse, do
By default, Python 2 is already installed on your system (Version 2.7.3), however you can install Python 3.3.0 simply by running
to run a Python 2 module, run
... likewise, to run a Python 3 module, do
Congratulations on your new development environment! If there's anything I missed or you want me to cover, please put it in the comments and I'll add it in!
***NOTE*** For this installation, I'm assuming that you have a wired connection.
First: Acquire the installation media
The link to Fedora's installation .iso can be found here. Choose the .iso that looks nicest to you. I'm choosing GNOME for this tutorial.
***NOTE*** For Reference:
GNOME looks a little bit like OSX in terms of layout, while KDE is laid out more like Windows.
Don't let this influence your decision too much though!
Although I am more experienced with Windows than OSX, I tend to prefer GNOME to KDE.
Second: Burn .iso to USB or CD
I'm using the LinuxLive USB Creator to burn the .iso to USB, however this is for Windows only.
Instructions for Linux and Mac can be found here.
Third: Boot the installation media
While your computer is off, insert your USB drive into a USB port. Press the power button, and look for a prompt at the bottom of your screen saying Hit [Some Key] for boot options, or something similar. Common keys are F2, F9, F11, F12, Delete, or Escape. If you're having trouble finding which key it is, google "[your computer model] boot option key" or something to that affect (Or it is effect...? I can never remember...). And select your USB drive.
Fourth: Base install
Once the media has booted, you are presented with a login screen. Just select Live System User (it should be the only option). Once logged in, if you want to play around with Fedora for a little before committing, click on "Try Fedora". Otherwise, choose "Install to Hard Drive".
First you are asked for the language you would like to use during the install, choose whichever language suits you (the default is English (US)). Click continue.
Under storage, click on "Installation Destination" and configure your hard disk. I suggest sticking with automatic partitioning, but you may have to make some changes if dual-booting or choosing to have a separate data partition. When returned to the screen that reads "Localization" and "Storage," click on Begin Installation.
On this screen, all you need to do is set a root password by clicking on the key icon and entering a password twice and clicking done.
***NOTE*** This should be a secure password! It allows root access to your system and can be used to do naughty things by naughty people (get your mind out of the gutter)!
...now we wait for Fedora to finish installing.
Once done, reboot and remove the installation media. When the system comes back up, you are greeted with a welcome screen. Just follow the prompts and choose the default options and you'll be fine!
Fifth: Do a system upgrade.
To perform a system upgrade, we will use yum, Fedora's package manager. Run
sudo yum upgradeto upgrade all of your packages. It will take a long time, but is highly suggested (This isn't strictly necessary, but it keeps you up-to-date.).
***NOTE*** This step is not necessary for everyone!
Next, we will get wireless working with a Broadcom wireless card. To find out if you have a wireless card, do
lspci -nn | grep 14e4 (14e4 is Broadcom's vendor ID)If nothing comes up, you can skip to installing development tools! Otherwise, add the rpmfusion repository following the instructions here. Add both free and nonfree.
Then, install broadcom-wl like so
sudo yum install broadcom-wl...and reboot when done. On reboot, wireless should come up.
Install any development tools you need (Java, Python 2.x or 3.x). You know your needs best, but common tools are an IDE (I suggest Eclipse if you don't have an IDE in mind), and a good text editor like Sublime.
To install Eclipse, do
sudo yum install eclipseBy default, Python 2 is already installed on your system (Version 2.7.3), however you can install Python 3.3.0 simply by running
sudo yum install python3to run a Python 2 module, run
python [path to module].py... likewise, to run a Python 3 module, do
python3 [path to module.py]Congratulations on your new development environment! If there's anything I missed or you want me to cover, please put it in the comments and I'll add it in!
Labels:
Broadcom,
Broadcom Wireless,
configuration,
Development,
Fedora,
Fedora 18,
GNOME,
KDE,
Laptop,
Linux,
network,
Python,
Wireless,
WPA,
WPA_Supplicant
March 7, 2013
The Wonderful World of Arch (Part 5) [Wireless]
This isn't really a continuation - it's more just my notes on getting wireless working with a Broadcom Wireless chip.
*** LONG ***
First thing first - do *another* system upgrade (I am assuming you are logged in as a normal user and have sudo installed - also assuming you have wired access):
This ensures that you have the latest linux headers - required for broadcom wireless.
At this point, I would usually redirect you to the Arch Wiki, but I won't. Unfortunately, the wiki is kind of contradictory about broadcom chips. I'm going to post what worked for *me*. I can't promise that it will work for you, but hopefully it'll give you a good start.
I have a little aside to make now: Installing packages from the AUR (Arch User Repository).
To install a package from the AUR, open a browser (you can install one with pacman:
cd to the directory the tarball downloaded to and run
to untar the archive and cd to the directory created. Then run
...this will create a *.pkg.tar.xz file which can be installed with
...this will install the new package.
***NOTE*** You can take a shortcut for installing things from the AUR with a package like aurget. The usage is very similar to that of pacman, hwoever it does not need to be run as root.
Step 1:
Install firmware
Begin by installing b43-fwcutter:
Then install b43-firmware from the AUR.
Step 2:
Install broadcom-wl (the wireless driver [proprietary])from the AUR.
Remove b43 and ssb from the kernel with rmmod:
***NOTE*** b43 and ssb may not be loaded - this is okay.
Load wl:
Check that lib80211 was loaded by wl with lsmod.
(hit q to exit) If not loaded, load it with
..and update dependencies
Step 3:
Make the module load at boot by creating a file for each module in /etc/modules-load.d with the naming convention [module name].conf
Inside that file, write the module name. For example if you wanted to load wl at boot you would do
and write wl in the file. Save and exit nano.
You need to load wl, lib80211, and virtio-net at boot.
Configuring Wireless
For configuring wireless, I've chosen to configure everything manually rather than using a network manager like netcfg.
wireless_tools should already be installed. If for some reason it isn't, use pacman to install it.
Additionally, you should install iw and wpa_supplicant, both with pacman.
At this point, you should still be connected to your wired network. You can run
***NOTE*** If trying to connect to an ad-hoc network, use "sudo iw [interface] set type ibss" to set your interface to ad-hoc.
Activate the interface with
...and scan for wireless networks with
Take note of the SSID, and look for anything referring to WPA or WEP - it will be important when you configure the wireless connection.
The next part is dependent on what kind of security is on the network. Instructions can be found here.
Information on configuring wpa_supplicant.conf can be found here. I can't walk you through this is because it will be different for every network. If you're having trouble, some google-fu will definitely help.
Instead of running
...you should use
-D specifies the driver to use, -i specifies the interface, and -c specifies the configuration file.
From here, you're ready to grab an IP address with
...and check that it worked with
If you see a line beginning with inet, you have an ip and everything is working!
The next (and final!) step is to configure the network to start at boot.
Create the "/etc/systemd/system/network.service" file with a text editor and make it like this:
Save, and enable with
...and reboot! Remove your ethernet cable and wireless should come up on boot! You can check by issuing ip addr.
Congratulations on your fully functioning Arch install!
*** LONG ***
First thing first - do *another* system upgrade (I am assuming you are logged in as a normal user and have sudo installed - also assuming you have wired access):
sudo pacman -SyuThis ensures that you have the latest linux headers - required for broadcom wireless.
At this point, I would usually redirect you to the Arch Wiki, but I won't. Unfortunately, the wiki is kind of contradictory about broadcom chips. I'm going to post what worked for *me*. I can't promise that it will work for you, but hopefully it'll give you a good start.
I have a little aside to make now: Installing packages from the AUR (Arch User Repository).
To install a package from the AUR, open a browser (you can install one with pacman:
sudo pacman -S chromium). Any browser from here will work. And search google with the string "AUR [package]". Either download the tarball in-browser or wget it from terminal.cd to the directory the tarball downloaded to and run
tar -xzvf [archive name]to untar the archive and cd to the directory created. Then run
makepkg...this will create a *.pkg.tar.xz file which can be installed with
sudo pacman -U [package name].pkg.tar.xz...this will install the new package.
***NOTE*** You can take a shortcut for installing things from the AUR with a package like aurget. The usage is very similar to that of pacman, hwoever it does not need to be run as root.
Step 1:
Install firmware
Begin by installing b43-fwcutter:
sudo pacman -S b43-fwcutterThen install b43-firmware from the AUR.
Step 2:
Install broadcom-wl (the wireless driver [proprietary])from the AUR.
Remove b43 and ssb from the kernel with rmmod:
sudo rmmod b43
sudo rmmod ssb***NOTE*** b43 and ssb may not be loaded - this is okay.
Load wl:
sudo modprobe wlCheck that lib80211 was loaded by wl with lsmod.
sudo lsmod | less(hit q to exit) If not loaded, load it with
sudo modprobe lib80211..and update dependencies
sudo depmod -aStep 3:
Make the module load at boot by creating a file for each module in /etc/modules-load.d with the naming convention [module name].conf
Inside that file, write the module name. For example if you wanted to load wl at boot you would do
sudo nano /etc/modules-load.d/wl.confand write wl in the file. Save and exit nano.
You need to load wl, lib80211, and virtio-net at boot.
Configuring Wireless
For configuring wireless, I've chosen to configure everything manually rather than using a network manager like netcfg.
wireless_tools should already be installed. If for some reason it isn't, use pacman to install it.
Additionally, you should install iw and wpa_supplicant, both with pacman.
At this point, you should still be connected to your wired network. You can run
ip addr to see the names and connection statuses of each of your interfaces. Make note of the interface that has no ip address - that is your wireless interface. From here on out, replace [interface] with the name of your interface.***NOTE*** If trying to connect to an ad-hoc network, use "sudo iw [interface] set type ibss" to set your interface to ad-hoc.
Activate the interface with
sudo ip link set [interface] up...and scan for wireless networks with
sudo iw dev [interface] scan | lessTake note of the SSID, and look for anything referring to WPA or WEP - it will be important when you configure the wireless connection.
The next part is dependent on what kind of security is on the network. Instructions can be found here.
Information on configuring wpa_supplicant.conf can be found here. I can't walk you through this is because it will be different for every network. If you're having trouble, some google-fu will definitely help.
Instead of running
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf...you should use
sudo wpa_supplicant -Dwext -i[interface] -c/etc/wpa_supplicant.conf -B-D specifies the driver to use, -i specifies the interface, and -c specifies the configuration file.
From here, you're ready to grab an IP address with
sudo dhcpcd[interface]...and check that it worked with
ip addrIf you see a line beginning with inet, you have an ip and everything is working!
The next (and final!) step is to configure the network to start at boot.
Create the "/etc/systemd/system/network.service" file with a text editor and make it like this:
[Unit]
Description=Network Connectivity
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-[interface].device
After=sys-subsystem-net-devices-[interface].device
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip link set dev [interface] up
ExecStart=/usr/sbin/wpa_supplicant -Dwext -i[interface] -c/etc/wpa_supplicant.conf -B
ExecStart=/sbin/dhcpcd [interface]
[Install]
WantedBy=multi-user.targetSave, and enable with
sudo systemctl enable network...and reboot! Remove your ethernet cable and wireless should come up on boot! You can check by issuing ip addr.
Congratulations on your fully functioning Arch install!
Subscribe to:
Posts (Atom)