| 21 | | 1) A working LFS-6.1 system or newer with wireless capabilities |
|---|
| 22 | | 1.a) Linux kernel 2.6.14 or newest (0) |
|---|
| 23 | | 1.b) Wireless Cards Drivers |
|---|
| 24 | | 2) An IP service |
|---|
| 25 | | 2.a) Static IP service (1) |
|---|
| 26 | | 2.b) Dynamic IP service (1) |
|---|
| 27 | | 2.c) Static IP discovering helper (2) |
|---|
| 28 | | 3) Wireless Networks helper programs |
|---|
| 29 | | 3.a) Wireless tools |
|---|
| 30 | | 3.b) wpa_supplicant |
|---|
| 31 | | 4) This hint with its 4 files |
|---|
| 32 | | 5) A working firewall |
|---|
| 33 | | 5.a) Basic firewalling capabilities (1)(2) |
|---|
| 34 | | 5.b) Shoreline firewall (2) |
|---|
| 35 | | |
|---|
| 36 | | (0) The Linux kernels shipped with LFS-6.1 and 6.1.1 are too old, |
|---|
| 37 | | please consider upgrading to 2.14 or 2.16 kernels. |
|---|
| 38 | | The Linux kernel maintainers have changed some references in |
|---|
| 39 | | the 2.6.16 .config file, thus firewalling capabilities will be disable |
|---|
| 40 | | when using a .config from a 2.14 kernel or older. |
|---|
| 41 | | (1) See BLFS book |
|---|
| 42 | | (2) Not needed but recommended |
|---|
| | 23 | - A working LFS-6.1 system or newer with wireless capabilities |
|---|
| | 24 | - Almost two networks services like ipv4-static/dhcpcd installed |
|---|
| | 25 | - wpa_supplicant and wireless drivers |
|---|
| 46 | | 1) A working LFS-6.1 system or newer with wireless capabilities |
|---|
| 47 | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 48 | | 1.a) The Wireless Capabilities of the Linux kernel |
|---|
| 49 | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 50 | | Configuring the kernel: |
|---|
| 51 | | |
|---|
| 52 | | Networking ---> |
|---|
| 53 | | [*] Networking support |
|---|
| 54 | | <M> Generic IEEE 802.11 Networking Stack |
|---|
| 55 | | <M> IEEE 802.11 WEP encryption (802.1x) |
|---|
| 56 | | <M> IEEE 802.11i CCMP support |
|---|
| 57 | | <M> IEEE 802.11i TKIP encryption |
|---|
| 58 | | Device Drivers ---> |
|---|
| 59 | | Network device support ---> |
|---|
| 60 | | Wireless LAN (non-hamradio) ---> |
|---|
| 61 | | [*] Wireless LAN drivers (non-hamradio) & Wireless Extensions |
|---|
| 62 | | << and select your driver from the list if shipped with the Linux Kernel >> |
|---|
| 63 | | Cryptographic options ---> |
|---|
| 64 | | <M> AES cipher algorithms |
|---|
| 65 | | |
|---|
| 66 | | Now compile, install , enable your new kernel in your boot loader and restart |
|---|
| 67 | | using it. |
|---|
| 68 | | |
|---|
| 69 | | 1.b) The Wireless Cards Drivers |
|---|
| 70 | | If your driver wasn't shipped with the Linux Kernel then you need to install a |
|---|
| 71 | | third party driver. |
|---|
| 72 | | |
|---|
| 73 | | Be aware that most of those independent driver are in development stage and they |
|---|
| 74 | | probably won't be available in tarballs but from a CVS repository or from a |
|---|
| 75 | | subversion one. Then you will need those tools to download it, both of cvs and |
|---|
| 76 | | svn installations are explained in the BLFS book. |
|---|
| 77 | | |
|---|
| 78 | | Please also consider reading the "Wireless LAN resources for Linux" HOWTO for |
|---|
| 79 | | chipsets driver name. |
|---|
| 80 | | |
|---|
| 81 | | As an example, most Artheos cards are supported by the madwifi project: link: |
|---|
| 82 | | http://madwifi.org/wiki without doing advertising for them this wiki is full of |
|---|
| 83 | | information and links referring to WPA encrypted networks |
|---|
| 84 | | |
|---|
| 85 | | 2) The IP services |
|---|
| 86 | | ~~~~~~~~~~~~~~~~~~ |
|---|
| 87 | | |
|---|
| 88 | | You should know that networks interfaces need IP addresses and also that some |
|---|
| 89 | | networks have DHCP servers some other don't. Without explaining the benefit of |
|---|
| 90 | | having a DHCP server, i will just say that a DHCP server provides IP to all |
|---|
| 91 | | attached network interfaces (it also provides the IP of the gateway, the network |
|---|
| 92 | | mask and the IP of DNS servers) |
|---|
| 93 | | |
|---|
| 94 | | Essentials IP services installation and configuration are in the BLFS Book. You |
|---|
| 95 | | will size the benefit of the wpa-service when you will understand that this |
|---|
| 96 | | service only attach your card to an wireless WPA network and when it did it, it |
|---|
| 97 | | simply launch the desired IP service as if your system were setting up usual |
|---|
| 98 | | network cards. |
|---|
| 99 | | |
|---|
| 100 | | Then, you only have to know which IP service your network uses : Is it a STATIC |
|---|
| 101 | | or a DYNAMIC network ? |
|---|
| 102 | | |
|---|
| 103 | | 2.a) Static IP service |
|---|
| 104 | | ~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 105 | | IP service will be ipv4-static |
|---|
| 106 | | This service is shipped with the LFS Book (6.1 and newer) |
|---|
| 107 | | |
|---|
| 108 | | 2.b) Dynamic IP service |
|---|
| 109 | | ~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 110 | | IP service will be dhcpcd |
|---|
| 111 | | This service is described in the BLFS Book (6.1 and newer) |
|---|
| 112 | | |
|---|
| 113 | | 2.c) Static IP discovering helper (Zeroconf like) |
|---|
| 114 | | Use it when you really don't know what to do |
|---|
| 115 | | IP service will be autoipd-service |
|---|
| 116 | | This service is not yet shipped anywhere for LFS systems then i did it |
|---|
| 117 | | |
|---|
| 118 | | 2.c.1) The Howl installation |
|---|
| 119 | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 120 | | Refer you to : |
|---|
| 121 | | link: http://www.porchdogsoft.com/products/howl/InstallUnix.html |
|---|
| 122 | | But set the prefix to /usr |
|---|
| 123 | | |
|---|
| 124 | | Now copy the autoipd-service to the network service directory: |
|---|
| 125 | | |
|---|
| 126 | | cp autoipd-service /etc/sysconfig/network-devices/services |
|---|
| 127 | | And make it executable: |
|---|
| 128 | | |
|---|
| 129 | | chmod 755 -c /etc/sysconfig/network-devices/services/autoipd-service |
|---|
| 130 | | |
|---|
| 131 | | 3) Wireless Networks helper programs |
|---|
| 132 | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 133 | | 3.a) Wireless tools |
|---|
| 134 | | ~~~~~~~~~~~~~~~~~~~ |
|---|
| 135 | | This helper is not need by the wpa-service but can be really helpful. |
|---|
| 136 | | |
|---|
| 137 | | Then, download the latest development version of this tool named |
|---|
| 138 | | 'wireless_tools' execute the following command in its directory : |
|---|
| 139 | | |
|---|
| 140 | | find ./ -name 'Makefile' -exec sed 's,/usr/local,/usr,g' && |
|---|
| | 29 | 0) Requirement and Optional tools |
|---|
| | 30 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| | 31 | |
|---|
| | 32 | 0.a) wpa_supplicant 'The core' |
|---|
| | 33 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| | 34 | This is NOT an usual step if you omit something here you won't be able to attach |
|---|
| | 35 | your device to any access point |
|---|
| | 36 | |
|---|
| | 37 | Please use the 0.4.8 version or newer and NOT the 0.4.7, available at: |
|---|
| | 38 | link: http://hostap.epitest.fi/wpa_supplicant |
|---|
| | 39 | |
|---|
| | 40 | Again, i strongly recommend you to read its README before doing anything. |
|---|
| | 41 | wpa_supplicant may need the source of your drivers then edit the .config file |
|---|
| | 42 | as described in the README and set all constants according to your system. |
|---|
| | 43 | also when ready install it by executing : |
|---|
| | 44 | |
|---|
| | 45 | find ./ -name 'Makefile' -exec sed 's,/usr/local,/usr,g' {} \ && |
|---|
| 144 | | 3.b) wpa_supplicant 'The core' |
|---|
| 145 | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 146 | | |
|---|
| 147 | | This is NOT an usual step if you omit something here you won't be able to attach |
|---|
| 148 | | your device to any access point |
|---|
| 149 | | |
|---|
| 150 | | Please use the 0.4.8 version or newer and NOT the 0.4.7, available at: link: |
|---|
| 151 | | http://hostap.epitest.fi/wpa_supplicant |
|---|
| 152 | | |
|---|
| 153 | | Again, i strongly recommend you to read its README before doing anything. |
|---|
| 154 | | wpa_supplicant may need the source of your drivers then edit the .config file as |
|---|
| 155 | | described in the README and set all constants according to your system. also |
|---|
| 156 | | when ready install it by executing : |
|---|
| 157 | | |
|---|
| 158 | | find ./ -name 'Makefile' -exec sed 's,/usr/local,/usr,g' && |
|---|
| 159 | | make && |
|---|
| | 49 | 0.b) ifplugd a daemon which monitor your interface (optional) |
|---|
| | 50 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| | 51 | This external program is not required but can drastically simplify our life |
|---|
| | 52 | because it won't crash wpa_supplicant |
|---|
| | 53 | information can be found here |
|---|
| | 54 | http://0pointer.de/lennart/projects/ifplugd |
|---|
| | 55 | and ifplugd (0.28) can be downloaded from: |
|---|
| | 56 | http://0pointer.de/lennart/projects/ifplugd/ifplugd-0.28.tar.gz |
|---|
| | 57 | |
|---|
| | 58 | installation |
|---|
| | 59 | As this package is made with the GNU autotools you should run |
|---|
| | 60 | ./configure inside the distribution directory for configuring the source tree. |
|---|
| | 61 | After that you should run make for compilation |
|---|
| | 62 | and make install (as root) for installation of ifplugd. |
|---|
| | 63 | |
|---|
| | 64 | ./configure --prefix=/usr --sysconfdir=/etc |
|---|
| | 65 | make |
|---|
| 167 | | wpa_supplicant supports separate front-end programs and a text-based front-end |
|---|
| 168 | | (wpa_cli) is included with wpa_supplicant. |
|---|
| 169 | | |
|---|
| 170 | | 4.1) The wpa-init file |
|---|
| 171 | | ~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 172 | | |
|---|
| 173 | | The wpa-service will use the text-based front-end to controls the wpa_supplicant |
|---|
| 174 | | daemon. This requires wpa_supplicant daemon running. Thus copy the wpa-init file |
|---|
| 175 | | to the init script directory and make it executable: |
|---|
| 176 | | |
|---|
| 177 | | cp wpa-init /etc/rc.d/init.d |
|---|
| 178 | | chmod 755 -c /etc/rc.d/init.d/wpa-init |
|---|
| 179 | | |
|---|
| 180 | | According to the last lfs-bootscript, link it to some run levels: |
|---|
| 181 | | |
|---|
| 182 | | ln -sv /etc/rc.d/init.d/wpa-init /etc/rc.d/rc3.d/S15wpa-init |
|---|
| 183 | | ln -sv /etc/rc.d/init.d/wpa-init /etc/rc.d/rc5.d/S15wpa-init |
|---|
| 184 | | ln -sv /etc/rc.d/init.d/wpa-init /etc/rc.d/rc0.d/K75wpa-init |
|---|
| 185 | | ln -sv /etc/rc.d/init.d/wpa-init /etc/rc.d/rc6.d/K65wpa-init |
|---|
| 186 | | |
|---|
| 187 | | 4.2) The wpa-service file |
|---|
| 188 | | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 189 | | |
|---|
| 190 | | This step is similar to the autoipd-service: |
|---|
| 191 | | |
|---|
| 192 | | Copy the wpa-service to the network service directory: |
|---|
| 193 | | |
|---|
| 194 | | cp wpa-service /etc/sysconfig/network-devices/services |
|---|
| 195 | | |
|---|
| 196 | | And make it executable: |
|---|
| 197 | | |
|---|
| 198 | | chmod 755 -c /etc/sysconfig/network-devices/services/wpa-service |
|---|
| 199 | | |
|---|
| 200 | | |
|---|
| 201 | | 4.3) Configuring the wireless interface |
|---|
| 202 | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 203 | | 4.3.a) The wireless network config file wpa-service-conf |
|---|
| | 78 | wpa_supplicant supports separate front-end programs and a text-based |
|---|
| | 79 | front-end (wpa_cli) is included with wpa_supplicant. |
|---|
| | 80 | |
|---|
| | 81 | 1.1) Install Files and Directories |
|---|
| | 82 | |
|---|
| | 83 | install -d /etc/sysconfig/wpa_supplicant |
|---|
| | 84 | install -m644 wpa_service.conf /etc/sysconfig/wpa_supplicant |
|---|
| | 85 | |
|---|
| | 86 | install -m755 wpa-rcscript /etc/rc.d/init.d/wpa |
|---|
| | 87 | ln -nsf /etc/rc.d/init.d/wpa /etc/rc.d/rc3.d/S15wpa |
|---|
| | 88 | ln -nsf /etc/rc.d/init.d/wpa /etc/rc.d/rc5.d/S15wpa |
|---|
| | 89 | ln -nsf /etc/rc.d/init.d/wpa /etc/rc.d/rc6.d/K85wpa |
|---|
| | 90 | ln -nsf /etc/rc.d/init.d/wpa /etc/rc.d/rc0.d/K85wpa |
|---|
| | 91 | |
|---|
| | 92 | install -m755 wpa_actions-script /etc/sysconfig/wpa_supplicant/wpa_actions |
|---|
| | 93 | install -m755 ifplugd_wrapper-script /etc/sysconfig/wpa_supplicant/ifplugd_wrapper |
|---|
| | 94 | install -m755 wpa-service2 /etc/sysconfig/network-devices/services |
|---|
| | 95 | |
|---|
| | 96 | install -d /etc/sysconfig/network-devices/ifconfig.<IFACE> |
|---|
| | 97 | install -m644 wpa-service-iface /etc/sysconfig/network-devices/ifconfig.<IFACE>/wpa-service |
|---|
| | 98 | |
|---|
| | 99 | |
|---|
| | 100 | 2) Network Configuration |
|---|
| | 101 | ~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| | 102 | 2.1) Choosing the network configuration method |
|---|
| | 103 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| | 104 | |
|---|
| | 105 | All configurations go in the wpa-service-iface |
|---|
| | 106 | |
|---|
| | 107 | wpa-service 0.2 can be use to only set up one time or continuously manage your |
|---|
| | 108 | interface. |
|---|
| | 109 | This is done by three functions: |
|---|
| | 110 | - wait_for_up --> a stupid loop waiting for the interface to be ready |
|---|
| | 111 | - wait_for_events --> wpa_supplicant internal 'action' function (wpa-cli -a) |
|---|
| | 112 | - if_plugd --> an external daemon |
|---|
| | 113 | |
|---|
| | 114 | This choice is done by setting IP_FUNCTION in the wpa-service-iface file |
|---|
| | 115 | |
|---|
| | 116 | In the case of a static computer, the first function should be used |
|---|
| | 117 | wait_for_up: |
|---|
| | 118 | (+)the advantages are : less request to the wpa_supplicant daemon |
|---|
| | 119 | only one daemon is running : wpa_supplicant. |
|---|
| | 120 | (-)disadvantages : if network change, you will lost connection |
|---|
| | 121 | |
|---|
| | 122 | wait_for_events: |
|---|
| | 123 | (+)the advantages are : dynamic network configuration |
|---|
| | 124 | only one daemon is running : wpa_supplicant. |
|---|
| | 125 | (-)disadvantages : wpa_supplicant crashes under too much pings |
|---|
| | 126 | from wpa_cli , thus you will lost connection |
|---|
| | 127 | |
|---|
| | 128 | if_plugd: |
|---|
| | 129 | (+)the advantages are : dynamic network configuration |
|---|
| | 130 | less request to the wpa_supplicant daemon |
|---|
| | 131 | more reliable and can also be use for wired interface |
|---|
| | 132 | (-)disadvantages : require an external daemon |
|---|
| | 133 | |
|---|
| | 134 | i encourage people to use the wait_for_events function, because errors reports |
|---|
| | 135 | will go to wpa_supplicant developers ;) |
|---|
| | 136 | |
|---|
| | 137 | but if you want a more reliable network, use the if_plugd function. |
|---|
| | 138 | |
|---|
| | 139 | 2.2) Network configurations with any of the three functions: |
|---|
| | 140 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| | 141 | |
|---|
| | 142 | wpa-service can set up your network according to it's SSID, this means that if |
|---|
| | 143 | the SSID "DHCP network" manage ip via a dhcp server, wpa-service will use the |
|---|
| | 144 | SSID file descriptor to set up you network when connecting to the SSID network. |
|---|
| | 145 | |
|---|
| | 146 | Those ssid descriptors are named with the name of the SSID they describe, |
|---|
| | 147 | and took place in the /etc/sysconfig/wpa_supplicant directory. |
|---|
| | 148 | |
|---|
| | 149 | the "AzErTy" SSID descriptor will be /etc/sysconfig/wpa_supplicant/AzeRtY |
|---|
| | 150 | |
|---|
| | 151 | 2.1) SSID descriptor syntax: |
|---|
| | 152 | An SSID descriptor is a regular network configuration file as used in LFS system |
|---|
| | 153 | it means that if SSID "IPV4" use ipv4-static, the the descriptor "IPV4" will be |
|---|
| | 154 | |
|---|
| | 155 | cat > /etc/sysconfig/wpa_supplicant/IPV4 << "EOF" |
|---|
| | 156 | ONBOOT=yes |
|---|
| | 157 | SERVICE=ipv4-static |
|---|
| | 158 | IP=192.168.1.1 |
|---|
| | 159 | GATEWAY=192.168.1.2 |
|---|
| | 160 | PREFIX=24 |
|---|
| | 161 | BROADCAST=192.168.1.255 |
|---|
| | 162 | EOF |
|---|
| | 163 | |
|---|
| | 164 | or if the "DHCP" SSID use dhcp : |
|---|
| | 165 | |
|---|
| | 166 | cat > /etc/sysconfig/wpa_supplicant/DHCP << "EOF" |
|---|
| | 167 | ONBOOT="yes" |
|---|
| | 168 | SERVICE="dhcpcd" |
|---|
| | 169 | DHCP_START="-o" |
|---|
| | 170 | DHCP_STOP="-k -o" |
|---|
| | 171 | |
|---|
| | 172 | # Set PRINTIP="yes" to have the script print |
|---|
| | 173 | # the DHCP assigned IP address |
|---|
| | 174 | PRINTIP="no" |
|---|
| | 175 | |
|---|
| | 176 | # Set PRINTALL="yes" to print the DHCP assigned values for |
|---|
| | 177 | # IP, SM, DG, and 1st NS. This requires PRINTIP="yes". |
|---|
| | 178 | PRINTALL="no" |
|---|
| | 179 | EOF |
|---|
| | 180 | |
|---|
| | 181 | for convenience, wpa_actions fall back to /etc/sysconfig/wpa_supplicant/AUTO |
|---|
| | 182 | when no SSID descriptor is available, |
|---|
| | 183 | |
|---|
| | 184 | Then install a common/automatic network configuration: |
|---|
| | 185 | I use dhcpcd: |
|---|
| | 186 | |
|---|
| | 187 | cat > /etc/sysconfig/wpa_supplicant/AUTO << "EOF" |
|---|
| | 188 | ONBOOT="yes" |
|---|
| | 189 | SERVICE="dhcpcd" |
|---|
| | 190 | DHCP_START="-o" |
|---|
| | 191 | DHCP_STOP="-k -o" |
|---|
| | 192 | |
|---|
| | 193 | # Set PRINTIP="yes" to have the script print |
|---|
| | 194 | # the DHCP assigned IP address |
|---|
| | 195 | PRINTIP="no" |
|---|
| | 196 | |
|---|
| | 197 | # Set PRINTALL="yes" to print the DHCP assigned values for |
|---|
| | 198 | # IP, SM, DG, and 1st NS. This requires PRINTIP="yes". |
|---|
| | 199 | PRINTALL="no" |
|---|
| | 200 | EOF |
|---|
| | 201 | |
|---|
| | 202 | |
|---|
| | 203 | |
|---|
| | 204 | |
|---|
| | 205 | |
|---|
| | 206 | |
|---|
| | 207 | 3) The wpa_supplicant.conf (The network keys description) |
|---|
| 206 | | According to your driver manual, you should have a specific device name for your |
|---|
| 207 | | interface, it could be eth[X],wlan[X],ath[X],... (where [X] is a number) |
|---|
| 208 | | |
|---|
| 209 | | Following the LFS Book, you need to create a directory in the network directory |
|---|
| 210 | | where will be placed the wpa-service-conf, here is an example: create the |
|---|
| 211 | | directory /etc/sysconfig/network-devices/ifconfig.wlan[X] : |
|---|
| 212 | | |
|---|
| 213 | | install -d /etc/sysconfig/network-devices/ifconfig.wlan[X] |
|---|
| 214 | | |
|---|
| 215 | | copy the sample config file wpa-service-conf to the upper created directory: |
|---|
| 216 | | |
|---|
| 217 | | cp wpa-service-conf /etc/sysconfig/network-devices/ifconfig.wlan[X] |
|---|
| 218 | | |
|---|
| 219 | | Edit this file to fit with your driver and IP service with the services names |
|---|
| 220 | | proposed in section 2) |
|---|
| 221 | | |
|---|
| 222 | | 4.3.b) The wpa_supplicant.conf (The network description) |
|---|
| 223 | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 224 | | |
|---|
| 225 | | a) Limitations |
|---|
| 226 | | ~~~~~~~~~~~~~~ |
|---|
| 227 | | |
|---|
| 228 | | The wpa_supplicant README and wiki explain the composition of this file. But |
|---|
| 229 | | wpa-service have some limitation due to strings substitution. Indeed password or |
|---|
| 230 | | protocol list can comport space characters, which may be altered by the service |
|---|
| 231 | | script if not correctly quoted and then mess up the wpa_cli front-end. I did'nt |
|---|
| 232 | | yet found a script solution but if you take care to correctly quote strings |
|---|
| 233 | | containing space characters you won't have any trouble. |
|---|
| 234 | | |
|---|
| 235 | | b) Specific quoting |
|---|
| 236 | | ~~~~~~~~~~~~~~~~~~~ |
|---|
| 237 | | A space string MUST be quoted like that: |
|---|
| 238 | | '"This is a string containing some space characters"' |
|---|
| 239 | | |
|---|
| 240 | | c) File syntax |
|---|
| 241 | | ~~~~~~~~~~~~~~ |
|---|
| 242 | | |
|---|
| | 210 | The wpa_supplicant README and wiki explain the composition of this file. |
|---|
| | 211 | |
|---|
| | 212 | 3.a) File syntax |
|---|
| | 213 | ~~~~~~~~~~~~~~~~ |
|---|