a11c8d1325009664fb5b42c66d7dede356f3ef9c
[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 depedency. 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 dependecy. It is not needed to
105                 build ConnMan.
106
107         --disable-pacrunner
108
109                 Disable support for PACrunner proxy handling
110
111                 By default PACrunner support is built-in and enabled. This
112                 option can be used to build a small daemon for a specific
113                 system where PACrunner is not used.
114
115                 It is safe to build a daemon with PACrunner support and no
116                 pacrunner daemon. It will detect and start a PACrunner
117                 process if needed at runtime. The presence is not needed
118                 to build ConnMan.
119
120         --disable-loopback
121
122                 Disable setup of loopback device
123
124                 For distributions with a really minimal init system and no
125                 networking scripts this can take care of setting up the
126                 loopback device and enabling it.
127
128                 It is safe to leave this selected even if networking
129                 scripts are in place. It detects an already configured
130                 loopback device and leaves it as it is.
131
132         --disable-wispr
133
134                 Disable support for WISPr hotspot logins
135
136                 For systems with really minimal memory requirements, this
137                 will disable the support for WISPr hotspot logins. The code
138                 for WISPr will be still compiled into the daemon, but its
139                 requirement on GnuTLS for secure connections will be lifted.
140
141                 The missing GnuTLS support shrinks the memory requirements
142                 by about 30% and for systems that are more stationary and do
143                 not log into hotspots this might be a better trade off.
144
145                 Disabling WISPr support is not disabling the portal detection
146                 support. A portal will still be detected, but instead of being
147                 asked for login credentials, the request for a browser session
148                 will be made through the agent.
149
150         --enable-polkit
151
152                 Enable support for PolicyKit authorization
153
154                 This allows to check every D-Bus access against a security
155                 policy and so restrict access to certain functionality.
156
157         --enable-nmcompat
158
159                 Enable support for NetworkManager compatibility interfaces
160
161                 This allows to expose a minimal set of NetworkManager
162                 interfaces. It is useful for systems with applications
163                 written to use NetworkManager to detect online/offline
164                 status and have not yet been converted to use ConnMan.
165
166
167 wpa_supplicant configuration
168 ============================
169
170 In order to get wpa_supplicant and Connection Manager working properly
171 together you should edit wpa_supplicant .config file and set:
172
173 CONFIG_WPS=y
174 CONFIG_AP=y
175 CONFIG_CTRL_IFACE_DBUS_NEW=y
176
177 and, add:
178
179 CONFIG_BGSCAN_SIMPLE=y
180
181 This last option will enable the support of background scanning while being
182 connected, which is necessary when roaming on wifi.
183
184 It is recommended to use wpa_supplicant 0.8.x or 1.x or later.
185
186
187 VPN
188 ===
189
190 In order to compile pptp and l2tp VPN plugins, you need ppp development
191 package.
192
193 To run l2tp you will need
194         - xl2tpd, http://www.xelerance.com/services/software/xl2tpd
195
196 To run pptp you will need
197         - pptp client, http://pptpclient.sourceforge.net
198
199 Both l2tp and pptp also need pppd.
200
201
202 OpenVPN
203 =======
204
205 Up to version 2.2 of OpenVPN, pushing additional routes from the
206 server will not always work. Some of the symptons are that additional
207 routes will not be set by ConnMan if the uplink is a cellular
208 network. While the same setup works well for a WiFi or ethernet
209 uplink.