Constify GDBus method tables
[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         - GnuTLS library
43         - IP-Tables library
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         --enable-polkit
133
134                 Enable support for PolicyKit authorization
135
136                 This allows to check every D-Bus access against a security
137                 policy and so restrict access to certain functionality.
138
139         --enable-nmcompat
140
141                 Enable support for NetworkManager compatibility interfaces
142
143                 This allows to expose a minimal set of NetworkManager
144                 interfaces. It is useful for systems with applications
145                 written to use NetworkManager to detect online/offline
146                 status and have not yet been converted to use ConnMan.
147
148
149 wpa_supplicant configuration
150 ============================
151
152 In order to get wpa_supplicant and Connection Manager working properly
153 together you should edit wpa_supplicant .config file and set:
154
155 CONFIG_WPS=y
156 CONFIG_AP=y
157 CONFIG_CTRL_IFACE_DBUS_NEW=y
158
159 and, add:
160
161 CONFIG_BGSCAN_SIMPLE=y
162
163 This last option will enable the support of background scanning while being
164 connected, which is necessary when roaming on wifi.
165
166 It is recommended to use wpa_supplicant 0.8.x or 1.x or later.
167
168
169 VPN
170 ===
171
172 In order to compile pptp and l2tp VPN plugins, you need ppp development
173 package.
174
175 To run l2tp you will need
176         - xl2tpd, http://www.xelerance.com/services/software/xl2tpd
177
178 To run pptp you will need
179         - pptp client, http://pptpclient.sourceforge.net
180
181 Both l2tp and pptp also need pppd.
182
183
184 OpenVPN
185 =======
186
187 Up to version 2.2 of OpenVPN, pushing additional routes from the
188 server will not always work. Some of the symptons are that additional
189 routes will not be set by ConnMan if the uplink is a cellular
190 network. While the same setup works well for a WiFi or ethernet
191 uplink.