Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor I
969 Views

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

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 /message/266970# 266970 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 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 Reply
Highlighted
Honored Contributor II
26 Views

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.