1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
EIWD [0]
________________________________________________________________________________
eiwd is iNet Wireless Daemon (iwd) without dbus. iNet Wireless Daemon aims to
replace @/wpa_supplicant while providing the following benefits:
* Simplification of network management.
* Faster network discovery.
* Fast and reliable roaming.
* Use less system resources.
* Use features offered by the linux kernel.
* Support for enterprise security methods like EAP.
* Support for kernel asymetric key rings and trusted platform modules (TPM).
* Support for multiple clients.
Configuration
________________________________________________________________________________
Ensure that you have the following dependencies installed:
+------------------------------------------------------------------------------+
| |
| $ kiss b eiwd && kiss i eiwd |
| $ kiss b openresolv && kiss i openresolv |
| |
+------------------------------------------------------------------------------+
Create a new daemon configuration file:
+------------------------------------------------------------------------------+
| |
| $ mkdir -p /etc/iwd |
| $ touch /etc/iwd/main.conf |
| |
+------------------------------------------------------------------------------+
Using a preferred text editor, add the following lines to the main.conf file
generated above:
+------------------------------------------------------------------------------+
| |
| [General] |
| EnableNetworkConfiguration=true |
| |
| [Network] |
| RoutePriorityOffset=200 |
| NameResolvingService=resolvconf |
| |
+------------------------------------------------------------------------------+
Adding A Wireless Network
________________________________________________________________________________
eiwd ships with a iwd_passphrase, which can be used for generating iwd network
files:
+------------------------------------------------------------------------------+
| |
| $ printf PASSWORD | iwd_passphrase BSSID |
| |
+------------------------------------------------------------------------------+
Remember to replace BSSID and PASSWORD with your respective network credentials.
Using a preferred text editor, copy the output of the command above to the
following location: /var/lib/iwd/BSSID.psk
Managed via runsv
________________________________________________________________________________
Busybox's runsv can be used to create a new managed service with the following
command:
+------------------------------------------------------------------------------+
| |
| $ ln -s /etc/sv/eiwd/ /var/service |
| |
+------------------------------------------------------------------------------+
To start the new managed service, use the following command:
+------------------------------------------------------------------------------+
| |
| $ sv up eiwd |
| |
+------------------------------------------------------------------------------+
Tips and Tricks
________________________________________________________________________________
* To prevent iwd from continuous scanning while not connected, add the following
to your main.conf file:
+----------------------------------------------------------------------------+
| |
| [Scan] |
| DisablePeriodicScan=true |
| |
+----------------------------------------------------------------------------+
* To prevent iwd from destroying / recreating wireless interfaces at startup,
add the following to your main.conf file:
+----------------------------------------------------------------------------+
| |
| [General] |
| UseDefaultInterface=true |
| |
+----------------------------------------------------------------------------+
* If iwd fails to start, check to make that you have the required kernel
options:
CONFIG_CRYPTO_USER_API_HASH
CONFIG_CRYPTO_USER_API_SKCIPHER
CONFIG_KEY_DH_OPERATIONS
CONFIG_CRYPTO_ECB
CONFIG_CRYPTO_MD5
CONFIG_CRYPTO_CBC
CONFIG_CRYPTO_SHA256
CONFIG_CRYPTO_AES
CONFIG_CRYPTO_DES
CONFIG_CRYPTO_CMAC
CONFIG_CRYPTO_HMAC
CONFIG_CRYPTO_SHA512
CONFIG_CRYPTO_ARC4
CONFIG_CRYPTO_SHA1
References
________________________________________________________________________________
[0] https://github.com/dylanaraps/eiwd
[1] https://wiki.gentoo.org/wiki/Iwd
[2] https://manpages.debian.org/testing/iwd/iwd.config.5.en.html
|