This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

BeagleBoard xm and WLAN

Post to Twitter

I tried to connect an USB WLAN adapter to my board and thought it should work out-of-the-box like my cordless mouse (WLAN c'mon). But that was not the case. The good news is that it already works. The bad news is that it took hours to figure out how it works.

Maybe my requirements are too specific (I don't think so), but the documentation in the Internet about beagleboard stuff is not really good. I found a lot of old articles and most of them did not work or did not work with my software. It took hours to find information snippets for my requirements.
Are a fixed MAC address and WLAN support really too modern?

Anyway, I try to prepare my hardware before I start with development. I'm not totally happy at the moment because my touch screen does not work with JavaFX applications. It's an ELO touchscreen EL1725 connected via USB. I hope that this ticket solves my problem.

Some background information for my WLAN adapter

I read the manual before I bought an adapter and was suprised that only some specific adapters were supported (maybe the documentation is not up-to-date). I chose Trendnet TEW-648UBM Micro. It was not in the list, but I thought it could work...

After I plugged the adapter to my last free USB port I checked dmesg and saw no errors. The adapter was detected and I thought it should work. Typed

ifup wlan0

and got error messages. Checked dmesg and saw an information about missing firmware.

The adapter needs a firmware but it didn't find it on my SD card :( . I asked one of my best friends, google, and got a lot of results but no answer. So I tried

opkg list|grep realtek

because dmesg showed me that my adapter has a realtek chip. I got results, but no firmware. The next try was:

opkg list|grep firmware

I got too many results :) My next attempt:

opkg list|grep 8192cu

I found my firmware and installed it:

opkg install linux-firmware-rtl8192cu

Now the adapter was integrated but it was not configured. My WLAN is secured with a passphrase.
I tried to configure the wlan0 interface via /etc/network/interfaces and /etc/wpa_supplicant.conf but without success. So I asked google again and found some "useful" articles:

Beaglebone WiFi
connman
Beagleboard WiFi USB dongle

The second article was not bad but did not work. The last one was better but it did not work as described :)
Mabe I did not understand something that was written between the lines.

What I did:

opkg install connman-tests connman-tools

I did nothing with /etc/network/interfaces because the connman has its own configuration! So I created a file with the name /var/lib/connman/wifi.config. To find out the SSID the following command was useful:

/usr/lib/connman/test/test-connman services
/usr/lib/connman/test/get-services

Set [WiFi] Enabled = true in /var/lib/connman/settings.

My wifi.config

[global]
Name = NetworkName
Description = Home WLAN

[service_networkname]
Type = wifi
ssid = 123456789
Passphrase = mypassword

Be sure that your Name is equal to the name in the service section. The ssid was taken from output of

/usr/lib/connman/test/test-connman services

mynetwork {wifi_<macaddr>_<sid>_managed_psk}

My /etc/network/interfaces

# The loopback interface
auto lo
iface lo inet loopback

# Wireless interfaces
#iface wlan0 inet dhcp
#       wireless_mode managed
#       wireless_essid any
#       wpa-driver wext
#       wpa-conf /etc/wpa_supplicant.conf

iface atml0 inet dhcp

# Wired or wireless interfaces
auto eth0
iface eth0 inet dhcp
iface eth1 inet dhcp

After rebooting the board the connection was established automatically. If you have problems, use gnome to check your network settings or try to establish a connection with your network.

Sometimes during startup it was not possible to load the firmware for the adapter, but normally it worked without problems. If you have problems, simply use dmesg and journalctl to find error details.