77 | | The 'hostap-daemon' package provides the [http://wireless.kernel.org/en/users/Documentation/hostapd hostapd] application which configures the radio for AP mode using configuration from /etc/hostapd.conf. |
78 | | |
79 | | You will need to configure /etc/hostapd.conf to specify important details such as: |
80 | | * interface |
81 | | * driver type (the default is nl80211 which is used for all modern mac80211 drivers) |
82 | | * bridge config |
83 | | * ssid |
84 | | * channel |
85 | | * encryption |
86 | | |
87 | | The default /etc/hostapd.conf file contains detailed documentation and you can find more info [http://wireless.kernel.org/en/users/Documentation/hostapd here] |
88 | | |
89 | | A couple of example configurations: |
90 | | * a 802.11ac capable card using mac80211 configured for SSID=test-ssid, channel 1, wlan0 interface: |
91 | | {{{ |
92 | | cat << EOF > /etc/hostapd.conf |
93 | | interface=wlan0 |
94 | | |
95 | | logger_syslog=-1 |
96 | | logger_syslog_level=2 |
97 | | logger_stdout=-1 |
98 | | logger_stdout_level=2 |
99 | | |
100 | | ctrl_interface=/var/run/hostapd |
101 | | ctrl_interface_group=0 |
102 | | |
103 | | ssid=test-ssid |
104 | | |
105 | | # Spectrum Mode |
106 | | hw_mode=a |
107 | | |
108 | | # 0 for ACS |
109 | | channel=1 |
110 | | |
111 | | ## DFS |
112 | | #ieee80211d=1 |
113 | | #ieee80211h=1 |
114 | | #country_code=US |
115 | | |
116 | | # wireless N |
117 | | ieee80211n=1 |
118 | | ht_capab=[HT40+][SHORT-GI-40][TX-STBC][RX-STBC2][DSSS_CK-40][LDPC] |
119 | | require_ht=1 |
120 | | |
121 | | # wireless ac |
122 | | ieee80211ac=1 |
123 | | vht_capab=[SHORT-GI-80][HTC-VHT] |
124 | | require_vht=1 |
125 | | vht_oper_chwidth=1 |
126 | | # 5.210 GHz |
127 | | vht_oper_centr_freq_seg0_idx=36 |
128 | | # 5.795 GHz |
129 | | vht_oper_centr_freq_seg1_idx=161 |
130 | | |
131 | | EOF |
132 | | /etc/init.d/hostapd stop; sleep 1; /etc/init.d/hostapd start |
133 | | }}} |
134 | | * a 802.11g capable card using mac80211 (WLE300NX) configured for SSID=testssid, channel 11, wlan0 interface, WPA2 encryption with key=testpass: |
135 | | {{{ |
136 | | cat << EOF > /etc/hostapd.conf |
137 | | interface=wlan0 |
138 | | ssid=testssid |
139 | | channel=11 |
140 | | # encryption |
141 | | wpa=2 |
142 | | wpa_passphrase=testpass |
143 | | wpa_key_mgmt=WPA-PSK |
144 | | wpa_pairwise=TKIP |
145 | | rsn_pairwise=CCMP |
146 | | auth_algs=1 |
147 | | EOF |
148 | | /etc/init.d/hostapd stop; sleep 1; /etc/init.d/hostapd start |
149 | | }}} |
150 | | |
151 | | Notes: |
152 | | * Once /etc/hostapd.conf is re-configured reboot or restart the hostapd app: |
153 | | {{{ |
154 | | /etc/init.d/hostapd stop |
155 | | sleep 1 |
156 | | /etc/init.d/hostapd start |
157 | | }}} |
158 | | * make sure /etc/network/interfaces is not configuring the wlan interface automatically |
159 | | |
160 | | |
161 | | == bridged Access Point == |
162 | | A bridged Access Point is used to provide an a Wireless Access Point on a LAN that already has a DHCP server and creates a bridge between the LAN interface and the WIFI interface such that wireless client DHCP requests will be bridged to the LAN and answered from there. |
163 | | |
164 | | For this you need: |
165 | | * bridge-utils package |
166 | | * create a bridge between your wifi interface and your lan interface. For example, assuming wlan0 and eth0: |
167 | | {{{ |
168 | | # create a bride and add interfaces to it |
169 | | brctl addbr br0 |
170 | | brctl addif br0 eth0 |
171 | | brctl addif br0 wlan0 |
172 | | # bring it up |
173 | | ifconfig br0 up |
174 | | # use DHCP to assign IP info |
175 | | udhcpc -i br0 |
176 | | }}} |
177 | | * Note that you can use /etc/network/interfaces to bring up and configure the bridge, but if you are using a fairly limited ifup/ifdown (like busybox) you will probably need to create the bridge first (ie in an init script prior to networking coming up) |
178 | | |
179 | | |
180 | | == routed Access Point == |
181 | | A routed Access Point is used when you want the wireless network to have its own DHCP server and network. In this case traffic is routed across the LAN and WIFI interfaces. |
182 | | |
183 | | For this you need: |
184 | | * dnsmasq package (or another DHCP server of your choice) |
185 | | * the LAN interface (ie eth0) should have an IP configuration from the LAN segment |
186 | | * the WIFI interface (ie wlan0) should be assigned a static address on a private network |
187 | | * the dnsmasq server is configured to serve IP addresses on the wlan0 network. |
188 | | |
189 | | Modify the /etc/dnsmasq.conf file. To issue DHCP addresses out the wlan0 be sure the following lines are not commented out and or create them. |
190 | | |
191 | | {{{ |
192 | | interface=wlan0 |
193 | | }}} |
194 | | {{{ |
195 | | dhcp-range=10.0.0.10,10.0.0.200,2h |
196 | | }}} |
197 | | |
198 | | Inside of /etc/network/interfaces, we see a config like so: |
199 | | {{{ |
200 | | # Wireless interfaces |
201 | | auto wlan0 |
202 | | iface wlan0 inet static |
203 | | address 10.0.0.1 |
204 | | netmask 255.255.255.0 |
205 | | |
206 | | }}} |
207 | | |
208 | | The /etc/hostapd.conf file would look like: |
209 | | {{{ |
210 | | interface=wlan0 |
211 | | ssid=GateworksDemo |
212 | | channel=11 |
213 | | }}} |
214 | | |
215 | | = Troubleshooting = |
216 | | If you're using the above configuration and wireless isn't auto starting in client mode, it's more likely the fault of hostapd also being configured. To disable hostapd, edit /etc/hostapd.conf and remove the wireless interface you would like to use from the "interface" option. Below is a sed that will remove all wireless interfaces from hostapd. This method will allow you to have multiple wireless clients and ap's as you can configure the conf files as needed. |
217 | | {{{ |
218 | | sed -i "s/"^interface=.*"/"interface="/" /etc/hostapd.conf |
219 | | }}} |
| 77 | For more information on access point configuration, see [wiki:wireless/wifi#AccessPointConfigurationAP wireless/wifi]. |