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