technology: return already enabled when tethering is enabled
[framework/connectivity/connman.git] / README
1 Connection Manager
2 ******************
3
4 Copyright (C) 2007-2012  Intel Corporation. All rights reserved.
5
6
7 Functionality and features
8 ==========================
9
10 The following features are built-in into Connection Manager:
11         - Generic plugin infrastructure
12         - Device and network abstraction (with basic storage support)
13         - IPv4, IPv4-LL (link-local) and DHCP
14         - IPv6, DHCPv6 and 6to4 tunnels
15         - Advanced routing and DNS configuration
16         - Built-in DNS proxy and intelligent caching
17         - Built-in WISPr hotspot logins and portal detection
18         - Time and timezone configuration (manual and automatic with NTP)
19         - Proxy handling (manual and automatic with WPAD)
20         - Tethering support (USB, Bluetooth and WiFi AP mode)
21         - Detailed statistics handling (home and roaming)
22
23 Various plugins can be enabled for networking support:
24         - Ethernet plugin
25         - WiFi plugin with WEP40/WEP128 and WPA/WPA2 (personal and enterprise)
26         - Bluetooth plugin (using BlueZ)
27         - 2G/3G/4G plugin (using oFono)
28
29 Also plugins with additional features are available:
30         - Loopback interface setup
31         - PACrunner proxy handling
32         - PolicyKit authorization support
33
34
35 Compilation and installation
36 ============================
37
38 In order to compile Connection Manager you need following software packages:
39         - GCC compiler
40         - GLib library
41         - D-Bus library
42         - IP-Tables library
43         - GnuTLS library (optional)
44         - PolicyKit (optional)
45
46 To configure run:
47         ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
48
49 Configure automatically searches for all required components and packages.
50
51 To compile and install run:
52         make && make install
53
54
55 Configuration and options
56 =========================
57
58 For a working system, certain configuration options need to be enabled:
59
60         --disable-ethernet
61
62                 Disable support for Ethernet network cards
63
64                 By default Ethernet technology support is built-in and
65                 enabled. This option can be used to build a small daemon
66                 for a specific system if Ethernet support is not required.
67
68         --disable-wifi
69
70                 Disable support for WiFi devices
71
72                 By default WiFi technology support is built-in and
73                 enabled. This option can be used to build a small daemon
74                 for a specific system if WiFi support is not required.
75
76                 It is safe to build a daemon with WiFi support and no
77                 running wpa_supplicant. The start of wpa_supplicant is
78                 automatically detected and only a runtime dependency. It
79                 is not needed to build ConnMan.
80
81         --disable-bluetooth
82
83                 Disable support for Bluetooth devices
84
85                 By default Bluetooth technology support is built-in and
86                 enabled. This option can be used to build a small daemon
87                 for a specific system if Bluetooth support is not required.
88
89                 It is safe to build a daemon with Bluetooth support and no
90                 running bluetoothd. The start of bluetoothd is automatically
91                 detected and only a runtime dependency. It is not needed to
92                 build ConnMan.
93
94         --disable-ofono
95
96                 Disable support for cellular 2G/3G/4G devices
97
98                 By default oFono technology support is built-in and
99                 enabled. This option can be used to build a small daemon
100                 for a specific system where oFono is not used.
101
102                 It is safe to build a daemon with oFono support and no
103                 running ofonod. That start of ofonod is automatically
104                 detected and only a runtime dependency. It is not needed to
105                 build ConnMan.
106
107         --disable-dundee
108
109                 Disable support for Bluetooth DUN devices
110
111                 By default Bluetooth DUN technology (dundee) support is
112                 built-in and enabled. This option can be used to build a
113                 small daemon for a specific system where dundee is not used.
114
115                 It is safe to build a daemon with dundee support and no
116                 running dundee. That start of dundee is automatically
117                 detected and only a runtime dependency. It is not needed to
118                 build ConnMan.
119
120         --disable-pacrunner
121
122                 Disable support for PACrunner proxy handling
123
124                 By default PACrunner support is built-in and enabled. This
125                 option can be used to build a small daemon for a specific
126                 system where PACrunner is not used.
127
128                 It is safe to build a daemon with PACrunner support and no
129                 pacrunner daemon. It will detect and start a PACrunner
130                 process if needed at runtime. The presence is not needed
131                 to build ConnMan.
132
133         --disable-loopback
134
135                 Disable setup of loopback device
136
137                 For distributions with a really minimal init system and no
138                 networking scripts this can take care of setting up the
139                 loopback device and enabling it.
140
141                 It is safe to leave this selected even if networking
142                 scripts are in place. It detects an already configured
143                 loopback device and leaves it as it is.
144
145         --disable-wispr
146
147                 Disable support for WISPr hotspot logins
148
149                 For systems with really minimal memory requirements, this
150                 will disable the support for WISPr hotspot logins. The code
151                 for WISPr will be still compiled into the daemon, but its
152                 requirement on GnuTLS for secure connections will be lifted.
153
154                 The missing GnuTLS support shrinks the memory requirements
155                 by about 30% and for systems that are more stationary and do
156                 not log into hotspots this might be a better trade off.
157
158                 Disabling WISPr support is not disabling the portal detection
159                 support. A portal will still be detected, but instead of being
160                 asked for login credentials, the request for a browser session
161                 will be made through the agent.
162
163         --enable-polkit
164
165                 Enable support for PolicyKit authorization
166
167                 This allows to check every D-Bus access against a security
168                 policy and so restrict access to certain functionality.
169
170         --enable-nmcompat
171
172                 Enable support for NetworkManager compatibility interfaces
173
174                 This allows to expose a minimal set of NetworkManager
175                 interfaces. It is useful for systems with applications
176                 written to use NetworkManager to detect online/offline
177                 status and have not yet been converted to use ConnMan.
178
179
180 wpa_supplicant configuration
181 ============================
182
183 In order to get wpa_supplicant and Connection Manager working properly
184 together you should edit wpa_supplicant .config file and set:
185
186 CONFIG_WPS=y
187 CONFIG_AP=y
188 CONFIG_CTRL_IFACE_DBUS_NEW=y
189
190 and, add:
191
192 CONFIG_BGSCAN_SIMPLE=y
193
194 This last option will enable the support of background scanning while being
195 connected, which is necessary when roaming on wifi.
196
197 It is recommended to use wpa_supplicant 0.8.x or 1.x or later.
198
199
200 VPN
201 ===
202
203 In order to compile pptp and l2tp VPN plugins, you need ppp development
204 package.
205
206 To run l2tp you will need
207         - xl2tpd, http://www.xelerance.com/services/software/xl2tpd
208
209 To run pptp you will need
210         - pptp client, http://pptpclient.sourceforge.net
211
212 Both l2tp and pptp also need pppd.
213
214
215 OpenVPN
216 =======
217
218 Up to version 2.2 of OpenVPN, pushing additional routes from the
219 server will not always work. Some of the symptons are that additional
220 routes will not be set by ConnMan if the uplink is a cellular
221 network. While the same setup works well for a WiFi or ethernet
222 uplink.
223
224
225 Information
226 ===========
227
228 Mailing list:
229         connman@connman.net
230
231 For additional information about the project visit ConnMan web site:
232         http://www.connman.net