1

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.

3 Answers 3

3

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.


Source

Once again, google saves the day.

2
  • Thanks, I installed those three packages from the repos. But now when I run 'wifi-menu' I get the message '> No such interface: wlan0' Apr 11, 2013 at 14:47
  • have you started and flagged as start on boot the services? Apr 11, 2013 at 15:03
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

0
1

Assuming:

  • You have at least the dhcpcd, iw, and wpa_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…

  1. 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.

  2. Associate with the base station, authenticate, authorize yourself.

    # wpa_supplicant -i $DEV -c /etc/wpa_supplicant/$SSID -D nl80211 -B
    
  3. 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=]
    
  4. Get an address using DHCP.

    # dhcpcd $DEV
    
  5. Install the dialog package, as a dependancy.

    # pacman -S --asdep dialog
    

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .