Raspberry Pi as Standalone Access Point

From Wurst-Wasser.net
Revision as of 17:32, 29 November 2020 by Heiko (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

I had a case (Creating Raspberry Pi Zero ePaper Nametag), where I needed an Raspberry Pi Zero WH to act as access point, including DHCP-Server. Standalone, not connected to any network.

Installation

apt-get install hostapd dnsutils traceroute udhcp

Configuration

Disable IPv6

vi /etc/sysctl.conf

and set

net.ipv6.conf.all.disable_ipv6=1

Explanation: Disable IPv6 (to KISS).

Disable wpa-supplicant

If the Pi was used before, WPA-supplicant was most likely set up. Disable it.

Setup DHCPd

vi /etc/udhcpd.conf

…and…

start 10.178.42.100 # This is the range of IPs that the hostspot will give to client devices.
end 10.178.42.199
interface wlan0 # The device uDHCP listens on.
remaining yes
opt dns 10.178.42.1
opt subnet 255.255.255.0
opt router 10.178.42.1 # The Pi's IP address on wlan0 which we will set up shortly.
opt lease 864000 # 10 day DHCP lease time in seconds

…and…

vi /etc/default/udhcpd

…and comment this out…

#DHCPD_ENABLED="no"

Enable and Configure Access Point

vi /etc/default/hostapd 

and set:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Explanation: The hostapd reads the configfile, to find this configfile. I don't get what this is good for. I think I'm just net getting the whole concept. If anyone cares to enlighten me, please do. :)

vi /etc/hostapd/hostapd.conf

and set something like this:

interface=wlan0
driver=nl80211
hw_mode=g
channel=7
ieee80211n=1
wmm_enabled=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ssid=HMS_Camden_Lock
wpa_passphrase=42_42_42_42
country_code=DE

Enable it

vi /etc/default/hostapd

…and comment this and set path:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Set static IP-Address

vi /etc/dhcpcd.conf

…and…

interface wlan0
  static ip_address=10.178.42.1/24
  static routers=10.178.42.1
  static domain_name_servers=10.178.42.1

Launch AP and DHCPd

service hostapd start
service udhcpd start

Known issues

root@pi00:~# service hostapd start
Failed to start hostapd.service: Unit hostapd.service is masked.
root@pi00:~# 
systemctl unmask hostapd
systemctl enable hostapd

Also remember: Try setting WiFi-Country with…

raspi-config

…first!

Setup DNS

Later. Not mattering right now.

Network Interfaces

vi /etc/network/interfaces

Don't touch this file. dhcpcd gets jealous...