Tested on:Raspberry Pi 2; Raspberry Pi B+; Python 2.7; Raspbian pre Jessie
Prerequisites:Raspberry Pi with Raspbian Jessie(see steps 1-5 in the Introduction)
Hardware:Logilink WL0084B
19

Setup a Raspberry Pi as wireless access point WAP with the Logilink WL0084B – nl80211

This tutorial shows how to setup a wireless access point (WAP) on a Raspberry Pi using the Logilink WL0084B USB dongle with the nl80211 chipset. Other dongles may work, too, but they need to support Access Point Mode and may need other chipsets installed. Having setup a Raspberry Pi as WAP is great for remotely controllable devices, which should not be accessible from the internet. That gives more security for mobile interfaces, like WebIOPi. Additionally, this is absolutely great for experimenting with the Raspberry Pi, since remote login over ssh without any cables works with a WAP.
Here are some sources used for this tutorial:
Dave Conroy, RaspberryPi.org and Elinux.org

Setup a static IP
Open interfaces with

Either remove or set a hash(#) in front of every line of the block of lines used for setting up wlan0, usually starting with

then add at the end of the file

with X.Y.Z being the first three ciphers of the IP which should be assigned to the wireless access point, e.g. 192.168.42.

Setup DHCPD
First, install the required packages with

Now, open dhcpd.conf with

Assure the following lines are in the file and do not have a hash in front of them:

Find the line

and change it to

Then, add the following lines at the end of the file:

with X.Y.Z being the same as in the previous step.

The wlan configuration has to be entered in isc-dhcp-server by opening it with

Change

to

Setup hostapd
Finally, hostapd needs a configuration file. Create and open hostapd.conf with

then enter

Choose for NETWORKID the displayed name of the access point and a password for NETWORKPWD.

The configuration file has to be entered in hostapd. Open it with

and add

Auto-restart the dhcp server
To get the WAP up and running, it’s necessary to restart the dhcp server after booting into the terminal.
Open .bashrc with

and add at the end of the file:

Enable Autologin
To enable autologin, open inittab with

find the line

or similar and add a hash in front of it.
Below, add the line

Test the access point
Shut down the Raspberry Pi with

remove the Ethernet cable and boot again. The Network should be visible to a mobile or a host computer with another dongle.
Try connecting to the WAP over the hosts wireless manager to the network named NETWORKID with the password NETWORKPWD and then logging into it with

For logging out, use

or the terminal may freeze.

Raspberry Pi 3 – Raspbian Jessie
For Raspbian Jessie, some minor changes apply:
Tutorial: Raspbian Jessie WAP

Links
Webinterface WebIOPi tutorial: http://www.knight-of-pi.org/webiopi-a-simple-but-great-web-api-for-the-raspberry-pi/
Dave Conroy Website: http://www.daveconroy.com/turn-your-raspberry-pi-into-a-wifi-hotspot-with-edimax-nano-usb-ew-7811un-rtl8188cus-chipset/
RaspberryPi.org Forum: https://www.raspberrypi.org/forums/viewtopic.php?f=36&t=19120&sid=da2f468f4a29b3375ef632373ae4e277&start=425
Elinux.org WAP Wiki: http://elinux.org/RPI-Wireless-Hotspot
Tutorial: WAP on the Raspberry Pi 3 with Raspbian Jessie: http://www.knight-of-pi.org/configure-the-raspberry-pi-3-as-wireless-access-point-wap-for-raspbian-jessie/

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

19 Comments

  1. when i try to install sudo apt-get install hostpad , i have always the same error, “Unable to locate package hostpad”, someone can help me?

  2. The upgrade to systemd has not been kind to those trying to more complex networking. Multiple systemd components are attempting to enable interfaces creating race conditions and not helped by the default dhcpcd configuration that does not include a control script for dhcpcd@.service.

  3. Hi Ian, hi Anon,

    thanks for the info! I consider WAP to be really important for a lot of projects,
    so i’ll try to make a new article on howto setup a WAP on a RPi3 with Jessie on it. But it’ll take some time, i hope to do it in the next three weeks.

    • Thanks, I look forward to seeing that. I you (or someone else more knowledgeable than I) can get an AP working on a Pi Zero with jessie lite using a wi-pi or official Raspberry Pi wifi adapters, that would really help me out with a project I want to transfer from an A+ to a Zero.

      Ian

      • Hi Ian,

        i’m sorry but i do not own a RPi Zero so far. Stupid question, but can’t you just use Wheezie?

        Regards,
        Johannes

        • I looked into that- you can’t boot the standard wheezy image on a zero, and, so far as I can see, there are issues with modifying it to boot successfully. I now have the latest jessie lite image, and will have another go sometime soon. Wish me luck.

          Ian

          • Well, it seems to be working – fired up with the latest image last night, set up static ip in /etc/dhcpcd.conf and the ap showed up straight away. There followed an evening of swearing and hair-tearing as my android tablet would find the network but not connect. Tried it again this morning and, lo, it connected straight away. I guess a power cycle rather than a reboot was needed, don’t know why. Samba share also visible, which was actually the whole point of this exercise.

            Elsewhere, others have noted that if hostapd/dhcp server are started before the interfaces are up, they can fail. I’ve therefore used raspi-config to use the slow boot (wait for networking) option. This wasn’t done until after this morning’s successful connection, but may help – could just be that this time the interfaces came up a bit more quickly or starting the other services was delayed a bit.

          • Hey Ian,

            great thing it worked out and thanks for sharing!
            I’m currently working on tutorials for making touchscreen interfaces with kivy, but will have a closer look at WAP again when i finished.

            Have fun!

          • Another minor update: it’s not the power cycle that did the trick, it was rebooting with the cable unplugged from the USB-ethernet adapter. Not an issue for this project as that adapter is only there for setting-up and will be disconnected when it’s done.

            Ian

          • Hey Ian,

            i tried it with your hints and it works like a charm.
            There’s a new mini tutorial for this, the link is at the end of this tutorial.

            Thanks again!

  4. This won’t work with raspbian jessie, not the most recent version anyway. It now uses dhcpcd to handle network setting up, so static ip is now set up in /etc/dhcpcd.conf (note the extra “c” in there. This is causing tutorials like this to break, and no small number of headaches amongst those trying to get access points working, especially with Pi zeroes and Pi 3s, which won’t boot with the standard wheezy SD card images.

    • So which changes need to be made to get it to work with Raspian-Jessie? I followed this procedure starting with the latest Jessie image. My mobile client detects the AP and can determine the connection speed but is unable to obtain an IP address.

      I’m also a little confused about the last step in this procedure – “remove the Ethernet cable”. I thought the main reason to have an access point was to connect to a wired network when you were out of range of the wireless router.

      • Hi Gabe-
        i use WAP for interfacing devices without having them open in the web.
        Mostly, smartphone interfaces and home automation devices.

        I’m currently working on a new tutorial WAP for the RPi3…

Comment

Time limit is exhausted. Please reload CAPTCHA.