Wireless on Raspberry Pi with Buildroot
To save some work, I started with RaspberryPi-Buildroot which already has everything needed to build for the Raspberry Pi. This has been my starting point for several projects. Definitely a job well done.
For a USB wireless adapter, I'm using this tiny little thing: Edimax EW-7811Un 150 Mbps Wireless 11n (paid link).
So far, I have not had any power issues running completely off USB power without a hub and the connection seems rather stable. Be careful with other wireless adapters that require more power than the Raspberry itself can supply. Remember, the Raspberry uses power as a USB device and then reuses that power to be a USB host. By definition, it can't supply all the power necessary to be a solid USB host.
Assuming you already have basic networking working on the Raspberry, there are a couple more things you need to enable. Enable wireless tools and wpa_supplicant in buildroot.
Also, you need to enable the necessary wireless support and drivers in the kernel. Beyond the basics, you need CONFIG_RTL8192CU=m for the wireless adapter mentioned.
Here's my basic kernel wireless network configuration.
Configure the wireless adapter driver.
Once you have it configured, dmesg should look like this:
$ dmesg ... [ 3.062508] usb 1-1.2: new high-speed USB device number 4 using dwc_otg [ 3.174684] usb 1-1.2: New USB device found, idVendor=7392, idProduct=7811 [ 3.184709] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 3.195244] usb 1-1.2: Product: 802.11n WLAN Adapter [ 3.203343] usb 1-1.2: Manufacturer: Realtek ... [ 8.510592] usbcore: registered new interface driver rtl8192cu ...
$ lsmod Module Size Used by ... 8192cu 452008 0
Now, for the necessary configuration to setup the wireless interface.
/etc/network/interfaces
... auto wlan0 iface wlan0 inet dhcp wireless-essid wrt2 pre-up wpa_supplicant -B w -D wext -i wlan0 -c /etc/wpa_supplicant.conf -dd post-down killall -q wpa_supplicant ...
Once you know your ssid and password, generate the psk used in the following file by running:
$ wpa_passphrase <ssid> [passphrase]
/etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant ap_scan=1 network={ ssid="<ssid>" scan_ssid=1 proto=WPA RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk=<result of wpa_passphrase> }
Now, you can simply ifup to bring up the interface as necessary.
$ ifup wlan0
A quick iwconfig reveals some of the properties.
$ iwconfig lo no wireless extensions. wlan0 IEEE 802.11bg ESSID:"<ssid>" Nickname:"<WIFI@REALTEK>" Mode:Managed Frequency:2.417 GHz Access Point: 00:XX:XX:XX:XX:XX Bit Rate:54 Mb/s Sensitivity:0/0 Retry:off RTS thr:off Fragment thr:off Power Management:off Link Quality=100/100 Signal level=100/100 Noise level=0/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 eth0 no wireless extensions.
This particular wireless adapter has a blue LED (hidden) that you can see flashing when it is in operation.
Here is the Raspberry Pi in full wireless action mounted on a plate discussed in a previous post. Note that I'm using a transparent looking USB extension cable for the wireless adapter for easier access.
1 Comment