Well, hello again! Now for the access point, we are going to go more in-depth about hostapd. So far for now, as I don't have another WiFi card that is not Wireless N, I'm going to show a very basic configuration for that:

interface=wlxb44bd62671dd
bridge=br0  # This is why we want a bridge

ssid=MySSID
country_code=ES
hw_mode=g
channel=1   # Your WiFi channel
ieee80211n=1
wmm_enabled=1

auth_algs=1
# In the case you want or need WEP:
#wep_default_key=0
#wep_key0="10101"

# Otherwise, this is the equivalent for WPA2:
wpa=2
wpa_passphrase=prueba1234
rsn_pairwise=CCMP
wpa_key_mgmt=WPA-PSK
                

Let's start reading this block by block.

First, we begin with the interface. This is your wireless radio. Make sure your WiFi radio supports access point stuff. I have seen some WiFi radios that will refuse to work on bands that are 5GHz, mainly Intel Dual-Band radios, cannot remember correctlt which model was giving me trouble, but it is something to keep in mind.

Then the bridge, which is necessary for the devices that connect to your WiFi network to have access to the local network. By default you cannot add a wireless interface that is not configured to a bridge. Hostapd will handle this once the WiFi card is initialized.

Now we move to the second block. Here we are going to set up some basic properties of our WiFi network, such as the SSID, country code, the WiFi standard, and the channel. You can find a list of country codes here. You can have hostapd choose the best channel instead of one manually. This will be covered later on once I get the WiFi card.

Here you can choose between 802.11a, 802.11b and 802.11g. For 2.4GHz signals, you want to go with g/n, and leave b in the case you are working with a device that is as old as a PowerBook G3 or in the case one of your old consoles does not play nicely with g/n. 802.11b isn't very speedy, and it's a very old protocol, the best we can do is g/n. The wmm_enabled=1 enables some media extensions that make the speed faster or something. This is not meant to be a tutorial, you can find a lot in the official documentation. Also the 802.11 standard goes very in depth, and I don't want to go down that hole.

The next two blocks are just authentication, WEP with a password that is 10101 and WPA2 with a password prueba1234. (choose wisely!)

Now that is done, we can set up our access point with hostapd /path/to/hostapd.conf. This path should be /etc/hostapd, as then we can set up hostapd to autostart with systemd or whatever you prefer.

Make sure you do not have NetworkManager installed. I have spent hours and hours on end trying to figure out why the hotspot would cut out randomly and never come back. Turns out NetworkManager was scanning for WiFi and kept interrupting hostapd, so make sure it's stopped and disabled before continuing. Why did I have NetworkManager installed in my server? No idea to be honest.

Right, once we make sure that does not happen, let's try it out, start the hotspot and connect with your phone, maybe run a speedtest... It's not going to be fast if you are using a 13 year old TP-Link USB antenna, but it's going to be functional!

You can also open the WiFi settings and check the IP address, you will see that it has grabbed an IP address from the local DHCP server and you can access the device on the WiFi network from any other computer in the network.

Congratulations, at this point you have a (probably slow but) working access point! That is as simple as it gets. Now go RTFM and try to figure out stuff to make it go faster!

Sooner or late, we are going to try and figure out 802.11ac, which is a big leap from where we are right now, but definitely worth doing so. My end goal is to have working WiFi 6E speeds from my DIY access point, and once that is done, move onto making it behave like a normal router.