I am proud to be a former Archlinux user. And Am To Be. haha
To set up your wireless drivers or modules, this page will be helpful. https://wiki.archlinux.org/index.php/Wireless_Setup
usually
pi@raspberrypi ~ $ dmesg | grep rtl8187 [14856.735462] rtl8187: Customer ID is 0xFF [14856.738270] Registered led device: rtl8187-phy0::radio [14856.740980] Registered led device: rtl8187-phy0::tx [14856.745166] Registered led device: rtl8187-phy0::rx [14856.745940] rtl8187: wireless switch is on [14856.746130] usbcore: registered new interface driver rtl8187 pi@raspberrypi ~ $ sudo ip link set dev wlan0 up
To list all available wifi-networks just run
# iw dev wlan0 scan
or
# iwlist wlan0 scan
now i will list some easy procedures to make your wireless adaptor run with your raspberry pi.
Of course you will need to get a good power adaptor which could host for your wireless adaptor and Raspberry Pi.
You will need a good powered USB-HUB to be drawn enough current for those addons. I bought this one. (7 ports, 5V, upto 3.5A) Very neat for RPi.
sudo lsusb
You will get
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 039: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 040: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 048: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub Bus 001 Device 049: ID 0ac8:3343 Z-Star Microelectronics Corp. Sirius USB 2.0 Camera Bus 001 Device 050: ID 0bda:8187 Realtek Semiconductor Corp. RTL8187 Wireless Adapter
the Realtek RTL8187 devices is the one I am using.
if you could not find out your devices, you may need to install modules for your adaptor. ( I will talk about it later )
then you need to know two things
1.ESSID
Here mine is "Hotspot"
2.the password
You know it.
How to get ESSID and more information?
Do this!
sudo iwlist wlan0 scan | less
Usually the wireless adaptor will be recognized to be networking device wlan0, or wlan1 if you have more than one wireless adaptor.
For this instance , I get this output.
wlan0 Scan completed : Cell 01 - Address: 38:83:45:FE:3B:98 Channel:1 Frequency:2.412 GHz (Channel 1) Quality=46/70 Signal level=-64 dBm Encryption key:on ESSID:"Hotspot" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 9 Mb/s; 12 Mb/s; 18 Mb/s Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master Extra:tsf=000000050b603180 Extra: Last beacon: 340ms ago IE: Unknown: 0007486F7473706F74 IE: Unknown: 010882848B960C121824 IE: Unknown: 030101 IE: Unknown: 0706555320010D14 IE: Unknown: 2A0100 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: 32043048606C IE: Unknown: 2D1A2C0003FF00000000000000000000000000000000000000000000 IE: Unknown: 331A2C0003FF00000000000000000000000000000000000000000000 IE: Unknown: 3D1601051300000000000000000000000000000000000000 IE: Unknown: 341601051300000000000000000000000000000000000000 IE: WPA Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: DD180050F2020101030003A4000027A4000042435E0062322F00 IE: Unknown: DD0900037F01010000FF7F IE: Unknown: DD7A0050F204104A0001101044000102103B0001031047001000000000000010000000388345FE3B9810210004466173741023000646573135305210240003312E3010420003312E301054000800060050F204000110110018576972656C657373204E20526F7574657220465731353052100800020086103C000101
You could search some key words here like using vi editorhere.
Typing / to search something.
/ESSID
will leads to where the key word "ESSID" locates.
press q to quit.
Any way you will need those things from it
ESSID:"Hotspot"
Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK
then generate a configuration file for wpa_supplicant
wpa_passphrase "Hotspot" 45678910 >> /home/pi/my_wifi.conf
there will be a new file my_wifi.conf there. Or anywhere you want to have it
note: the 45678910 is the password for this instance. we generate it to be the psk (password secret key)
the my_wifi.conf looks like this:
network={ ssid="Hotspot" #psk="45678910" psk=ca5836ab2a5e24e67e3ec7d94429b77e251437177489e70c50892f8e996cccbc }
now you should add it with the info you've got from
sudo iwlist wlan0 scan | less
Make it be like this
In this case , my wireless routor's SSID is "Hotspot"
Protocol: RSN
Pairwise Ciphers(暗号): CCMP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="Hotspot" psk="45678910" proto=RSN key_mgmt=WPA-PSK pairwise=CCMP auth_alg=OPEN }
Explanation:
The important points to check:
- ESSID: the "name" of the access point.
- Quality: in general try something above 40/70.
- Encryption key: if it is "on", check if you can see any line regarding
- WEP, WPA, or RSN. Note that RSN and WPA2 are different names for the protocol.
- Group cipher: value in TKIP, CCMP, both, others.
- Pairwise ciphers: value in TKIP, CCMP, both, others. Not necessarily the same value than Group cipher.
- Authentication Suites: value in PSK, 802.1x, others. For home router, you'll usually find PSK (i.e. passphrase). In universities, you are more likely to find 802.1x suite which requires login and password. Then you will need to know which key management is in use (e.g. EAP), and what encapsulation it uses (e.g. PEAP). Find more details at Wikipedia:List_of_authentication_protocols and the sub-articles.
Network block options
All of the security parameters need to be specified here. Note that if you are unsure about which value your access point requires, you can use several of them, wpa_supplicant will automatically use the one that works. For example, you can add
proto=WEP WPA
so that if your access point uses WEP or WPA, it will work in both case. But if it uses RSN (aka WPA2) it will not find it by itself, you have to append it to the other values.
If the SSID is hidden, add the following option to the block:
scan_ssid=1
Change the /etc/network/interfaces
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
wpa-roam /home/pi/my_wifi.conf iface default inet dhcp
Usually you will need to add the 4 lines at the bottom.
the
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
is by default. You could set yours. Sometimes we need to connect pi with different wireless routers.
then
Connection
Now you can try connecting manually.
First, bring the Wi-Fi interface up. For the purposes of this example, we will use the interface wlan0.
# ip link set wlan0 up
Typically, you will be able to use the Wireless EXTensions driver for wpa_supplicant; if you cannot, then you might need to check how to do it with your specific wireless device on the Internet.
Issue the following as root:
# wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf
The previous syntax tells wpa_supplicant to use its default hardware configuration (WEXT - Linux Wireless EXTensions) and to associate with the SSID which is specified in /etc/wpa_supplicant.conf
. Also, this association should be performed through the wlan0 wireless interface, and the process should move to the background, (-B
). For verbose output, add -d
or -dd
(for debug) to dump more information to the console. You can find additional examples here.
In the console output, there should be a line that reads 'Associated:' followed by a MAC address. All that is required now is an IP address.
/etc/wpa_supplicant.conf
(e.g., when installing Arch), you can pipe
wpa_passphrase
to
wpa_supplicant
:
wpa_passphrase essid pass | wpa_supplicant -B -i wlan0 -c /dev/stdin
As root, issue:
# dhcpcd wlan0
sleep 10s
to wait for 10 seconds.
Verify the interface has received an IP address using the iproute
package:
# ip addr show wlan0 wlan0:mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1C:BF:66:4E:E0 brd ff:ff:ff:ff:ff:ff inet 192.168.0.62/24 brd 192.168.0.255 scope global eth0 inet6 fe80::224:2bff:fed3:759e/64 scope link valid_lft forever preferred_lft forever
If the output is close to the above, you are now connected.