{"id":29,"date":"2012-09-23T06:54:00","date_gmt":"2012-09-23T06:54:00","guid":{"rendered":"https:\/\/robertrath.com\/gadgetzone\/archives\/29-wi-fi-pi.html"},"modified":"2013-12-12T04:03:01","modified_gmt":"2013-12-12T04:03:01","slug":"wi-fi-pi","status":"publish","type":"post","link":"https:\/\/robertrath.com\/gadgetzone\/archives\/29-wi-fi-pi.html","title":{"rendered":"Wi-Fi Pi"},"content":{"rendered":"<!-- s9ymdb:4 --><img loading=\"lazy\" decoding=\"async\" class=\"serendipity_image_center\" width=\"800\" height=\"482\" src=\"\/gadgetzone\/uploads\/Images\/265-2012-09-2316.04.26.jpg\" alt=\"\" \/><br \/>\n<br \/>\nPutting the Raspberry Pi into an appliance means that it will not have access to an Ethernet connection and will require USB WiFi.<br \/>\n<br \/>\n<strong>Which USB Wifi Device?<\/strong><br \/>\n<br \/>\nAdding USB WiFi to a Linux device is generally quite easy however there are limitations which apply to non PC (non x86) applications such as the ARM11 based Raspberry Pi.<br \/>\n<br \/>\nThe chipset in the WiFi device selected for the Raspberry Pi must be one already supported for the ARM11 device. Simply relying on a chipset vendor to claim Linux support is not enough as this may really mean PC based x86 Linux only. True Linux support means the chipset vendor has made driver source code available to be built for any target CPU.<br \/>\n<br \/>\nTwo of the best supported chipset vendors are Ralink and Realtek. For my application I have used the &#8216;Netsys Wireless N Model: NET300N&#8217; based on the Realtek 8191SU chipset which already as Raspberry Pi driver support using the Realtek r8712u driver.<br \/>\n<br \/>\nThis USB WiFi device is available from <a href=\"http:\/\/dealextreme.com\" title=\"http:\/\/dealextreme.com\" target=\"_blank\">http:\/\/dealextreme.com<\/a> for about $10.<br \/>\n<br \/>\n<strong>Making It Work<\/strong><br \/>\n<br \/>\nThe following two resources provided the general guidelines I used to get the WiFi up and running in my network.<br \/>\n<br \/>\n<a href=\"http:\/\/mitchtech.net\/realtek-wireless-dongle-rt3070-on-the-raspberry-pi\/\" title=\"http:\/\/mitchtech.net\/realtek-wireless-dongle-rt3070-on-the-raspberry-pi\/\" target=\"_blank\">http:\/\/mitchtech.net\/realtek-wireless-dongle-rt3070-on-the-raspberry-pi\/<\/a><br \/>\n<a href=\"http:\/\/ubuntuforums.org\/showthread.php?t=571188\" title=\"http:\/\/ubuntuforums.org\/showthread.php?t=571188\" target=\"_blank\">http:\/\/ubuntuforums.org\/showthread.php?t=571188<\/a><br \/>\n<br \/>\nI installed &#8216;lshw&#8217; ( apt-get install lshw ) which provides diagnostic information about hardware drivers however as this installation went so smoothly I am not sure this was absolutely necessary.<br \/>\n<br \/>\nroot@raspberrypi:~# lshw -C network<br \/>\n  -network:0<br \/>\n       description: Wireless interface<br \/>\n       physical id: 1<br \/>\n       bus info: usb@1:1.2<br \/>\n       logical name: wlan0<br \/>\n       serial: 00:0f:11:66:16:d0<br \/>\n       capabilities: ethernet physical wireless<br \/>\n       configuration: broadcast=yes driver=r8712u multicast=yes wireless=unassociated<br \/>\n  -network:1<br \/>\n       description: Ethernet interface<br \/>\n       physical id: 2<br \/>\n       logical name: eth0<br \/>\n       serial: b8:27:eb:45:84:2e<br \/>\n       size: 100Mbit\/s<br \/>\n       capacity: 100Mbit\/s<br \/>\n       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation<br \/>\n       configuration: autonegotiation=on broadcast=yes driver=smsc95xx driverversion=22-Aug-2005 duplex=full firmware=smsc95xx USB 2.0 Ethernet ip=192.168.10.31 link=yes multicast=yes port=MII speed=100Mbit\/s<br \/>\n<br \/>\nAfter manually confirming the following command lines brought up my network,<br \/>\n<br \/>\nifconfig wlan0 down<br \/>\ndhclient -r wlan0<br \/>\nifconfig wlan0 up<br \/>\niwconfig wlan0 essid &#8220;MYESSID&#8221;<br \/>\niwconfig wlan0 key MYKEY<br \/>\niwconfig wlan0 mode Managed<br \/>\ndhclient<br \/>\n<br \/>\nI then copied thew into &#8216;\/etc\/rc.local&#8217; so that the WiFi network would be brought up on boot. An important point for me was that the web article suggests adding the line &#8216;ifconfig eth0 down&#8217; to the  &#8216;\/etc\/rc.local&#8217; file but this would mean that hardwired ethernet would be shutdown and not available should it be needed in an emergency.<br \/>\n<br \/>\nThe final changes I need to make were to my DHCP server and router configuration so that the &#8216;Pi&#8217; always gets a fixed IP address assigned for correct virtual server port forwarding.<br \/>\n<br \/>\n<strong>Next Steps<\/strong><br \/>\n<br \/>\nYou might notice the nice plastic case (from Element14) in the image which will protect the &#8216;Pi&#8217; from and ongoing development accidents!<br \/>\nI will now run this setup for a while and look for general stability as a WiFi based web host.<br \/>\n<br \/>\n   &#8230;Robert<br \/>\n<br \/>\n<br \/>\n","protected":false},"excerpt":{"rendered":"<p>Putting the Raspberry Pi into an appliance means that it will not have access to an Ethernet connection and will require USB WiFi. Which USB Wifi Device? Adding USB WiFi to a Linux device is generally quite easy however there are limitations which apply to non PC (non x86) applications such as the ARM11 based &#8230; <a title=\"Wi-Fi Pi\" class=\"read-more\" href=\"https:\/\/robertrath.com\/gadgetzone\/archives\/29-wi-fi-pi.html\" aria-label=\"Read more about Wi-Fi Pi\">Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-29","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/robertrath.com\/gadgetzone\/wp-json\/wp\/v2\/posts\/29","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robertrath.com\/gadgetzone\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robertrath.com\/gadgetzone\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robertrath.com\/gadgetzone\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/robertrath.com\/gadgetzone\/wp-json\/wp\/v2\/comments?post=29"}],"version-history":[{"count":0,"href":"https:\/\/robertrath.com\/gadgetzone\/wp-json\/wp\/v2\/posts\/29\/revisions"}],"wp:attachment":[{"href":"https:\/\/robertrath.com\/gadgetzone\/wp-json\/wp\/v2\/media?parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robertrath.com\/gadgetzone\/wp-json\/wp\/v2\/categories?post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robertrath.com\/gadgetzone\/wp-json\/wp\/v2\/tags?post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}