Adding USB Wifi to the OSD3358 (Default Debian distro) kb-9

Octavo / Beaglebone Black  

Overview

This article will demonstrate how to add wifi to the OSD3358 via the USB Host interface.  These instructions are valid for the default Debian Linux distribution provided with the boards as-shipped from GHI.  Instructions for other distributions will likely be different.

Note that there are instructions out there on the internet that mention editing /etc/network/interfaces.  This is no longer supported.  Currently, wifi is managed via the connmanctl app.

Preparation

  1. You will need an OSD3358 board.  The OSD3358_Dev development system from GHI comes with a USB host interface.  If you have the OSD3358TH or OSD3358 SOM, you will need to add a USB host interface circuit.
  2. You will need a USB Wifi interface.  I used a cheap TP-Link WN725N. Any USB wifi that is listed as compatible with the BeagleBone Black wll also work here.
  3. If you are using your USB host interface for a keyboard and/or mouse, you will also need a hub of some sort.
  4. Your OSD3358 device needs to be configured and running Debian lxqt 8.4 or later.

Setup

  1. Run connmanctl:
    $ connmanctl
    You may see an error regarding vpn connections. You can ignore this error.
     
  2. Scan for wifi access points
    connmanctl> scan wifi
    Scan completed for wifi

     
  3. List the discovered services (from all interfaces)
    connmanctl> services
    *AO Wired                ethernet_ec1127bdd190_cable
                             wifi_10feed1cd6f3_hidden_managed_psk
        Calsynshire-24       wifi_10feed1cd6f3_43616c73796e73686972652d3234_managed_psk
        Frontier6827         wifi_10feed1cd6f3_46726f6e7469657236383237_managed_psk
        HOME-6262            wifi_10feed1cd6f3_484f4d452d36323632_managed_psk
        LimeFlamingo         wifi_10feed1cd6f3_4c696d65466c616d696e676f_managed_psk
        xfinitywifi          wifi_10feed1cd6f3_7866696e69747977696669_managed_none

     
  4. Start the user request agent: Note that this is only required if your wifi is not 'open' (i.e., it requires a password or other security facilities)
    connmanctl> agent on
    Agent registered

     
  5. Connect to the access point with the 'connect' command and answer any prompts for more information:
    connmanctl> connect wifi_10feed1cd6f3_43616c73796e73686972652d3234_managed_psk
    Agent RequestInput wifi_10feed1cd6f3_43616c73796e73686972652d3234_managed_psk
      Passphrase = [ Type=psk, Requirement=mandatory, Alternates=[ WPS ] ]
      WPS = [ Type=wpspin, Requirement=alternate ]
    Passphrase? xxxxxxxxxxxx
    Connected wifi_10feed1cd6f3_43616c73796e73686972652d3234_managed_psk

     
  6. Exit from connmanctl:
    connmanctl> quit
    $

    Your changes will be saved automatically.
     
  7. You can check whether you are connected by using iwconfig and ifconfig:

    debian@beaglebone:~$ iwconfig
    wlan0     IEEE 802.11bgn  ESSID:"Calsynshire-24"  Nickname:""
              Mode:Managed  Frequency:2.437 GHz  Access Point: C0:7C:D1:DE:2A:40
              Bit Rate:72.2 Mb/s   Sensitivity:0/0
              Retry:off   RTS thr:off   Fragment thr:off
              Power Management:off
              Link Quality=0/100  Signal level=2/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

    lo        no wireless extensions.

    eth0      no wireless extensions.

    usb0      no wireless extensions.

    debian@beaglebone:~$ ifconfig wlan0
    wlan0     Link encap:Ethernet  HWaddr 10:fe:ed:1c:d6:f3
              inet addr:10.0.0.177  Bcast:10.0.0.255  Mask:255.255.255.0
              inet6 addr: fe80::12fe:edff:fe1c:d6f3/64 Scope:Link
              inet6 addr: 2601:600:8500:30:12fe:edff:fe1c:d6f3/64 Scope:Global
              UP BROADCAST RUNNING MULTICAST DYNAMIC  MTU:1500  Metric:1
              RX packets:598 errors:0 dropped:78 overruns:0 frame:0
              TX packets:127 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:95746 (93.5 KiB)  TX bytes:23816 (23.2 KiB)

  8. From the above, you can see that we have been granted ip address 10.0.0.177
  9. If you receive a warning about being in tethering or access-point mode, enter this command: connmanctl tether wifi off  Thanks to Mr. John Smith for pointing that out in this article.
  10. More information can be found at : https://wiki.archlinux.org/index.php/Connman#Wi-Fi, including instructions on setting a preferred network technology.  More info on connman can be found at https://gist.github.com/kylemanna/6930087
  11. Contact Pervasive Digital for assistance with automated discovery and wifi provisioning during headless deployment of your OSD/Beaglebone-based devices.

 

 
 
comments powered by Disqus