blob: 4c79bf421181c90ea390ed5c35068063fe82adbc [file] [log] [blame]
Paul Stewarta4e618b2012-04-25 16:21:22 -07001Service hierarchy
2=================
3
4Service org.chromium.flimflam
5Interface org.chromium.flimflam.Service
6Object path [variable prefix]/{service0,service1,...}
7
8Methods dict GetProperties()
9
10 Return the properties for the service object. See
11 the Properties section for available properties.
12
13 void SetProperty(string name, variant value)
14
15 Change the value of the specified property. Only
16 properties that are listed as read-write are
17 changeable. On success a PropertyChanged signal
18 will be emitted.
19
20 Possible Errors: [service].Error.InvalidArguments
21 [service].Error.InvalidProperty
22 [service].Error.InvalidService
23 [service].Error.InvalidPassphrase
24
25 void ClearProperty(string name)
26
27 Clear the value of the specified property. Only
28 properties that are listed as read-write are
29 changeable. On success a PropertyChanged signal
30 will be emitted.
31
32 Possible Errors: [service].Error.InvalidArguments
33 [service].Error.InvalidProperty
34
Paul Stewartbcb2c962012-10-31 10:52:10 -070035 array{bool} ClearProperties(array{string} names)
36
37 Clear the value of the specified properties. Calls
38 ClearProperty above on each of the property names
39 and returns an array of boolean values indicating
40 whether each ClearProperty attempt succeeded.
41
Paul Stewarta4e618b2012-04-25 16:21:22 -070042 void Connect()
43
44 Initiate a connection for the specified service.
45
46 For Ethernet devices this method can only be used
47 if it has previously been disconnected. Otherwise
48 the plugging of a cable automatically triggers
49 a connection. If no cable is plugged in this
50 method will fail.
51
52 If the requested service is already connected
53 then this request is ignored and AlreadyConnected
54 is returned.
55
56 If the requested service is in the process of
57 connecting then this request is ignored and
58 InProgress is returned.
59
60 If another service of the same type is connected or
61 connecting then it is terminated before this request
62 is handled.
63
Wade Guthrie005bd342012-05-02 09:37:07 -070064 If the requested service cannot, for reasons not
65 described above, be connected, OperationFailed is
66 returned.
67
Paul Stewarta4e618b2012-04-25 16:21:22 -070068 Possible Errors: [service].Error.AlreadyConnected
69 [service].Error.InProgress
70 [service].Error.OperationAborted
71 [service].Error.InvalidService
Wade Guthrie005bd342012-05-02 09:37:07 -070072 [service].Error.OperationFailed
Paul Stewarta4e618b2012-04-25 16:21:22 -070073
74 void Disconnect()
75
76 Disconnect a service. If the service is not
77 connected or in the process of connecting an
78 error message will be generated.
79
80 For Ethernet devices this will remove all
81 Layer 3 state and mark the associated network
82 interface down. If no cable is plugged in this
83 request will fail.
84
85 This method can also be used to abort a previous
86 connection attempt via the Connect method.
87
88 Possible Errors: [service].Error.InvalidArguments
89
90 void Remove()
91
92 Disconnect and remove all recorded state of a
93 service. The service must have previously had
94 a success connection so that the Favorite property
95 is marked "true".
96
97 This method is not permitted for Ethernet devices;
98 it will generate a NotSupported error response.
99
100 Possible Errors: [service].Error.InvalidArguments
101 [service].Error.NotSupported
102
103 [Silently ignored in shill so far]
104
105 void MoveBefore(object service)
106
107 Silently ignored in shill. Do not use.
108
109 void MoveAfter(object service)
110
111 Silently ignored in shill. Do not use.
112
113 void ActivateCellularModem(string carrier)
114
115 Activate a cellular modem on the provided carrier.
116
117 This method returns immediately. The caller
118 can either poll the Cellular.ActivationState
119 property, or monitor the PropertyChanged
120 signal to know when and if the
121 ActivateCellularModem call succeeded.
122
123 The correct carrier specific modem firmware
124 must already be loaded before this method is
125 called.
126
127 If this method is called for a non-cellular
128 service or on a service associated with a
129 non-CDMA device, it will return a NotSupported
130 error.
131
132 If the device is already activated nothing is returned.
133 but if the device needs to be activated an InProgress
134 error is returned.
135
136 Expected Result: [service].Error.InProgress
137 Possible Errors: [service].Error.NotSupported
138
139Signals PropertyChanged(string name, variant value)
140
141 This signal indicates a changed value of the given
142 property.
143
144
145Properties boolean AutoConnect [readwrite]
146
147 If set to true, this service will auto-connect
148 when no other connection is available. If multiple
149 services are marked for auto-connect then the highest
150 priority available service will be selected.
151
152 For favorite services it is possible to change
153 this value to prevent or permit automatic
154 connection attempts. For non-favorite services, setting
155 AutoConnect to TRUE causes favorite to be set to TRUE.
156
Ben Chan3d6de0e2012-12-10 12:01:34 -0800157 boolean Cellular.ActivateOverNonCellularNetwork [readonly]
158
159 (Cellular only) If set to true, this service must be
160 activated over a non-cellular network instead of the
161 same cellular network.
162
Paul Stewarta4e618b2012-04-25 16:21:22 -0700163 string Cellular.ActivationState [readonly]
164
165 (Cellular only) The activate state of the device
166 on the cellular network. Possible values for
167 activate_state are:
168 "not-activated"
169 "activating"
170 "partially-activated"
171 "activated"
172
173 A CDMA device can be activated by calling the
174 Activate method.
175
176 This property is relevant only for services
177 associated with a CDMA cellular device.
178
179 dict Cellular.ServingOperator [readonly] [GSM only]
180 (Cellular only) Description of the operator on whose
181 network the modem is currently registered, if any.
182 The dictionary may contain the following string-valued
183 properties:
184
185 "name" The operator name
186 "country" The two-letter country code.
187 "network_id" The MCC (Mobile Country Code)
188 and MNC (Mobile Network Code) of the
189 operator on whose network the device is
190 registered. The value of the property is
191 the simple concatenation of the MCC and
192 the MNC, with no separator. The first
193 three digits are always the MCC, and
194 the following two or three digits are the
195 MNC.
196
197 string Cellular.NetworkTechnology [readonly]
198
199 (Cellular only) If the modem is registered on a
200 network, then this property gives the data bearer
201 technology currently in use. The following
202 table lists the values this property may have,
203 along with a rough indication of the "generation"
204 to which the technology is considered to belong.
205
206 Value Generation
207 -----------------------------
208 "1xRTT" (CDMA) 2.5G
209 "EVDO" (CDMA) 3G to 3.5G
210 "GPRS" 2.5G
211 "EDGE" 2.75G
212 "UMTS" 3G
213 "HSPA" 3.5G
214 "HSPA+" 3.75G
215 "LTE" 3.9G
216 "LTE Advanced" 4G
217
218 string Cellular.RoamingState [readonly]
219
220 (Cellular only) The roaming status of the modem on
221 the current network. Possible values are "home",
222 "roaming", and "unknown".
223
224 string Cellular.Olp [readonly]
225
226 (Cellular only) A dictionary describing the
227 online payment portal (OLP) at which a user
228 can sign up for, or modify, a mobile data
229 plan. The value of this property is a
230 string -> string dictionary, which includes
231 the following keys:
232
233 "url" The URL for the portal
234 "method" The HTTP method to use, "GET" or "POST"
235 "postdata" If the method is POST then this key is
236 present and contains the postdata
237 to send.
238
239 dict Cellular.APN [readwrite] [GSM only]
240
241 (Cellular only) The APN to be used with a GSM
242 carrier for making data connections. The value of
243 this property is a string -> string dictionary,
244 which must include at least the following key:
245
246 "apn" The APN to use for making connections
247
248 There are three optional properties. The first is
249
250 "network_id" The network ID (MCC/MNC pair) of the
251 network for which the APN should be used.
252 If not specified, then the network ID of
253 the currently registered network is used.
254
255 The other two optional properties are "username"
256 and "password", which, if specified, will be supplied
257 to the connect operation on the modem along with the
258 APN.
259
260 When the APN is set using this method, it overrides
261 any APN that may be associated with the specified
262 network ID in the APN database. The APN setting is
263 persistent across reboots.
264
265 A user-specified APN may be cleared by clearing this
266 property.
267
268 The algorithm for connecting to GSM networks is as
269 follows, stopping when a connection is succesfully
270 established:
271 1. Try the last APN that resulted in a successful
272 connection.
273 2. Try the APN that was set from the Cellular.APN
274 property (if any).
275 3. Try the list of APNs for the current provider one
276 at a time. The list comes from the mobile broadband
277 provider information database.
278 4. As a last resort, try connecting without specifying
279 an APN.
280
281 If all these steps fail, then the connect attempt fails.
282 Whenever this property is set to establish a new APN to
283 use, the remembered last-good-APN is cleared. The
284 remembered last-good-APN is persistent across reboots.
285
286 dict Cellular.LastGoodAPN [readonly] [GSM only]
287
288 (Cellular only) The APN information used in the
289 last successful connection attempt. If the last
290 attempt was unsuccesful, this property is unset.
291 The format of this property is the same as for
292 the Cellular.APN property.
293
294 string CheckPortal [readwrite]
295
296 Control captive portal checking. Possible values
297 are "true", "false", and "auto" (default).
298 When set to "auto" captive portal checking is
299 controlled by Manager.CheckPortalList (which
300 is a per-technology mask/list of which services
301 should do captive portal checking).
302
303 boolean Connectable [readonly]
304
305 Indicates whether a service is prepared for use
306 as an argument to the Connect method. A service
307 will not be marked Connectable if, for example,
308 it is missing necessary security credentials.
309 Clients may use this property to not disable
310 services or to mark them in some way to indicate
311 they are present but not usable.
312
313 object Device [readonly]
314
315 The object path of the associated device.
316 This value may be used to retrieve and manipulate
317 Layer 3 configuration state.
318
Darin Petkov0c65bdd2012-12-05 13:42:41 +0100319 array{string} Diagnostics.Disconnects [readonly]
320
321 History (wall-clock timestamps) of connection drops.
322
323 array{string} Diagnostics.Misconnects [readonly]
324
325 History (wall-clock timestamps) of failed connection
326 attempts.
327
Paul Stewarta4e618b2012-04-25 16:21:22 -0700328 string EAP.Identity [readwrite]
329
330 The client identity string used in setting up
331 services of type "802_1x".
332
333 This property is included in get requests only
334 when the requester has sufficient privileges.
335
336 string EAP.EAP [readwrite]
337
338 The EAP methods that will be accepted when setting
339 up services of type "802_1x".
340
341 This property is included in get requests only
342 when the requester has sufficient privileges.
343
344 string EAP.InnerEAP [readwrite]
345
346 The authentication methods that will be on the
347 inside of a PEAP or EAP-TTLS tunnel.
348
349 This property is included in get requests only
350 when the requester has sufficient privileges.
351
352 string EAP.AnonymousIdentity [readwrite]
353
354 The client identity string that will be used
355 for the outer EAP authentication for tunneled
356 methods such as PEAP and EAP-TTLS.
357
358 This property is included in get requests only
359 when the requester has sufficient privileges.
360
361 string EAP.ClientCert [readwrite]
362
363 The pathname to a file containing the client
364 certificate for setting up services of type
365 "802_1x". The certificate file must be in
366 PEM format.
367
368 This property is included in get requests only
369 when the requester has sufficient privileges.
370
371 string EAP.CertID [readwrite]
372
373 The PKCS#11 identifier of the client certificate
374 to use when setting up services of type "802_1x".
375
376 This property is included in get requests only
377 when the requester has sufficient privileges.
378
379 string EAP.PrivateKey [readwrite]
380
381 The pathname of a file containing the private
382 key for setting up services of type "802_1x".
383 The private key file must be in PEM format.
384
385 This property is included in get requests only
386 when the requester has sufficient privileges.
387
388 string EAP.PrivateKeyPassword [readwrite]
389
390 The password to decrypt a private key given
391 in EAP.PrivateKey.
392
393 This property is included in get requests only
394 when the requester has sufficient privileges.
395
396 string EAP.KeyID [readwrite]
397
398 The PKCS#11 identifier of the private key to
399 use when setting up services of type "802_1x".
400
401 This property is included in get requests only
402 when the requester has sufficient privileges.
403
404 string EAP.CACert [readwrite]
405
406 The pathname of a file containing the Certificate
407 Authority's certificate for validating server
408 certificates during the 802.1x authentication
409 process.
410
411 This property is included in get requests only
412 when the requester has sufficient privileges.
413
414 string EAP.CACertID [readwrite]
415
416 The PKCS#11 ID of the EAP.CACert file for
417 validating server certificate recieved during
418 the 802.1x authentication process.
419
420 This property is included in get requests only
421 when the requester has sufficient privileges.
422
423 boolean EAP.UseSystemCAs [readwrite]
424
425 Control whether EAP operations are
426 configured to use the system's installed set
427 of certificate authorities when validating
428 server certificates. Note that if UseSystemCAs
429 is false and no CA is specified with EAP.CACert
430 or EAP.CaCertID - that is, no CAs are configured
431 at all - server certificates will not have their
432 signatures checked. Defaults to true.
433
434 This property is included in get requests only
435 when the requester has sufficient privileges.
436
437 string EAP.PIN [readwrite]
438
439 The PIN used to authenticate to the PKCS#11 device
440 to retrieve a client certificate, private key,
441 or certificate authority certificate.
442
443 This property is included in get requests only
444 when the requester has sufficient privileges.
445
446 string EAP.Password [readwrite]
447
448 The password to use in 802.1x authentication.
449
450 This property is included in get requests only
451 when the requester has sufficient privileges.
452
453 string EAP.KeyMgmt [readwrite]
454
455 (WiFi only) The key management algorithm to be
456 used in 802.1x authentication. If this property
457 is not set then "WPA-EAP" is used for the key
458 management algorithm.
459
460 This property is included in get requests only
461 when the requester has sufficient privileges.
462
Paul Stewartbc6e7392012-05-24 07:07:48 -0700463 array{string} EAP.RemoteCertification [readonly]
464
465 (WiFi only) The list of certificate subject names
466 reported by the remote RADIUS server. This
467 property is set during 802.1x negotiation and
468 persists after disconnection for later inspection,
469 but is not persisted between connection manager
470 restarts. It is also cleared at the beginning of
471 the next connection.
472
473 string EAP.SubjectMatch [readwrite]
474
475 (WiFi only) A substring which the remote
476 RADIUS server certificate subject name must
477 contain. If the subject does not contain this
478 substring, abort 802.1x negotiation.
479
Paul Stewarta4e618b2012-04-25 16:21:22 -0700480 string Error [readonly]
481
482 The service error status details.
483
484 When error occur during connection or disconnection
485 the detailed information are represented in this
486 property to help the user interface to present the
487 user with alternate options.
488
489 This property is only valid when the service is in
490 the "failure" or "activation-failure" states. Otherwise
491 it might be empty or not present at all.
492
493 Current defined error code is "dhcp-failed".
494
495 boolean Favorite [readonly]
496
497 Will be true if a cable is plugged in or the user
498 selected and successfully connected to this service.
499
500 This value is automatically changed and to revert
501 it back to false the Remove() method needs to be
502 used.
503
504 string GUID [readwrite]
505
506 The Globally Unique IDentifier for the service.
507 This value may be set by a client and is
508 intended for cross-referencing Service objects
509 to externally-maintained data.
510
511 object IPConfig [readonly]
512
513 The object path of the associated IP configuration.
514 This value only exists when the service is connected,
515 and is used used to retrieve Layer 3 configuration
Paul Stewart1e3bc4962012-09-14 12:20:22 -0700516 state. A PropertyChanged signal for this object path
517 is emitted every time the IP address is configured
518 (for example during DHCP renewals), although the
519 actual value may not have changed.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700520
521 boolean IsActive [readonly]
522
523 Will be true if this service has a default route;
524 i.e. network traffic is being sent through it.
525
526 string Mode [readonly]
527
528 If the service type is "wifi", then this property is
529 present and contains the mode of the network. The
530 possible values are "managed" or "adhoc".
531
532 This property is present only for WiFi services.
533
534 string Name [readonly]
535
536 The service name (for example "Wireless" etc.)
537
538 This name can be used for directly displaying it in
539 the application. It has pure informational purpose.
540
541 For Ethernet devices and hidden WiFi networks it is
542 not guaranteed that this property is present. For
543 visible WiFi networks, this may contain the SSID.
544
545 See also the WiFi.HexSSID property.
546
547 string Passphrase [readwrite]
548
549 If the service type is "wifi", then this property
550 holds a passphrase used in setting up services of
551 type "wep", "wpa", "rsn", "psk", or a private
552 key password used in setting up services of
553 type "802_1x".
554
555 For "wep" services, this must contain the WEP
556 key and, optionally, a key index. Only 40-bit
557 and 104-bit WEP keys are supported. The WEP
558 key can be formatted either as an ASCII string
559 (5 or 13 characters), or as ASCII hex digits
560 (10 or 26). When using ASCII hex digits, the
561 key may optionally be preceded by "0x" or "0X".
562 To specify an optional WEP key index, prepend
563 the key with "0:", "1:", "2:" or "3:". If no
564 index is specified, 0 is used.
565
566 By default this property is not included in get
567 requests. It may be present if a non-default
568 security policy is configured and the client has
569 "read secret" privileges.
570
571 Note that no PropertyChanged signals are sent for
572 this property. The PassphraseRequired property
573 should be monitored instead.
574
575 boolean PassphraseRequired [readonly]
576
577 If the service type is "wifi", then this property
578 indicates if a passphrase or key (for WEP) is required.
579
580 If a passphrase has been set already or if no
581 passphrase is needed, then this property will
582 be set to false.
583
584 UI clients may monitor this property for a
585 PropertyChanged signals to prompt for a required
586 passphrase or key.
587
588 [We will be supporting this soon for VPN]
589
590 int32 Priority [readwrite]
591
592 An optional value used to calculate the priority order
593 of this service. Priorities are between 1 to 100.
594 Services with priorities are sorted ahead of services
595 without. Services with the same priority are ordered
596 by other means such as service type and signal
597 strength.
598
599 By default services are not assigned a priority;
600 clients must set one if they desire. To remove an
601 existing priority use the ClearProperty method.
602
603 object Profile [readwrite]
604
605 The object path of the associated Profile object.
606 This may not be present if the Service object
607 has not been written to a profile yet.
608
609 string ProxyConfig [readwrite]
610
611 An externalized json dictionary describing the proxy
612 configuration that can be stored on the service, and
613 modified by a user.
614 Flimflam does not use this information for anything,
615 but it is left available to the caller, and stored
616 persistently.
617 This property may be set by any client and will be
618 adopted by chrome during run-time. If syntax of the
619 value is wrong, chrome will ignore this property during
620 runtime.
621 The value of this property is a string -> string
622 dictionary that includes the following keys. The final
623 string is a comma separated list of key-value pairs
624 enclosed by "{" and "}"; syntax of a key-value pair is:
625 <key>":"<value>. Example:
626 {"mode":"fixed-servers","server":"http=foopy:80"}
627
628 "mode"
629 type of proxy that can be one of:
630 "direct" --
631 direct connection to network, other preferences
632 are ignored
633 "auto_detect" --
634 try to retrieve a PAC script from
635 http://wpad/wpad.dat or fall back to direct
636 connection
637 "pac_script" --
638 try to retrieve PAC script specified for "pac_url"
639 (see below) or fall back to direct connection
640 "fixed_servers" --
641 manual configuration of one or more servers
642 to be used as proxy
643
644 "pac_url"
645 URL for proxy .pac file (meaningful only if mode=
646 pac_script); scheme of URL must be specified
647
648 "pac_mandatory"
649 indciate if a valid PAC script is mandatory
650 (meaningful only if mode=pac_script);
651 value is either true or false (without quotes), e.g.
652 "pac_mandatory":true;
653 if true, network traffic does not fall back to
654 direct connections in case the PAC script is not
655 available
656
657 "server"
658 proxy server for manual configuration (meaningful
659 only if mode=fixed-servers); syntax is
660 [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>];
661 if the proxy to use depends on the scheme of the
662 URL, specify a semicolon separated list of :
663 <url-scheme>"="<proxy-uri>
664 for example:
665 - "http=foopy:80;ftp=foopy2" --
666 use HTTP proxy "foopy:80" for http:// URLs, and
667 HTTP proxy "foopy2:80" for ftp:// URLS
668 - "foopy:80" -- use HTTP proxy "foopy:80" for all
669 URLs
670 - "socks4://foopy" --
671 use SOCKS v4 proxy "foopy:80" for all URLs
672
673 "bypass_list"
674 proxy bypass rules for manual configuration
675 (meaningful only if mode=fixed-servers); format
676 can be any one of the following:
677 1) [<url_scheme>"://"]<hostname_pattern>[":"<port>]
678 Match all hostnames that match the pattern
679 hostname_pattern which can be a substring of the
680 hostname with asterisks.
681 Examples: "foobar.com", "*foobar.com",
682 "*.foobar.com", "*foobar.com:99",
683 "https://x.*.y.com:99"
684 2) "."<hostname_suffix_pattern>[":"<port>]
685 Match a particular domain suffix.
686 Examples: ".google.com", ".com",
687 "http://.google.com"
688 3) [<scheme>"://"]<ip_literal>[":"<port>]
689 Match URLs that are IP address literals.
690 Conceptually this is the similar to (1), but with
691 special cases to handle IP literal
692 canonicalization. For example matching on
693 "[0:0:0::1]" would be the same as matching on
694 "[::1]" since the IPv6 canonicalization is done
695 internally.
696 Examples: "127.0.1", "[0:0::1]", "[::1]",
697 "http://[::1]:99"
698 4) <ip_literal>"/"<prefix_length_in_bits>
699 Match any URL that is to an IP literal that falls
700 in the given range. IP range is specified using
701 CIDR notation.
702 Examples: "192.168.1.1/16", "fefe:13::abc/33".
703 5) "<local>"
704 Match local addresses; this is a literal string.
705 "<local>" matches one of: "127.0.0.1", "::1",
706 "localhost".
707
708 dict Provider [readonly]
709
710 (VPN only) Provider data. A provider is a service
711 that piggy-backs on top of a transport service.
712 This is presently used by VPN services.
713
714 string Domain [readonly]
715 VPN domain name.
716 string Host [readonly]
717 VPN host IP address.
718 string Name [readonly]
719 VPN provider name.
720 string Type [readonly]
721 VPN provider type (e.g. openvpn).
722
723 boolean SaveCredentials [readwrite]
724
725 This property indicates if security credentials
726 should be reused and/or written to stable storage.
727 Setting this property to FALSE ensures nothing is
728 recorded and the client must supply credentials
729 for each Connect request.
730
731 The following credentials are not recorded when
732 this property is set to FALSE:
733
734 Passphrase
735 EAP.Identity
736 EAP.AnonymousIdentity
737 EAP.ClientCert
738 EAP.CertID
739 EAP.PrivateKey
740 EAP.PrivateKeyPassword
741 EAP.KeyID
742 EAP.PIN
743 EAP.Password
744
745 Note that no PropertyChanged signals are sent for
746 this property.
747
748 string Security [readonly]
749
750 If the service type is "wifi", then this property is
751 present and contains the security method or key
752 management setting.
753
754 Possible values are: "none" (no privacy),
755 "wep" (fixed key WEP), "wpa" (WPA-PSK), "rsn"
756 (IEEE 802.11i-PSK), "psk" (either "wpa" or "rsn"),
757 and "802_1x" (IEEE 802.11i with 802.1x authentication).
758
759 This property is only present for WiFi services.
760
761 string State [readonly]
762
763 The state of the service; one of:
764
765 "idle" The service is not enabled or otherwise
766 operational.
767
768 "carrier" The associated device is powered on and
769 ready for Layer 2 operation; e.g. a
770 wired Ethernet device that is powered
771 up and connected to a switch.
772
773 "association" Intermediate states associated with
774 "disconnect" connection-based devices such as WiFi
775 and Cellular. These are exposed for
776 UI applications to provide more
777 fine-grained status.
778
779 "configuration" Layer 2 is setup but Layer 3 setup
780 has yet to completed.
781
782 "ready" Layer 3 setup is complete; ready to
783 transit and receive data.
784
785 "portal" Layer 3 setup is complete but
786 connectivity to the Internet may be
787 limited or unavailable.
788
789 "online" Layer 3 setup is complete and an
790 Internet connection has been checked
791 to support HTTP access to the
792 Manager.PortalURL site.
793
794 "failure" An error occurred while trying to
795 reach the "ready" state. Consult the
796 Error propery for details.
797
798 "activation-failure"
799 An error occurred while trying to
800 activate a cellular modem. Consult the
801 Error property for details.
802
Paul Stewart1291e082012-04-30 20:08:05 -0700803 string StaticIP.Address [readwrite]
804 string StaticIP.Gateway [readwrite]
805 int32 StaticIP.Mtu [readwrite]
806 string StaticIP.NameServers [readwrite]
807 string StaticIP.PeerAddress [readwrite]
808 int32 StaticIP.Prefixlen [readwrite]
809
810 The properties above can be set on a service to
811 selectively override individual parameters received
812 over DHCP or whatever default IP aquisition technique
813 is used by the service. The "StaticIP.NameServers"
814 property should be a comma-separated list of IP
815 addresses.
816
817 Additionally, in services that use DHCP, if the
818 "StaticIP.Address" and "StaticIP.Prefixlen"
819 parameters are both set on a service, the service
820 will be configured as soon as a link is established,
821 in order to allow full static IP configuration. A
822 DHCP client will be launched in parallel, which, if
823 successful, will provide values for any parameters
824 that were not set statically.
825
826 The IPConfig associated with the service (object
827 path supplied in the "IPConfig" property above)
828 will display the result of the merged network
829 parameters.
830
Paul Stewartdef189e2012-08-02 20:12:09 -0700831 string SavedIP.Address [readonly]
832 string SavedIP.Gateway [readonly]
833 int32 SavedIP.Mtu [readonly]
834 string SavedIP.NameServers [readonly]
835 string SavedIP.PeerAddress [readonly]
836 int32 SavedIP.Prefixlen [readonly]
837
838 The properties above are set on a service to present
839 the configuration that was recieved from the DHCP
840 server prior to applying any "StaticIP.*" parameters
841 during the most recent connection attempt. All
842 parameters are saved regardless of whether they were
843 overridden.
844
845 Note that if a "StaticIP.*" parameter is set on
846 a service, but the service has not been re-connected,
847 the IPConfig object will still contain the true
848 value that the interface is set to.
849
Paul Stewarta4e618b2012-04-25 16:21:22 -0700850 uint8 Strength [readonly]
851
852 Indicates the signal strength of the service. This
853 is a normalized value between 0 and 100.
854
855 This property will not be present for Ethernet
856 devices.
857
858 string Type [readonly]
859
860 The service type; one of:
861 "ethernet" (802.3 wired Ethernet),
862 "wifi" (IEEE 802.11),
863 "wimax" (IEEE 802.16),
864 "bluetooth" (Bluetooth PAN),
865 "cellular" (3G Cellular), or
866 "vpn" (Virtual Private Network).
867
868 This information should only be used to determine
869 advanced properties or showing the correct icon
870 to the user.
871
872 string UIData [readwrite]
873
874 This is additional data available about this service
875 for use by the user interface. This value is opaque
876 and not used by shill.
877
878 string WiFi.AuthMode [readonly]
879
880 (WiFi only) If the service state is
881 "configuration" or "ready", then this property
882 will be present and contains the negotiated
883 authentication method.
884
885 There are too many possible values to enumerate here.
886 The complete set depends on the capabilities of the
887 associated WiFi supplicant.
888
889 string WiFi.BSSID [readonly]
890
891 (WiFi only) The BSSID of the associated AP.
892 One can monitor this property for PropertyChanged
893 signals to identify when roaming changes the
894 current AP.
895
Paul Stewart0cab5682012-09-13 18:50:34 -0700896 boolean WiFi.HiddenSSID [readwrite]
Paul Stewarta4e618b2012-04-25 16:21:22 -0700897
898 (WiFi only) If true, the associated WiFi network
899 does not broadcast it's SSID in beacon frames.
Paul Stewart0cab5682012-09-13 18:50:34 -0700900 This property instructs shill to actively scan
901 for this SSID. This value is cleared when this
902 service is removed from all active profiles.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700903
904 uint16 WiFi.Frequency [readonly]
905
906 (WiFi only) The operating frequency in MHz of
907 the network.
908
909 string WiFi.PhyMode [readonly]
910
911 (WiFi only) If the service state is
912 "configuration" or "ready", then this property
913 will be present and contains the negotiated
914 operating mode for the channel. Possible values
915 include "802.11a", "802.11b", "802.11g",
916 "802.11n". This value is for informational
917 purposes only.
918
919 string WiFi.HexSSID [readonly]
920
921 (WiFi only) If the service's SSID contains
922 unprintable characters then this property is
923 present and holds a hex-encoded copy of the SSID.
924
925 See also the Name property. (Note that there is
926 no SSID property.)
927
928 string WiFi.SSID [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -0800929
Paul Stewarta4e618b2012-04-25 16:21:22 -0700930 (WiFi only) The service's SSID. Must have a non-zero
931 length less than or equal to 32.
Paul Stewart72b2fdc2012-06-02 08:58:51 -0700932
Paul Stewarta5e7d5f2013-01-09 18:06:15 -0800933 bool WiFi.ProtectedManagementFrameRequired [readonly]
934
935 (WiFi only) This property indicates whether an AP for
936 this service has been seen that requires 802.11w
937 (Protected Management Frame) support.
938
Paul Stewart72b2fdc2012-06-02 08:58:51 -0700939 dict WiFi.VendorInformation [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -0800940
Paul Stewart72b2fdc2012-06-02 08:58:51 -0700941 (WiFi only) Information about the vendor of the
942 AP, gleaned from WPS and vendor-specific information
943 elements in the beacon and probe respondss.
944
945 string Manufacturer [readonly]
946 Device manufacturer name as supplied by WPS IE.
947 string ModelName [readonly]
948 Device model name as supplied by WPS IE.
949 string ModelNumber [readonly]
950 Device model number as supplied by WPS IE.
951 string DeviceName [readonly]
952 Device name as supplied by WPS IE.
953 string OUIList [readonly]
954 Space separated list of OUI identifiers for
955 vendor-specific IEs that were neither the
956 Microsoft nor Epigram identifiers (the former
957 two are used for platform-neutral information).