Difference between revisions of "Wifi"

From wiki.emacinc.com
Jump to: navigation, search
m (Set status)
m (Added review notes and marked status as Buggy.)
Line 1: Line 1:
{{todo|Review (10.20.2015-14:23->JJ+);(10.20.2015-13:43->JJ+)|Jeffrey Jung| project=OE 5.0,Review,JJ }}
+
{{todo|Buggy (10.20.2015-14:23->JJ+);(10.20.2015-13:43->JJ+);(10.23.2015-11:50->MD-)|Jeffrey Jung| project=OE 5.0,Buggy,JJ,MD }}
 
{{#seo:
 
{{#seo:
 
|title=Wireless Networking
 
|title=Wireless Networking
Line 7: Line 7:
 
}}
 
}}
 
<span style="background:#00FF00;color:#FF0000;font-size:300%"></span>
 
<span style="background:#00FF00;color:#FF0000;font-size:300%"></span>
This guide will illustrate how to set up and connect to a wireless network using the ThinkPenguin Wireless N USB Adapter for GNU/LINUX and the built-in WiFi on the SoM-200GS.
+
This guide will illustrate how to set up and connect to a wireless network using the ThinkPenguin Wireless N USB Adapter for GNU/Linux and the built-in WiFi on the SoM-200GS.
 
__TOC__
 
__TOC__
  
 
{{:Templateimpl:bg | initials=JJ | title=Wireless Networking | desc=How to access a wireless network | project=OE 5.0 }}  
 
