HomePage > ComponentHowTo Components and HowTos > Networking
icon
Intro | part1 - WEP | part2 - WPA

How to configure wifi from the commandline


PART 2: WPA encryption.


For WPA encryption the "iwconfig" utility cannot be used at all. Instead, the "wpa_supplicant" utility is needed, and this is the utility which is used by Puppy's Network Wizard to configure WPA connections.

Exception:
Ralink drivers in Puppy versions older than ver 4.1 can be set up for WPA encryption with unique "iwpriv" commands. See -
"PART 3: WPA encryption with Ralink devices"
http://www.murga-linux.com/puppy/viewtopic.php?p=159339#159339

wpa_supplicant needs to have a "-D" (driver) parameter specified, depending on which wifi driver is being used;

Compatible drivers using the "hostap" parameter:
hostap

Compatible drivers using the "ipw" parameter:
r8180
r8187

Compatible drivers using the "wext" (generic) parameter:
acx
ath5k
ath_pci
b43
b43legacy
bcm43xx
ipw2100
ipw2200
ipw3945
iwl3945
iwl4965
libertas_cs
libertas_sdio
ndiswrapper
p54pci
p54usb
rndis_wlan (Broadcom USB)
rt2400pci
rt2500pci
rt2500usb
rt2860sta
rt2870sta
rt61pci
rt73usb
rtl8180
rtl8187
usb8xxx
zd1211
zd1211b
zd1211rw


Compatible drivers using the "ralink" parameter:
rt61
rt73

INSTRUCTIONS
Use Geany to modify the WPA configuration file to include your SSID and Personal Security Key (PSK).
Puppy already contains 2 different configuration files;
/etc/network-wizard/wireless/wpa_profiles/wpa_supplicant.conf - for WPA encryption
/etc/network-wizard/wireless/wpa_profiles/wpa_supplicant2.conf - for WPA2 encryption

As an example, let's assume your wifi driver is the ipw2200 (so the -D parameter will be "wext") and this driver has created the network interface "eth1", and your wifi router is set for WPA2 encryption. First you must load your driver if Puppy has not automatically done so already
Code:
modprobe ipw2200

It's often necessary to "bring up" the interface unconfigured
Code:
ifconfig eth1 up

Remove stale wpa_supplicant file if it exists
Code:
rm /var/run/wpa_supplicant/*

Start wpa_supplicant with debugging enabled (-dd) in case of problems
Code:
wpa_supplicant -i eth1 -D wext -c /etc/network-wizard/wireless/wpa_profiles/wpa_supplicant2.conf -dd

wpa_supplicant may take about 30 seconds to negotiate the connection.
Hopefully you will see a connection reported, then you can open a second console and proceed to obtain an IP address (DHCP).
It's possible to background the wpa_supplicant process in order to keep using the same xterminal by adding "-B" to the command
... but do this only once you know that the wpa_supplicant command is successful, because once backgrounded you won't see any error messages.

Now for DHCP with Puppy 3.x and earlier -
Code:
rm /etc/dhcpc/*.pid
dhcpcd -t 30 -h puppypc -d eth1


for Puppy 4.0 onwards, the version of dhcpcd is different, thus -
Code:
rm -f /var/lib/dhcpcd/*.info
rm -f /var/run/*.pid
dhcpcd -t 30 -h puppypc -d eth1


If this dhcpcd command fails, try it with extra parameters which avoid any use of the new logic for ipv6-compatible Client ID, like this -
Code:
dhcpcd -I '' -t 30 -h puppypc -d eth1

That's hyphen, capital i, space, apostrophe, apostrophe (not quotation marks). Thanks to rerwin for this information.

or to obtain a static IP address,
modify /etc/resolv.conf to include your nameservers, then
Code:
ifconfig eth1 192.168.0.xx broadcast 192.168.0.255 netmask 255.255.255.0
route add default gw 192.168.0.1 eth1

Obviously replace the appropriate IP addresses.


Further reading
HowToWifiFromCommandWEP PART 1 WEP encryption
PART 3: WPA encryption with Ralink devices (pre-Puppy 4.1 ONLY)

Also see
How to configure wifi from the commandline thread
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki