I wanted to use my desktop with a wired ethernet connection (eth0) to operate my "TP-LINK TL-WN722N" USB Wifi Adapter (wlan0) as a non-adhoc (infrastructure mode) access point for my Android to connect to.
After MUCH searching, I finally found a method (spread across many websites) that does most of what I need...
Dependencies:
hostapd
bridge-utils
I modified "/etc/network/interfaces"
sudo gedit /etc/network/interfaces
to contain:
# This file describes the network interfaces available on your system
# and how to activate them.
auto lo br0
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual
# Bridge setup
# for dhcp address
iface br0 inet dhcp
bridge_ports eth0 wlan0
# for static ip
# iface br0 inet static
# bridge_ports eth0 wlan0
# adapt with your network settings
# address 192.168.1.250
# netmask 255.255.255.0
# network 192.168.1.0
# broadcast 192.168.1.255
# gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
# dns-nameservers 192.168.1.1
# dns-search localdomain
### Reference ###
# Creating a Wireless Access Point with Debian Linux « Agent Oss (October 31, 2011)
# https://agentoss.wordpress.com/2011/10/31/creating-a-wireless-access-point-with-debian-linux/
My "/etc/hostapd/hostapd.conf" (which I somehow managed to put together myself)
sudo gedit /etc/hostapd/hostapd.conf
contains:
### Guts ###
interface=wlan0
bridge=br0
driver=nl80211
### General ###
ssid=____________________
hw_mode=g
channel=1
### Security ###
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0 ## 0 visible # 1 hidden ##
wpa=2
wpa_passphrase=____________________
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
### Reference ###
## Created Tuesday, February 14, 2012 ## Ubuntu 11.10/12.04 ##
# Hostapd Linux Documentation Page
# http://linuxwireless.org/en/users/Documentation/hostapd
# Creating a Network Bridge on Ubuntu (January 16th, 2011)
# http://webserver.linuxportal.nl/?p=422
(I've edited out the security bits for this post)
All of that allows me to open up a Terminal and execute:
sudo hostapd -B /etc/hostapd/hostapd.conf
to have a functioning access point that my Android and all other WiFi devices can connect to.
Aside from sharing this method with others since info for this setup is so sparse; there are three problems that would be nice to fix:
- This configuration deactivates network manager and all of its functions. When you click it, it gives a "device not managed" message. (not essential, but a bit annoying to me)
- This method can struggle with IP addresses from time to time.
I must use a terminal to turn on Wifi. (Ok for me, but not family friendly).I figured out how to make a launcher using gksu and a simple script if anyone needs one...
- (Why can't network manager do this out-of-the-box??)
Thanks in advance! I hope all of this can help someone else; I've never written a tutorial before and know virtually nothing about networking...
Perhaps related to network bridge - without destroying network manager (among others).
Tested using Ubuntu 11.10, 12.04.