ArchLinux problems with wireless
Solution 1
Refering to a post in another forum:
wifi-menu is a part of the netcfg package.
If you did not install it, you won't have it available.
Your options are either establishing the connection using the ip, iw... and wpa_supplicant tools manually or downloading the packages netcfg, dialog and ncurses manually on an usb stick and install them with pacman -U package.pkg.tar.gz
You can find the download in the package database
Your other option is to boot with the install medium again, connect to the internet, mount your arch installation, chroot and install netcfg.
Once again, google saves the day.
Solution 2
in a terminal type:
ip a
to show all your available network cards. One should be named 'wlp1s0' or the like. This is your wireless device. Now just add it to the wifi-menu call.
sudo wifi-menu wlp1s0
If you do not see any wifi device with ip a, then you have to start dhcpcd.
sudo dhcpcd
Solution 3
Assuming:
- You have at least the
dhcpcd
,iw
, andwpa_supplicant
packages installed. - The wireless driver that you are using uses the mac80211 API. Some problematic ones don't.
- Your network is provisioned using DHCP.
- Your base station doesn't "hide" the SSID. It's a bad idea from a security standpoint, and contravenes some standards. See this Microsoft Technet article, whilst ignoring the Windows-specific parts.
About not having to install drivers, you actually did, since they are in-kernel (or kernel modules). Most Linux wireless drivers worth their salt are in-tree.
FYI, "RSN" == "WPA2".
Substitute $DEV, $SSID and $PSK appropriately.
$MAC, $BSSID, and $FREQ are just for reference. You don't need to figure them out yourself.
Where "#" represents the root user prompt…
-
Create a file named /etc/wpa_supplicant/$SSID according to the following template.
ctrl_interface=/var/run/wpa_supplicant network={ ssid="$SSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk="$PSK" }
By the way, implementation of CCMP is mandatory for WPA2. Don't use TKIP. It's been broken. It should soon, if not already, be disallowed by the Wi-Fi alliance.
-
Associate with the base station, authenticate, authorize yourself.
# wpa_supplicant -i $DEV -c /etc/wpa_supplicant/$SSID -D nl80211 -B
-
Check that you are authenticated and authorized.
# wpa_cli > status bssid=$BSSID ssid=$SSID id=0 mode=station pairwise_cipher=CCMP group_cipher=CCMP key_mgmt=WPA2-PSK wpa_state=COMPLETED address=$MAC
Poll with the
status
command until you are, or look for messages like the following.<3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE <3>SME: Trying to authenticate with $BSSID (SSID='$SSID' freq=$FREQ MHz) <3>Trying to associate with $BSSID (SSID='$SSID' freq=$FREQ MHz) <3>Associated with $BSSID <3>WPA: Key negotiation completed with $BSSID [PTK=CCMP GTK=CCMP] <3>CTRL-EVENT-CONNECTED - Connection to $BSSID completed [id=0 id_str=]
-
Get an address using DHCP.
# dhcpcd $DEV
-
Install the
dialog
package, as a dependancy.# pacman -S --asdep dialog
Related videos on Youtube
Luke Silver
Updated on September 18, 2022Comments
-
Luke Silver over 1 year
I recently followed this tutorial on installing arch-linux.
During that tutorial and connected to a wireless network (WPA2+PSK) through my linksys wireless adapter (WUSB54GR) using the 'wifi-menu' program, and it worked like a charm, I didn't even have to install drivers; I just selected my network and entered the encryption key.
When I installed arch and logged in, I no longer had access to wireless connection; and when I did the command:
wifi-menu
The console says:
Please install 'dialog' to use wifi-menu
So I tried doing 'sudo pacman -S dialog', but obviously this did not work, as I did not have an internet connection.
What do?
BTW I have no ethernet ports on this pc so I cannot hook it up directly to the router.
-
Luke Silver about 11 yearsThanks, I installed those three packages from the repos. But now when I run 'wifi-menu' I get the message '> No such interface: wlan0'
-
Lorenzo Von Matterhorn about 11 yearshave you started and flagged as start on boot the services?