{{:Templateimpl:bg | initials=JJ | title=Wireless Networking | desc=How to access a wireless network | project=OE 5.0 }}  
Most modules from EMAC can be upgraded to use wireless networking via a USB adapter. The USB adapter can be purchased at the [https://www.thinkpenguin.com/gnu-linux/penguin-wireless-n-usb-adapter-gnu-linux-tpe-n150usb ThinkPenguin] website. EMAC's SoM-200GS carrier can optionally be ordered with built-in WiFi and bluetooth.  
+
Most of the machines from EMAC are able to use wireless networking via a USB adapter. The USB adapter can be purchased at the [https://www.thinkpenguin.com/gnu-linux/penguin-wireless-n-usb-adapter-gnu-linux-tpe-n150usb ThinkPenguin] website or directly from EMAC. EMAC's SoM-200GS carrier can optionally be ordered with built-in WiFi and bluetooth.  
 +
 
 +
{{warning | A bit more background info would be nice.  Why USB dongles?  Why ThinkPenguin?  etc}}
  
 
{{:Templateimpl:geninfo | initials=JJ | title=Wireless Networking | desc=How to access a wireless network | project=OE 5.0 }}  
 
{{:Templateimpl:geninfo | initials=JJ | title=Wireless Networking | desc=How to access a wireless network | project=OE 5.0 }}  
  
 
===Setup===  
 
===Setup===  
 +
{{warning|These descriptions need to be fleshed out the same way you fleshed out sentences in the Getting Started document I just reviewed.}}
 
# This process requires modifying some system files so start by allowing the system to read and write.  
 
# This process requires modifying some system files so start by allowing the system to read and write.  
 
#:{{cli | username=root | hostname=ipac9x25 | mount -o remount,rw /}}  
 
#:{{cli | username=root | hostname=ipac9x25 | mount -o remount,rw /}}  
Line 28: Line 31:
 
#Install the iw and wireless-tools packages.  
 
#Install the iw and wireless-tools packages.  
 
#:{{cli | username=root | hostname=ipac9x25 | opgk install iw}} <br />  {{cli | username=root | hostname=ipac9x25 | opkg install wireless-tools}}  
 
#:{{cli | username=root | hostname=ipac9x25 | opgk install iw}} <br />  {{cli | username=root | hostname=ipac9x25 | opkg install wireless-tools}}  
# Once everything has successfully installed, reboot the system. If you're using the USB adapter, plug in the adapter upon successful login.   
+
 
 +
{{warning | The above should be in just one continuous cli output box, so that it looks like it does in real life.  Hit edit to look at the wiki markup to see how I did this on this page: [[Installing_LILO]].
 +
<br />
 +
Also note the use of the <code><nowiki><cl></nowiki></code> tag in the above referenced page.  This is for the Continuous Lists extension.  You need to make use of this for your lists.  There should be documentation on it if you use google.}}
 +
 
 +
# Once everything has successfully installed, reboot the system. If you're using the USB adapter, plug in the adapter upon successful login.  
 +
 
 +
{{warning | Why do they have to plug this in upon log in?  Why can't they keep it plugged in? It's not going to be usable for our customers if they have to manually plug it in after logging in.}}
 +
 
 
# More configuration to system files is required to establish a connection to the network. Mount the file system to read and write.  
 
# More configuration to system files is required to establish a connection to the network. Mount the file system to read and write.  
 
#:{{cli | username=root | hostname=ipac9x25 | mount -o remount,rw /}}  
 
#:{{cli | username=root | hostname=ipac9x25 | mount -o remount,rw /}}  
 +
 +
{{warning | This step ^^ logically belongs in the next section, since sections should stand alone.}}
  
 
{{:Templateimpl:using | initials=JJ | title=Wireless Networking | desc=How to access a wireless network | project=OE 5.0 }}  
 
{{:Templateimpl:using | initials=JJ | title=Wireless Networking | desc=How to access a wireless network | project=OE 5.0 }}  
Line 37: Line 50:
 
1. Use iw to scan for nearby wireless networks.  
 
1. Use iw to scan for nearby wireless networks.  
 
:{{cli | username=root | hostname=ipac9x25 | iw dev wlan0 scan}}  
 
:{{cli | username=root | hostname=ipac9x25 | iw dev wlan0 scan}}  
: This will produce a list of nearby networks and detailed information about each network including SSID, the type of security, frequency, and signal strength. Use grep to help make identifying the SSID and signal strength easier. For the signal strength, the closer the value is to 0, the stronger the signal is.
+
: This will produce a list of nearby networks and detailed information about each network including SSID, the type of security, frequency, and signal strength. Use <code>grep</code> to help make identifying the SSID and signal strength easier. For the signal strength, the closer the value is to 0, the stronger the signal is.
 
:[[File:Scanning_with_iw.png|600px|left|thumb|Terminal output of scanning for wireless networks with iw command]]  
 
:[[File:Scanning_with_iw.png|600px|left|thumb|Terminal output of scanning for wireless networks with iw command]]  
 
<br clear=all>
 
<br clear=all>
2. For an open network, simply uncomment the lines in /etc/wpa_supplicant.conf:<br />  
+
2. For an open network, uncomment the lines in <code>/etc/wpa_supplicant.conf</code> and edit the SSID:<br />  
 
<pre>
 
<pre>
 
###open network
 
###open network
Line 49: Line 62:
 
#}  
 
#}  
 
</pre>
 
</pre>
3. For a WEP password protected network, use wpa_passphrase to generate the private shared key(psk).
+
 
 +
{{warning | Instead of using the <code><nowiki><pre></nowiki></code> tag, you should use the <code><nowiki><syntaxhighlight></nowiki></code> tag.  We use this tag consistently to ensure all such text looks alike.  It will provide syntax highlighting for a variety of scripting languages, and may work to provide syntax highlighting for this config file using the shell/bash language.
 +
<br />
 +
  See [[LILO_Overview]] for a page where this extension is used.  Documentation on this plugin is available from MediaWiki: https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi  Note that the version that we have installed still uses GeSHi as its engine. }}
 +
 
 +
3. For a WEP password protected network, use <code>wpa_passphrase</code> to generate the private shared key(psk).
 
:[[File:Wpa_passphrase.png|600px|left|thumb|Terminal output when using the wpa_passphrase command]]
 
:[[File:Wpa_passphrase.png|600px|left|thumb|Terminal output when using the wpa_passphrase command]]
 +
 +
{{warning | These should not be screenshots.  You should copy and paste the text, and use the <code>cli</code> template set to display multi-line output, as can be seen in the LILO page I linked in this page earlier.  Also, look at what I've enclosed in code tags.  You need to check through the document for any command or filename, and enclose it within <code><nowiki><code></code></nowiki></code> tags.}}
 +
 
<br clear=all>
 
<br clear=all>
 
: SSID is the SSID of the preferred network found when scanning with iw. Password is the password to connect to the network.   
 
: SSID is the SSID of the preferred network found when scanning with iw. Password is the password to connect to the network.   
Line 59: Line 80:
  
  
6. Make the connection to the network using the path /etc/init.d/wpa_supplicant with the argument "start".  
+
6. Make the connection to the network using the path /etc/init.d/wpa_supplicant with the argument <code>start</code>.  
 
:{{cli | username=root | hostname=ipac9x25 | /etc/init.d/wpa_supplicant start}}  
 
:{{cli | username=root | hostname=ipac9x25 | /etc/init.d/wpa_supplicant start}}  
: Give the command some time to establish the connection and watch the terminal output. A connections has been established when output stops and the last line read "IPv6 ADDRCONF(NETDEV_CHANGE):wlan0: link becomes ready". A connection has failed if "IPv6: ADDRCONF(NETDEV_UP):wlan0: link is not ready" is seen repeatedly and output to the terminal continues.
+
: Give the command some time to establish the connection and watch the terminal output. A connection has been established when output stops and the last line reads:
 +
{{clo | indent=2}}IPv6 ADDRCONF(NETDEV_CHANGE):wlan0: link becomes ready{{clos}}
 +
A connection has failed if the following is seen repeatedly and output to the terminal continues:
 +
{{clo | indent=2}}IPv6: ADDRCONF(NETDEV_UP):wlan0: link is not ready{{clos}}
 
<br />
 
<br />
 
:'''Successful connection''' (waiting a full minute to ensure output to the terminal stopped); <br /> [[File:Connectionsuccess.png|600px|left|thumb|Successful connection terminal output]] <br clear=all>
 
:'''Successful connection''' (waiting a full minute to ensure output to the terminal stopped); <br /> [[File:Connectionsuccess.png|600px|left|thumb|Successful connection terminal output]] <br clear=all>
 
:'''Failed connection''' (waiting more than a minute as output continues to print to the terminal). The highlighted line and the repeated lines indicate an issue establishing the connection. <br />  
 
:'''Failed connection''' (waiting more than a minute as output continues to print to the terminal). The highlighted line and the repeated lines indicate an issue establishing the connection. <br />  
 
:[[File:Wifi_connection_failed.png|600px|left|thumb|Failed connection terminal output]]  
 
:[[File:Wifi_connection_failed.png|600px|left|thumb|Failed connection terminal output]]  
 +
 +
{{warning | Again, none of these should be screenshots.  Change them all to multiline output using the <code><nowiki>{{clo}} {{clos}} {{clio}} {{cli}} {{icli}}</nowiki></code> etc. templates, as described in [[EMACTemplatesInternalPg]].  Note that you can click on any of the template links in that page to get more info and some examples.}}
 +
 
<br clear=all>
 
<br clear=all>
 
7. Confirm there is an IP address under wlan0 with the ifconfig command <br />  
 
7. Confirm there is an IP address under wlan0 with the ifconfig command <br />  
Line 78: Line 105:
 
This page walks through the procedure to connect a module to a wireless network via a WiFi adapter or built-in wireless, as well as acquiring the necessary software tools to make the connection for the first time.
 
This page walks through the procedure to connect a module to a wireless network via a WiFi adapter or built-in wireless, as well as acquiring the necessary software tools to make the connection for the first time.
 
<br clear=all>
 
<br clear=all>
 +
 +
{{warning | Strengthen the conclusion.  Don't be afraid to make the conclusion long.  Describe things the reader should do next.
 +
<br />
 +
You should have left in the comment blocks indicating the sections of the wiki text.  Next time, leave them in.  They allow us to quickly scroll through to find sections we need to review/edit, and make our lives much easier.
 +
<br />
 +
Follow the changes I made (you can use "View History" to see the changes) and make the same type of changes through.  Also follow what you learned from my reviews of your Getting Started document and make those same types of changes where appropriate.  When you've addressed every issue, delete all of the warning blocks I've added and make the status as Review again.}}
  
 
<!-- {{:Templateimpl:moreinfo | initials=JJ | title=Wireless Networking | desc=How to access a wireless network | project=OE 5.0 }}  * -->
 
<!-- {{:Templateimpl:moreinfo | initials=JJ | title=Wireless Networking | desc=How to access a wireless network | project=OE 5.0 }}  * -->

Revision as of 11:55, 23 October 2015

TODO: {{#todo:Buggy (10.20.2015-14:23->JJ+);(10.20.2015-13:43->JJ+);(10.23.2015-11:50->MD-)|Jeffrey Jung|OE 5.0,Buggy,JJ,MD}}

This guide will illustrate how to set up and connect to a wireless network using the ThinkPenguin Wireless N USB Adapter for GNU/Linux and the built-in WiFi on the SoM-200GS.

Background

Most of the machines from EMAC are able to use wireless networking via a USB adapter. The USB adapter can be purchased at the ThinkPenguin website or directly from EMAC. EMAC's SoM-200GS carrier can optionally be ordered with built-in WiFi and bluetooth.



WARNING!
A bit more background info would be nice. Why USB dongles? Why ThinkPenguin? etc


General Information

Setup

WARNING!
These descriptions need to be fleshed out the same way you fleshed out sentences in the Getting Started document I just reviewed.


  1. This process requires modifying some system files so start by allowing the system to read and write.
    root@ipac9x25:~# mount -o remount,rw /
  2. Check for any updates.
    root@ipac9x25:~# opkg update
  3. Install wpa-supplicant to allow connections to WPA and WPA2 protected networks.
    root@ipac9x25:~# opkg install wpa-supplicant
  4. Install the firmware for the USB adapter.
    root@ipac9x25:~# opkg install linux-firmware-ath9k
  5. Install the marvel firmware and the sd8787 firmware for built-in WiFi on the SoM-200GS.
    root@som9g45:~# opkg install linux-firmware-marvel-license

    root@som9g45:~# opkg install linux-firmware-sd8787
  6. Install the iw and wireless-tools packages.
    root@ipac9x25:~# opgk install iw

    root@ipac9x25:~# opkg install wireless-tools



WARNING!
The above should be in just one continuous cli output box, so that it looks like it does in real life. Hit edit to look at the wiki markup to see how I did this on this page: Installing_LILO.


Also note the use of the <cl> tag in the above referenced page. This is for the Continuous Lists extension. You need to make use of this for your lists. There should be documentation on it if you use google.


  1. Once everything has successfully installed, reboot the system. If you're using the USB adapter, plug in the adapter upon successful login.



WARNING!
Why do they have to plug this in upon log in? Why can't they keep it plugged in? It's not going to be usable for our customers if they have to manually plug it in after logging in.


  1. More configuration to system files is required to establish a connection to the network. Mount the file system to read and write.
    root@ipac9x25:~# mount -o remount,rw /



WARNING!
This step ^^ logically belongs in the next section, since sections should stand alone.


Wireless Networking

After setup of the required software is complete, the connection may be established.
1. Use iw to scan for nearby wireless networks.

root@ipac9x25:~# iw dev wlan0 scan
This will produce a list of nearby networks and detailed information about each network including SSID, the type of security, frequency, and signal strength. Use grep to help make identifying the SSID and signal strength easier. For the signal strength, the closer the value is to 0, the stronger the signal is.
Terminal output of scanning for wireless networks with iw command


2. For an open network, uncomment the lines in /etc/wpa_supplicant.conf and edit the SSID:

###open network
#network={
#      ssid="your-ssid" (optional)
#      scan_ssid=1
#       key_mgmt=NONE
#} 



WARNING!
Instead of using the <pre> tag, you should use the <syntaxhighlight> tag. We use this tag consistently to ensure all such text looks alike. It will provide syntax highlighting for a variety of scripting languages, and may work to provide syntax highlighting for this config file using the shell/bash language.


See LILO_Overview for a page where this extension is used. Documentation on this plugin is available from MediaWiki: https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Note that the version that we have installed still uses GeSHi as its engine.


3. For a WEP password protected network, use wpa_passphrase to generate the private shared key(psk).

Terminal output when using the wpa_passphrase command



WARNING!
These should not be screenshots. You should copy and paste the text, and use the cli template set to display multi-line output, as can be seen in the LILO page I linked in this page earlier. Also, look at what I've enclosed in code tags. You need to check through the document for any command or filename, and enclose it within <code></code> tags.



SSID is the SSID of the preferred network found when scanning with iw. Password is the password to connect to the network.

4. Highlight the psk and copy it.
5. Edit /etc/wpa_supplicant.conf to have the appropriate SSID and psk

Editing /etc/wpa_supplicant.conf with vim



6. Make the connection to the network using the path /etc/init.d/wpa_supplicant with the argument start.

root@ipac9x25:~# /etc/init.d/wpa_supplicant start
Give the command some time to establish the connection and watch the terminal output. A connection has been established when output stops and the last line reads:
IPv6 ADDRCONF(NETDEV_CHANGE):wlan0: link becomes ready

A connection has failed if the following is seen repeatedly and output to the terminal continues:

IPv6: ADDRCONF(NETDEV_UP):wlan0: link is not ready


Successful connection (waiting a full minute to ensure output to the terminal stopped);
Successful connection terminal output

Failed connection (waiting more than a minute as output continues to print to the terminal). The highlighted line and the repeated lines indicate an issue establishing the connection.
Failed connection terminal output



WARNING!
Again, none of these should be screenshots. Change them all to multiline output using the {{clo}} {{clos}} {{clio}} {{cli}} {{icli}} etc. templates, as described in EMACTemplatesInternalPg. Note that you can click on any of the template links in that page to get more info and some examples.



7. Confirm there is an IP address under wlan0 with the ifconfig command

ifconfig showing that wlan0 does have an IP address

8. Disconnect any Ethernet connections and ping to www.emacinc.com to verify that the system can wirelessly connect to the Internet.

Sending and receiving packets from www.emacinc.com



Conclusion

This page walks through the procedure to connect a module to a wireless network via a WiFi adapter or built-in wireless, as well as acquiring the necessary software tools to make the connection for the first time.



WARNING!
Strengthen the conclusion. Don't be afraid to make the conclusion long. Describe things the reader should do next.


You should have left in the comment blocks indicating the sections of the wiki text. Next time, leave them in. They allow us to quickly scroll through to find sections we need to review/edit, and make our lives much easier.

Follow the changes I made (you can use "View History" to see the changes) and make the same type of changes through. Also follow what you learned from my reviews of your Getting Started document and make those same types of changes where appropriate. When you've addressed every issue, delete all of the warning blocks I've added and make the status as Review again.



Pages with Related Content