1 Reply Latest reply on Jan 9, 2015 12:14 PM by AlexT_Intel

    Setting up a Galileo Gen 1 to work with  a Realtek RTL8188CUS USB Wireless Adaptor

    rgb

      Hello all
      The standard Intel Wifi card setup isn't really convenient to use with student projects and mobile systems (card, adapter, cables, antennas and some sort of bracket to hold everything together), the little plastic connections that hold the full-height to half-height adapter in place are easily damaged if the board isn't mounted on a stand, and I managed to destroy a Galileo Board trying to use one, so I decided to see if I could use of one of the common wifi USB dongles.
      Thanks to a lot of help by AlexT, I managed to get a Galileo Gen 1 with AlexT's  uclibc based version of Yocto (which includes development tools and access to his repository) attached to an Edimaxx USB wifi dongle (which uses a Realtek RTL8188CUS chip) to connect with an Arduino Yun in its default factory mode when it acts as a wifi access point. It should work with the Galileo 2, but I haven't tested it.

       

      These instructions are still Beta version and need more testing and tweaking. Hopefully some of the experts out there can spend a little time improving them.

       

      After a lot of experimenting, to try to see what works,  I started with a new image, changed the hostname, installed nano (so can edit files)  and set it up for to use the I2C bus and Python so I could have the IP address shown on a I2C LCD screen after it started up (as discussed in https://communities.intel.com/message/266970#266970) and then set up the system to set the clock via NTP.

       

      I then did the following
      Updated list from repository
      #opkg update
      Installed packages to support usb
      #opkg install usbutils (was actually installed earlier with initial setup)
      #opkg install usbutils-dev

       

      Checked to see if system recognized the USB wifi dongle
      #lsusb
      Bus 001 Device 010: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
      (If doesn't, you probably need to reboot)

       

      Installed the driver for usb wireless
      #opkg install linux-firmware (installs many packages including linux-firmware-rtl8192cu)
      #opkg install wpa-supplicant-dev

       

      installed the driver for RealTek wifi dongle and ran modprobe for the card
      (RealTek web site shows that the Realtek RTL8188CUS  uses rtl8192cu driver)
      #opkg install kernel-module-rtl8192cu
      #modprobe rtl8192cu

       

      Edited the Wireless Interfaces section of /etc/network/interfaces
      added “auto wlan0” to #Wirless interface
      #nano /etc/network/interfaces
                 ...
      # Wireless interfaces
      auto wlan0
      iface wlan0 inet dhcp
          wireless_mode managed
          wireless_essid any
          wpa-driver wext
          wpa-conf /etc/wpa_supplicant.conf
                  ….

       

      Edited /etc/wpa_supplicant.conf
      Added in a section with the SSID name and command that the Yun wasn't using  a password
      If you want to access a wifi router that has a password, then you need to change this
      #nano /etc/wpa_supplicant.conf
      ctrl_interface=/var/run/wpa_supplicant
      ctrl_interface_group=0
      update_config=1
      network={
              ssid="Arduino Yun-90A2DAF3007F"
              key_mgmt=NONE
      }

      Remove connman

      #opkg remove connman

      --- if connman isn't removed it is very hard to get a wifi connection

      ---This might cause a problem elsewhere, but so far hasn't

       

      Restarted networking
      #/etc/init.d/networking restart
      You can also restart just the wlan0 interface with:
           #ifdown wlan0
           #ifup wlan0

       

      Troubleshooting
      If it hangs after  being allocated an IP address, use CTL +  c to break the process and then restart the network. It works OK the 2d time.

      If the system hangs when starting from cold, then  you can unplug the wifi dongle and then plug it back in.

      If it doesn't start wifi after a cold boot or after restarting the network, run modprobe run again and restart network, then it normally connects

      Edit: connection problems were cause by connman. Removed it and problems disappeared

       

      Summary
      The Galileo can now use wifi, more or less, reliably and iwconfig and iwlist work with no problems.
      I had installed connman during experimenting per  Sergey's Blog - Intel Galileo Meets Wireless
      http://www.malinov.com/Home/sergey-s-blog/intelgalileo-addingwifi
      but I never could get connmanctl to recognize the usb dongle, even  after I had unplugged the ethernet cable and was using SSH to communicate to the Galileo from my latop and from the Galileo to the Yun.  In addition, when I ran ifconfig after installing the connman files, mon.wlan0,  the monitor interface, showed up in ifconfig.

       

      Anyway
      If you have time please play with this and give me some feedback
      rgb AlexT_Intel

       

      Message was edited by: Richard Bradley Update I discovered that is was connman that was causing the system to hang or not connect. Once removed, it connects with no problem Now, on to trying to run modprobe rtl8192cu at boot and get the Galileo to connect using a passphrase.

        • 1. Re: Setting up a Galileo Gen 1 to work with  a Realtek RTL8188CUS USB Wireless Adaptor
          AlexT_Intel

          Very nice summary

           

          A couple of small comments:

          #opkg install linux-firmware (installs many packages including linux-firmware-rtl8192cu)

          I think this one could be simplified to "opkg linux-firmware-rtl8192cu", which should install only this specific FW. linux-firmware package has everything at once and is a lot of unnecessary data if you just want a specific piece.

           

          #opkg install wpa-supplicant-dev

          This should be "opkg install wpa-supplicant" instead. The -dev package for wpa_supplicant is actually empty, so no real point in installing it.

           

          As far as wpa_supplicant configurations are concerned, I can recommend their web page - at the very bottom, in Configuration file section there are config examples for various types of Wi-Fi networks, which could be a good foundation for your specific configs.