Beaglebone Black wifi access point (AP)

2018-09-18 update: The newest Debian image is highly recommended and available at Latest Image


Requirements are are pretty simple you require 4 basic things,

  • The beaglebone black. ( debian jessie )
  • Usb wifi adapter which supports master mode.
  • 5 volt power supply which can supply 3 amps (15 watts).
  • An utp (RJ45) ethernet connection.

This device covers the required steps to setup an wireless access point on the Beaglebone black although this would easily work on most Linux distributions, this guide is focuses on resolving some quirks you come across. You also require a terminal with root on the Beaglebone black.
From the terminal update apt and install necessary dependencies

apt-get update && apt-get install git autoconf automake make libtool pkg-config libfl-dev libbison-dev flex wget libssl-dev

Then update the kernel:

cd /opt/scripts/tools/

beaglebone black wireless access point

Then we require an service to reset usb devices and wlan interfaces after a reboot.

cd ~
ntpdate -b -s -u
git clone
cd wifi-reset
chmod +x

To see your wireless lan device appear between interfaces it may be required to reboot. Download and install the libnl wireless driver:

cd ~
git clone
cd libnl
make install

The includes and lib for libnl will be placed in: /usr/include/libnl3 and /usr/local/lib/libnl. Both hostapd and bridge utils require to be installed their order does not matter however.


Now we download and install the latest version of hostapd:

cd hostap
git checkout hostap_2_6
cd hostapd
cp defconfig .config
nano .config

We are now editing the configuration file and the folllowing lines to be changed:

CFLAGS += -I$ /usr/local/include/libnl3/
LIBS += -L$ /usr/local/lib/libnl/

Make sure these lines are equal to yours and save by pressing ctrl+s and enter. With the configuration ready we can now proceed to install hostapd:

make install

To test if everything is working correctly simple run:

sudo hostapd hostapd.conf

You should see an network named ‘NetworkTest’ appear you should be able to connect to this network but you wont be provided with an internet connection just yet.
Next we create our own hostapd configuration file:

sudo nano /etc/hostapd/hostapd.conf

Place the following configuration lines into the configuration file, Remember to change the SSID, password, hardware mode(b, g, n), country code and channel.


Bridge utils

Next we install bridge utils to create a bridged network between the ethernet and wireless interface.

apt-get install bridge-utils

Now we edit the networking file:

sudo nano /etc/network/interface

And add our bridge interface to it change the first line which should look like:

auto lo

Into the following:

auto lo br0

Next add the following lines to the bottom of the file, Remember to replace every X with your own network details:

allow-hotplug wlan0
iface wlan0 inet manual

allow-hotplug eth0
iface eth1 inet manual

iface br0 inet static
bridge_ports wlan0 eth0
address 192.168.X.X
gateway 192.168.X.X
dns-nameservers 192.168.X.X

Finally we setup our hostapd script to run at system bootup we do this by opening:

sudo nano /etc/default/hostapd

And changing the line containing DEAMON_CONF to:


After rebooting the device your wireless access point should be fully working. You can look up additional resources and documentation for tools used here:


  1. Your device shutdowns when the wireless device is activated.
    • The used power supply is unable of delivering the required amount of power.
  2. When I start hostapd and execute iwconfig the wlan interface stays in mode managed.
    • Either your hostapd service stops running or your wireless device does not support master mode.
  3. How do is start, stop, restart the hostapd service
    • Run: /etc/init.d/hostapd start, stop, restart
  4. Hostapd is running but I dont see or cant connect to my access point.
    • Try running hostapd with the -d argument to display detailed debugging information, make sure you have disabled the startup service before you do this.


All comments by the author will be marked with the emblem: author
  1. Starbird -

    Hey, thanks for posting this. It looks like an awesome tool!

    Unfortunately, when I attempt to install the libnl wireless driver and execute “git clone git://”, it fails with error “fatal: read error: Connection reset by peer”. I found that this project still exists at this location. I attempted to update my Git version but the only way to do this was with “sudo apt-get update && sudo apt-get upgrade” and executing this caused my little Beaglebone Black to run out of memory.

    Can you help me figure out what is wrong here? Has the project changed at all? Thanks!

    • Dantali0n author


      It seems the git repository at is none-functional. Luckily this library is now also available through github you can replace the previous git clone command with git clone and then it should work fine. I’ll contact the owner of infradead and update the url in the article for now.

  2. Chris -


    when running: sudo nano /etc/hostapd/hostapd.conf i get the following…

    hostapd: /lib/arm-linux-gnueabihf/ no version information available (required by hostapd)
    hostapd: /lib/arm-linux-gnueabihf/ no version information available (required by hostapd)
    Configuration file: hostapd.conf
    Could not open configuration file ‘hostapd.conf’ for reading.
    Failed to set up interface with hostapd.conf
    Failed to initialize interface

    • Dantali0n author

      It is unlikely that the command sudo nano /etc/hostapd/hostapd.conf will result in errors about shared libraries required by hostapd. I suspect that starting hostapd is what actually results in this behavior and these errors you are getting are likely the result of the libnl installation failing.

      You should consider reinstalling libnl as provided by the instructions in this post and carefully monitor the output.

Leave a Reply

Your email address will not be published. Required fields are marked *