Trang này trình bày các thuật toán và quy trình được sử dụng trong Android 12 để chọn và chuyển đổi giữa các mạng Wi-Fi. Android liên tục đánh giá chất lượng của mạng được kết nối và đánh giá chất lượng của mạng có sẵn.
Vòng đời của kết nối tự động
Phần này mô tả quy trình cách thiết bị Android đánh giá và kết nối với mạng Wi-Fi có sẵn.
Thiết bị quét tìm các mạng có sẵn theo một trong các cách sau tuỳ thuộc vào việc màn hình đang bật hay tắt.
- Màn hình bật (đã kết nối): Hệ thống con về khả năng kết nối Android thường xuyên đánh giá xem kết nối hiện tại có đủ tốt để bỏ qua quá trình quét (như định nghĩa trong phần quét trên màn hình). Nếu kết nối không đủ tốt để bỏ qua quá trình quét, thì kết nối hệ thống con kích hoạt hoạt động quét để phát hiện các mạng có sẵn. Các quá trình quét này cũng có thể được kích hoạt bởi các thành phần hệ thống khác như hệ thống vị trí hoặc ứng dụng (bao gồm cả ứng dụng Cài đặt).
- Màn hình bật (đã ngắt kết nối): Hệ thống phụ về khả năng kết nối Android sự cố quét định kỳ theo lịch trình thời gian đợi luỹ thừa. Chiến lược phát hành đĩa đơn mô-đun sẽ đánh giá tất cả kết quả quét nhận được và cố gắng chọn kết quả phù hợp nhất mạng để kết nối.
- Màn hình tắt (đã ngắt kết nối): CPU lưu trữ lập trình chương trình cơ sở với một danh sách các mạng ưu tiên dùng giảm tải mạng ưu tiên (PNO) sẽ quét ngay khi màn hình tắt. Chương trình cơ sở sẽ đánh thức máy chủ nếu sẽ tìm thấy bất kỳ mạng ưu tiên nào. AOSP giả định rằng PNO được hỗ trợ trên thiết bị.
Bạn có thể dùng phương thức
WifiManager#allowAutojoinGlobal(boolean)
để vô hiệu hoá kết nối tự động. Đây là API đặc quyền có thể dùng bởi nhà sản xuất thiết bị trong các trường hợp hạn chế (ví dụ: máy chủ không phải thiết bị di động, thiết bị được định cấu hình sẵn).Nếu thiết bị đã kết nối và lớp phủ
config_wifi_framework_enable_associated_network_selection
là được đặt thànhfalse
thì sẽ không quét kết nối và cho kết quả quét kích hoạt lựa chọn mạng. Chế độ cài đặt này không có hiệu lực khi thiết bị bị ngắt kết nối, nghĩa là quét kết nối và chọn mạng vẫn xảy ra.Kết quả quét sẽ được đánh giá.
Nếu thiết bị được kết nối với mạng Wi-Fi, khung này đánh giá xem mạng hiện tại có đủ tốt để bỏ qua mạng hay không .
Một mạng được định nghĩa là đủ tốt để bỏ qua lựa chọn mạng nếu có các yêu cầu sau:
- Chưa đến 10 giây kể từ lần lựa chọn mạng gần đây nhất.
- Gần đây, người dùng đã kết nối với mạng theo cách thủ công (trong khi gần đây
có thể định cấu hình bằng cách sử dụng
config_wifiSufficientDurationAfterUserSelectionMilliseconds
lớp phủ). - Thiết bị được kết nối với kết nối đăng ký trực tuyến (OSU).
Tất cả các yêu cầu sau đây đều được đáp ứng:
- RSSI cao hơn ngưỡng RSSI bắt buộc hoặc có đủ lưu lượng truy cập đang lưu chuyển trên kết nối (xem quét màn hình đối với RSSI và ngưỡng lưu lượng truy cập).
- Mạng đã được xác thực (được kết nối với internet) hoặc được người dùng phê duyệt để sử dụng mà không cần truy cập Internet.
- Mạng không đo lượng dữ liệu.
Nếu mạng đủ tốt để bỏ qua lựa chọn mạng, bạn không cần làm gì thêm đã được thực hiện.
Nếu mạng Wi-Fi được kết nối không đủ tốt hoặc nếu chưa được kết nối với mạng, khung này sẽ gọi người đề cử mạng để tạo danh sách mạng Wi-Fi đề xuất để kết nối dựa trên kết quả quét đã lọc. Những người đề cử mạng sẽ tìm thấy cấu hình Wi-Fi hiện có hoặc tạo cấu hình mới cho các mạng ứng viên.
Kết quả quét được lọc để xoá các BSSID có RSSI ở bên dưới mục nhập RSSI (có thể định cấu hình bằng cách sử dụng
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
, vàconfig_wifiFrameworkScoreEntryRssiThreshold6ghz
lớp phủ). Ngoài ra, các BSSID bị chặn cũng sẽ được lọc. BSSID có thể bị chặn dựa trên về các lỗi kết nối lặp đi lặp lại, ngắt kết nối thường xuyên và yêu cầu của AP về việc không cố gắng liên kết trong một khoảng thời gian nhất định thời gian (MBO-OCE). Quy tắc chặn BSSID được mô tả bên dưới trong phần Chặn SSID và BSSID.Khi thiết bị đang di chuyển nhanh, kết quả quét sẽ không bắt buộc được lọc thêm để xoá BSSID có RSSI thay đổi nhanh chóng (chỉ báo chúng không di chuyển cùng với thiết bị). Tối ưu hoá này là có thể định cấu hình bằng
config_wifiHighMovementNetworkSelectionOptimizationEnabled
(bật/tắt tính năng tối ưu hoá) vàconfig_wifiHighMovementNetworkSelectionOptimizationScanDelayMs
vàconfig_wifiHighMovementNetworkSelectionOptimizationRssiDelta
lớp phủ, định cấu hình yêu cầu về độ ổn định đối với kết quả quét (thay đổi RSSI các kết quả quét được phân tách đủ kịp thời).
Khung này sẽ chạy người ghi điểm đề xuất để tạo điểm số cho từng đề xuất định danh bộ dịch vụ (SSID). Chiến lược phát hành đĩa đơn Ứng viên SSID có thể bao gồm nhiều đề xuất giá trị nhận dạng của bộ dịch vụ cơ bản (BSSID) (do những người đề cử mạng tạo ra). Ứng cử viên có điểm số cao nhất là ứng cử viên giành chiến thắng.
Khung này sẽ thực thi lựa chọn kết nối của người dùng Thuật toán này có thể khiến mạng do người dùng chọn trở thành mạng giành chiến thắng mới thay vì sử dụng ứng cử viên chiến thắng từ trình ghi điểm của ứng viên.
Khung này xác định liệu ứng cử viên giành chiến thắng có phù hợp với mạng hiện được kết nối. Để được xem là kết quả trùng khớp, bạn phải đáp ứng một trong các yêu cầu sau phải được đáp ứng:
- Ứng cử viên giành chiến thắng và mạng Wi-Fi được kết nối có cùng một BSSID.
- Nếu có chuyển vùng chương trình cơ sở (bao gồm cả danh sách đen BSSID) ), ứng viên chiến thắng và mạng được kết nối sẽ có cùng SSID và loại bảo mật.
Nếu ứng cử viên chiến thắng phù hợp với mạng hiện được kết nối, không được thực hiện thêm hành động. Nếu ứng cử viên giành chiến thắng không khớp với thì thiết bị đó sẽ được liên kết với ứng cử viên giành chiến thắng.
Xin lưu ý rằng tính năng tự động kết nối mạng sẽ bị tắt khi một ứng dụng dùng Yêu cầu mạng Wi-Fi API, Mạng này ghi đè hệ thống và tạo mạng LAN không có Internet, ngoại trừ trên những thiết bị hỗ trợ các trạm kép đồng thời.
Đánh giá một mạng được kết nối
Khung hoặc chương trình cơ sở Android đánh giá định kỳ chất lượng của mạng được kết nối. Phần này mô tả cách đánh giá mạng đã kết nối khi màn hình đang bật hoặc tắt.
Việc đánh giá này được thực hiện cùng với việc lựa chọn mạng thảo luận ở trên.
Màn hình bật
Khung Android đánh giá mạng đã kết nối theo cách sau:
Cứ mỗi 3 giây, dịch vụ Wi-Fi sẽ thăm dò số liệu RSSI và số liệu thống kê lớp liên kết (có thể định cấu hình bằng cách sử dụng lớp phủ
config_wifiPollRssiIntervalMilliseconds
).Nếu bạn bật tính năng điều chỉnh khoảng thời gian động bằng cách sử dụng Lớp phủ
config_wifiAdjustPollRssiIntervalEnabled
, khoảng thời gian thăm dò ý kiến thay đổi linh hoạt dựa trên trạng thái di chuyển của thiết bị và RSSI.- Khoảng thời gian thăm dò được kéo dài đến 6 giây (được định cấu hình bởi
config_wifiPollRssiLongIntervalMilliseconds
) khi thiết bị ở trạng thái tĩnh và RSSI ở trên -68 dBm (được định cấu hình bằngconfig_wifiClientRssiMonitorThresholdDbm
vàconfig_wifiClientRssiMonitorHysteresisDb
lớp phủ). - Khoảng thời gian thăm dò được giảm xuống còn 3 giây (được định cấu hình bởi
config_wifiPollRssiIntervalMilliseconds
) khi thiết bị là không cố định hoặc RSSI dưới -73 dBm (được định cấu hình bằng lớp phủconfig_wifiClientRssiMonitorThresholdDbm
).
- Khoảng thời gian thăm dò được kéo dài đến 6 giây (được định cấu hình bởi
Dịch vụ Wi-Fi tính điểm liên kết dựa trên RSSI và số liệu thống kê lớp liên kết.
Dịch vụ Wi-Fi sẽ chuyển điểm số này đến dịch vụ kết nối. Dịch vụ này sử dụng điểm số này để xác định xem có kết nối với mạng Wi-Fi hay không một loại mạng có sẵn khác, chẳng hạn như mạng di động.
Màn hình đang tắt
Khung này không bắt đầu đánh giá trên mạng được kết nối, nhưng quá trình chọn mạng vẫn có thể xảy ra nếu bắt đầu quét theo các thành phần khác (ví dụ: dịch vụ vị trí). Chiến lược phát hành đĩa đơn chương trình cơ sở sẽ đánh giá chất lượng mạng và nếu chất lượng mạng kém, chương trình cơ sở có thể chuyển vùng hoặc (cuối cùng) tách khỏi mạng và bật lên máy chủ lưu trữ.
Quét kết nối
Quá trình quét được thực hiện tự động dựa trên việc thiết bị có bật màn hình hay không, đã tắt màn hình và kết nối với Wi-Fi hoặc tắt màn hình và hiện không đã kết nối với Wi-Fi.
Màn hình bật
Khung này kích hoạt các quyết định quét theo tần suất tăng dần khi màn hình
đã bật. Khoảng thời gian quyết định quét được định cấu hình bằng
config_wifiDisconnectedScanIntervalScheduleSec
,
config_wifiConnectedScanIntervalScheduleSec
và
config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec
lớp phủ (là các mảng số nguyên). Theo mặc định, quá trình quét diễn ra bằng cách sử dụng
khoảng thời gian đợi luỹ thừa là 20, 40, 80 và 160 giây.
có thể được thực hiện ở tốc độ 160 giây
khoảng thời gian (đây là các giá trị mặc định của các lớp phủ này).
Khoảng thời gian quét thời gian đợi luỹ thừa được đặt lại và khởi động lại sau 20 giây bất cứ khi nào trạng thái màn hình thay đổi, tức là khi màn hình được bật hoặc tắt.
(Android 13 trở lên) Nếu cần nhiều khoảng thời gian quét tại
thời gian chạy, một ứng dụng đặc quyền của OEM có thể gọi hàm
WifiManager#setScreenOnScanSchedule(screenOnScanSchedule)
API để linh động
đặt lịch quét màn hình bật.
Quyết định thực thi hay bỏ qua một lần quét được dựa trên việc kết nối mạng hiện tại đủ tốt để bỏ qua quá trình quét. Một kết nối đủ tốt để bỏ qua quá trình quét nếu đáp ứng bất kỳ yêu cầu nào sau đây được đáp ứng:
- Thiết bị được kết nối với kết nối đăng ký trực tuyến (OSU).
- Có đủ lưu lượng truy cập thông qua kết nối (xem ngưỡng lưu lượng truy cập bên dưới).
- RSSI cao hơn ngưỡng RSSI bắt buộc (xem các ngưỡng RSSI dưới đây),
và việc lựa chọn mạng mới được thực hiện gần đây (theo mặc định là 10 phút nhưng
có thể được định cấu hình bằng cách sử dụng
config_wifiConnectedHighRssiScanMinimumWindowSizeSec
) và mạng đã được xác thực (kết nối với Internet) hoặc được người dùng phê duyệt để sử dụng mà không cần kết nối Internet.
RSSI và ngưỡng lưu lượng truy cập là:
- RSSI trên -73 dBm cho băng tần 2,4 GHz, được định cấu hình bằng
Lớp phủ
config_wifi_framework_wifi_score_low_rssi_threshold_24GHz
, hoặc -70 dBm cho băng tần 5 GHz và 6 GHz, được định cấu hình bằngconfig_wifi_framework_wifi_score_low_rssi_threshold_5GHz
vàconfig_wifiFrameworkScoreLowRssiThreshold6ghz
lớp phủ. - Lưu lượng truy cập (truyền hoặc nhận) trên 16 gói/giây (pps)
được định cấu hình bằng
config_wifiFrameworkMinPacketPerSecondActiveTraffic
lớp phủ.
Khi thiết bị được kết nối và màn hình đang bật. Trình ghi điểm được kết nối định kỳ
giám sát chất lượng Wi-Fi bằng cách xem xét các tín hiệu như RSSI và số lượng
gói dữ liệu được chuyển đi. Nếu chất lượng Wi-Fi được xác định là kém
(như được chỉ định bên dưới) và thiết bị hỗ trợ các trạm đồng thời kép, thì một
quá trình quét sẽ được kích hoạt. Chiến lược phát hành đĩa đơn
Có thể dùng config_wifiLowConnectedScoreThresholdToTriggerScanForMbb
lớp phủ
dùng để định cấu hình ngưỡng điểm kích hoạt quá trình quét. Chiến lược phát hành đĩa đơn
Bạn có thể sử dụng lớp phủ config_wifiLowConnectedScoreScanPeriodSeconds
để
định cấu hình khoảng thời gian các lần quét này.
Màn hình đang tắt và đã kết nối với Wi-Fi
Khi màn hình tắt và thiết bị được kết nối với mạng Wi-Fi, chương trình cơ sở (Wi-Fi SoC) thực hiện quét chuyển vùng. Khung này không thực hiện bất kỳ quét khi màn hình tắt.
Màn hình đang tắt và không kết nối với Wi-Fi (trạng thái ngắt kết nối)
Khi màn hình tắt và Wi-Fi bị ngắt kết nối, chương trình cơ sở sẽ hoạt động PNO quét tìm SSID. Khung định cấu hình chương trình cơ sở với danh sách SSID để quét và danh sách các kênh để quét. Nếu tìm thấy SSID đã định cấu hình, chương trình cơ sở sẽ đánh thức khung.
Khung này cũng định cấu hình khoảng thời gian thực hiện chương trình cơ sở
Quét PNO, sử dụng trạng thái di động của thiết bị để chọn các khoảng thời gian quét khác nhau.
Ở trạng thái ít di chuyển (thiết bị đứng yên), khoảng thời gian là 60 giây
cho ba lần quét đầu tiên (được kiểm soát bằng
Lớp phủ config_wifiStationaryPnoScanIntervalMillis
) và 180 giây (giá trị cố định
Hệ số nhân của lớp phủ gấp 3 lần) cho các lần quét tiếp theo. Ở nhiệt độ cao
ở trạng thái di động, khoảng thời gian là 20 giây cho ba lần quét đầu tiên (được điều khiển
theo lớp phủ config_wifiMovingPnoScanIntervalMillis
) và 60 (giá trị 3x cố định
hệ số của lớp phủ) tính bằng giây cho các lần quét tiếp theo.
Mạng đề cử
Các người đề cử mạng sẽ tìm hoặc tạo cấu hình
(WifiConfiguration
)
dành cho các mạng:
- Có sẵn (dựa trên kết quả quét) hoặc mạng (đôi khi bị thiếu trong kết quả quét không ổn định).
- Có RSSI tối thiểu. RSSI tối thiểu là -80 dBm cho băng tần 2,4 GHz
và -77 dBm cho băng tần 5 GHz và 6 GHz,
có thể định cấu hình bằng cách sử dụng
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
vàconfig_wifiFrameworkScoreEntryRssiThreshold6ghz
lớp phủ. - Không bị chặn, chẳng hạn như do lỗi kết nối trước đó.
- Mạng không cho biết là không sử dụng được (ví dụ: sử dụng MBO/OCE).
- Có thể liên kết với việc sử dụng thông tin xác thực có trên thiết bị.
Sau đây là danh sách đề cử của mạng:
- Người chỉ định mạng đã lưu: Đánh giá tất cả các mạng đã lưu (bao gồm cả các mạng đã lưu) Gói thuê bao Passpoint).
- Đề xuất mạng được đề xuất: Đánh giá tất cả các mạng do ứng dụng cung cấp sử dụng API Đề xuất (bao gồm cả gói thuê bao Passpoint được đề xuất).
- Người chỉ định mạng được tính điểm bên ngoài: Cơ chế của OEM để cung cấp mạng tùy chọn kết nối cho thiết bị. Để biết thêm thông tin, hãy xem Nhà cung cấp dịch vụ xếp hạng mạng bên ngoài.
Người ghi điểm cho ứng cử viên
Người chấm điểm thí sinh sẽ đánh giá và cho điểm từng thí sinh. Chiến lược phát hành đĩa đơn
điểm số cho ThroughputScorer
(trình ghi điểm mặc định) được dựa trên các giá trị sau:
- Điểm cơ bản được tính dựa trên RSSI, trong đó RSSI bị giới hạn ở mức -73 dBm
cho băng tần 2,4 GHz hoặc -70 dBm cho băng tần 5 GHz và
Băng tần 6 GHz (được định cấu hình với
config_wifi_framework_wifi_score_low_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_low_rssi_threshold_5GHz
vàconfig_wifiFrameworkScoreLowRssiThreshold6ghz
lớp phủ). - Mức tăng điểm được tính dựa trên công suất ước tính được tính từ
công nghệ, tần số kênh, băng thông, RSSI, điều kiện kênh,
số lượng tối đa luồng không gian và các thông số khác. Điểm số tăng
có thể định cấu hình bằng cách sử dụng
config_wifiFrameworkThroughputBonusNumerator
vàconfig_wifiFrameworkThroughputBonusDenominator
lớp phủ và là ở mức giá trị tối đa được chỉ định bằng cách sử dụng thuộc tính Lớp phủconfig_wifiFrameworkThroughputBonusLimit
. - Mạng đề xuất mà gần đây người dùng hoặc ứng dụng đã chọn
được tăng điểm số lớn trong khoảng thời gian có thể định cấu hình bằng cách sử dụng
Lớp phủ
config_wifiFrameworkLastSelectionMinutes
(trong khoảng thời gian đó, đảm bảo được chọn thay vì các mạng không phải do người dùng chọn). - Một ứng viên khớp với mạng hiện tại sẽ được thiết lập mức tăng điểm số
bởi
config_wifiFrameworkCurrentNetworkBonusMin
vàconfig_wifiFrameworkCurrentNetworkBonusPercent
lớp phủ (thêm một lớp phủ phần thưởng dựa trên tỷ lệ phần trăm của RSSI và điểm số dựa trên thông lượng, xuống đến giá trị tối thiểu có thể định cấu hình). - Mạng bảo mật được chấm điểm cao hơn mạng mở. Phần thưởng là
được định cấu hình bằng
config_wifiFrameworkSecureNetworkBonus
lớp phủ. - Mạng không đo lượng dữ liệu (miễn phí) được tính điểm cao hơn mạng có đo lượng dữ liệu (trả phí).
Phần thưởng được thiết lập bằng cách sử dụng
Lớp phủ
config_wifiFrameworkUnmeteredNetworkBonus
. - Mạng đã lưu được chấm điểm cao hơn mạng được đề xuất bằng cách sử dụng
API Đề xuất. Phần thưởng được thiết lập bằng cách sử dụng
Lớp phủ
config_wifiFrameworkSavedNetworkBonus
. - Mạng không đáng tin cậy (có thể được yêu cầu trong API đề xuất) có điểm số thấp hơn bất kỳ mạng nào khác.
- Mạng trước đây được phát hiện là không có Internet sẽ nhận được điểm 0 nếu thiết bị hiện đang kết nối với một mạng khác có Internet truy cập.
Phần thưởng mặc định đã lưu so với đề xuất, không đo lượng dữ liệu so với có đo lượng dữ liệu (tức là các giá trị lớp phủ mặc định) tạo ra mức độ ưu tiên nghiêm ngặt thứ tự đã lưu, được đề xuất, có đo lượng dữ liệu và không đo lượng dữ liệu:
- Các mạng không đo lượng dữ liệu đã lưu
- Mạng không tính dung lượng truy cập được đề xuất
- Mạng có đo lượng dữ liệu đã lưu
- Mạng có đo lượng dữ liệu được đề xuất
Điều này có nghĩa là hệ thống sẽ luôn chọn mạng không đo lượng dữ liệu (miễn phí) đã lưu trước khi lưu mạng có đo lượng dữ liệu (trả phí). Phần thưởng điểm số được chọn gần đây (theo người dùng hoặc ứng dụng) có thể ghi đè mức độ ưu tiên nghiêm ngặt đó.
Khung này có thể có nhiều trình chấm điểm đề xuất được cài đặt, nhưng chỉ một
có thể cùng lúc hoạt động. Những bộ điểm số khác có thể được dùng cho các chỉ số (để
điều tra các thuật toán thay thế). Trong Android 11,
trình ghi điểm mặc định là
ThroughputScorer
.
Chặn SSID và BSSID
Khung có thể chặn SSID hoặc BSSID, tức là không xem xét những SSID hoặc BSSID kết nối tạm thời hoặc vĩnh viễn.
Chặn BSSID
Tính năng chặn BSSID hoạt động bằng cách duy trì hai bộ đếm lỗi, một lỗi liên tục bộ đếm và bộ đếm chuỗi theo từng loại lỗi cụ thể (xem danh sách các loại lỗi dưới đây). Khi xảy ra lỗi:
- Bộ đếm cho loại lỗi tương ứng sẽ được tăng lên.
- Nếu đã đạt đến ngưỡng lỗi cho loại lỗi đó:
- BSSID đã bị chặn.
- Bộ đếm chuỗi cho lỗi sẽ tăng lên.
Thời lượng mà một BSSID bị chặn bắt đầu tại giá trị cơ sở (có thể định cấu hình)
(được chỉ định bởi config_wifiBssidBlocklistMonitorBaseBlockDurationMs
hoặc
config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs
lớp phủ,
phụ thuộc vào RSSI) và tăng theo cấp số nhân lên đến phần trên
giới hạn (được chỉ định bởi config_wifiBssidBlocklistMonitorFailureStreakCap
lớp phủ). Thời lượng sử dụng sẽ tăng lên nếu lỗi liên tục xảy ra trên cùng một nơi
BSSID (mã định danh của bộ dịch vụ cơ bản). Thời lượng là thời lượng cơ sở tăng theo cấp số nhân theo
chuỗi lỗi, tức là chuỗi lỗi bằng 2 biểu thị thời lượng khối cơ sở gấp 4 lần.
Các ngưỡng để chặn BSSID tuỳ thuộc vào lý do không thành công và mỗi ngưỡng có thể tuỳ chỉnh bằng cách sử dụng lớp phủ:
- AP từ chối liên kết bằng cách sử dụng mã MBO/OCE Không thể xử lý STA mới:
config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold
. - Xác thực Internet thông qua mạng này không thành công:
config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold
. - Mã không xác thực được mật khẩu:
config_wifiBssidBlocklistMonitorWrongPasswordThreshold
. - Mã lỗi xác thực lỗi EAP cho mạng EAP:
config_wifiBssidBlocklistMonitorEapFailureThreshold
. - Từ chối liên kết, từ chối liên kết chung khác:
config_wifiBssidBlocklistMonitorAssociationRejectionThreshold
. - Hết thời gian liên kết:
config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold
. - Không xác thực, các lỗi xác thực chung khác:
config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold
. - Lỗi DHCP, không cung cấp được DHCP:
config_wifiBssidBlocklistMonitorDhcpFailureThreshold
. - Ngắt kết nối bất thường, thiết bị đã ngắt kết nối khỏi mạng trong
khoảng thời gian rất ngắn sau khi kết nối:
config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold
. Thời gian cửa sổ có thể định cấu hình bằngconfig_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs
.
Điều kiện xoá danh sách chặn BSSID
BSSID sẽ bị xoá khỏi danh sách chặn khi:
- Wi-Fi đã bật/tắt: Tất cả BSSID sẽ bị xoá khỏi danh sách chặn.
- Người dùng nhấn vào một mạng trong bộ chọn Wi-Fi: Tất cả BSSID của mạng do người dùng chọn sẽ bị xoá khỏi danh sách chặn.
- Hết thời gian chờ: BSSID sẽ bị xoá khỏi danh sách chặn khi thời lượng chặn là đạt được.
- Khởi động lại: Tất cả danh sách chặn đều bị xoá.
- Đã xoá mạng: Tất cả BSSID liên kết với mạng này đều sẽ bị xoá khỏi danh sách chặn.
Điều kiện đặt lại liên tục không thành công và bộ đếm chuỗi:
- Khởi động lại: Đặt lại cho tất cả BSSID.
- Đã xoá mạng: Đặt lại cho các BSSID liên kết với mạng.
Kết nối L2 thành công: Đặt lại cho các mã lỗi sau.
REASON_AP_UNABLE_TO_HANDLE_NEW_STA
REASON_WRONG_PASSWORD
REASON_EAP_FAILURE
REASON_ASSOCIATION_REJECTION
REASON_ASSOCIATION_TIMEOUT
REASON_AUTHENTICATION_FAILURE
REASON_ABNORMAL_DISCONNECT
(chỉ xoá có điều kiện nếu đây là lần gần đây nhất thiết bị đã kết nối với BSSID này cách đây hơn 3 giờ)REASON_NONLOCAL_DISCONNECT_CONNECTING
Xác thực mạng thành công: Đặt lại cho mã lỗi sau.
REASON_NETWORK_VALIDATION_FAILURE
Cấp phép DHCP thành công: Đặt lại cho mã lỗi sau.
REASON_DHCP_FAILURE
Chặn SSID
Tính năng chặn SSID hoạt động tương tự như tính năng chặn BSSID. Bộ đếm lỗi cho mỗi lỗi
loại cho mỗi mạng sẽ tăng lên khi xảy ra lỗi kết nối (thuộc loại đó).
Khi số lần lỗi của một loại cụ thể vượt quá ngưỡng, SSID sẽ được
bị chặn vĩnh viễn hoặc tạm thời dựa trên cấu hình. Cấu hình
cho mỗi loại lỗi được mã hoá bằng
WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS
và là
được tóm tắt bên dưới.
* Đối với các mạng bị tắt tạm thời, khoảng thời gian tắt tự động thay đổi dựa trên số lượng kết nối liên tiếp lỗi xảy ra trên mạng. Sau khi một mạng liên tiếp không thể kết nối năm lần, mỗi lần lỗi tiếp theo sẽ dẫn đến thời lượng vô hiệu hoá dài gấp đôi thời lượng trước đó. Ví dụ: một mạng có 5 lỗi liên tiếp sẽ bị tắt trong 5 phút, sau đó là 10 phút cho lần thất bại thứ sáu, 20 phút cho lần thứ bảy và cứ tiếp tục như vậy đến giới hạn tối đa là 18 giờ. |
||||
Mã lỗi | Mô tả | Ngưỡng | Khoảng thời gian vô hiệu hoá cơ sở* | Loại vô hiệu hoá |
---|---|---|---|---|
DISABLED_DHCP_FAILURE |
Không cung cấp được DHCP | 5 | 5 phút | Tạm thời |
DISABLED_NO_INTERNET_TEMPORARY |
Không xác thực được mạng nhưng người dùng cho biết họ muốn giữ lại kết nối với mạng này trong tương lai | 1 | 10 phút | Tạm thời |
DISABLED_AUTHENTICATION_NO_CREDENTIALS |
Nhà cung cấp thiếu thông tin đăng nhập để kết nối với mạng | 1 | NA | Vĩnh viễn |
DISABLED_NO_INTERNET_PERMANENT |
Mặc định cho lỗi xác thực mạng | 1 | NA | Vĩnh viễn |
DISABLED_BY_WIFI_MANAGER |
Không dùng nữa và không được sử dụng | 1 | NA | Vĩnh viễn |
DISABLED_BY_WRONG_PASSWORD |
Mật khẩu không chính xác và mạng này chưa bao giờ hoạt động thành công đã kết nối với | 1 | NA | Vĩnh viễn |
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION |
Lỗi EAP khi thẻ SIM chưa được đăng ký | 1 | NA | Vĩnh viễn |
DISABLED_ASSOCIATION_REJECTION |
Không liên kết được | 5 | 5 phút | Tạm thời |
DISABLED_AUTHENTICATION_FAILURE |
Các lỗi xác thực khác (tức là không phải mật khẩu sai hoặc chương trình tiếp cận sớm (EAP) lỗi) | 5 | 5 phút | Tạm thời |
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR |
Lỗi EAP (riêng tư) dành riêng cho nhà cung cấp. | 1 | NA | Vĩnh viễn |
DISABLED_NETWORK_NOT_FOUND |
Nhà cung cấp không tìm thấy mạng trong kết quả quét khớp với mạng mà khung kết nối yêu cầu (bao gồm cả mạng chức năng). | 2 | 5 phút | Tạm thời |
DISABLED_CONSECUTIVE_FAILURES |
Mạng không kết nối được liên tiếp ít nhất 5 lần. Lỗi
loại cho các lỗi này bao gồm nhưng không giới hạn ở các loại lỗi
được liệt kê trong bảng này. |
5 | 5 phút | Tạm thời |
Mạng tạm thời bị vô hiệu hoá được bật lại khi:
- Đã hết thời gian vô hiệu hoá.
- Người dùng chọn mạng cần kết nối theo cách thủ công.
- Người dùng bật/tắt Wi-Fi.
- Khởi động lại hệ thống.
- Mạng đã bị vô hiệu hoá ở mức RSSI rất thấp, nhưng sau đó mạng sẽ hoạt động chậm được phát hiện lại ở RSSI trung bình hoặc cao hơn.
Mạng đã bị vô hiệu hoá vĩnh viễn sẽ được bật lại khi:
- Người dùng chọn mạng cần kết nối theo cách thủ công.
Bộ đếm lỗi cho một mạng được đặt lại khi:
- Mạng đã bị xoá.
- Thiết bị đã kết nối mạng thành công.
- Mạng đã được bật lại sau khi hết khoảng thời gian tắt.
- Người dùng tự chọn mạng cần kết nối.
- Khởi động lại hệ thống.
Thẻ điểm
Thẻ điểm ra mắt trong Android 10, ghi lại trên thiết bị
số liệu thống kê về BSSID. Thẻ điểm được duy trì bằng cách sử dụng
IpMemoryStore
.
Thẻ điểm không được dùng trong mạng Android 11 lựa chọn.
Lựa chọn về việc kết nối với người dùng
Android có thuật toán lựa chọn kết nối của người dùng cho phép quá trình lựa chọn thích các mạng Wi-Fi mà người dùng đã kết nối rõ ràng, ví dụ: mạng gia đình. Người dùng có thể thích như vậy mạng công cộng ngay cả khi hiệu suất thấp hơn mạng công cộng mạng vì chúng cung cấp các dịch vụ bổ sung như khả năng kiểm soát các thiết bị trong nhà.
Lựa chọn ưu tiên của người dùng về một mạng sẽ được ghi lại bằng cách đánh dấu tất cả mạng Wi-Fi hiển thị và cường độ tín hiệu của chúng tại thời điểm người dùng chọn một mạng. Nếu một trong các cấu hình Wi-Fi được đánh dấu được chọn trong quá trình chọn tự động và một mạng do người dùng chọn có sẵn, người dùng thuật toán kết nối lựa chọn sẽ ghi đè lựa chọn bằng mạng do người dùng chọn nếu các điều kiện sau được đáp ứng:
- Mạng lựa chọn kết nối của người dùng có truy cập Internet vào lần gần đây nhất nó đã được sử dụng
- Lựa chọn kết nối của người dùng có cường độ tín hiệu không kém hơn khi
ban đầu nó được chọn với biên độ sai số. Biên độ sai số có thể là
được định cấu hình bằng lớp phủ
config_wifiEstimateRssiErrorMarginDb
.
Mạng lựa chọn kết nối của người dùng sẽ vẫn hoạt động sau khi khởi động lại. Lựa chọn về việc người dùng kết nối hoạt động với các mạng đã lưu, mạng Passpoint và mạng đề xuất.
Hai trạm phát đồng thời
Phần này mô tả lựa chọn mạng Wi-Fi khi thiết bị hỗ trợ kết nối đồng thời với hai mạng Wi-Fi.
Tạo trước điểm chèn quảng cáo
Nếu làm trước khi nghỉ đã được bật, thiết bị sẽ cố gắng kết nối với mạng mới trước khi ngắt kết nối khỏi mạng cũ. Quy trình tạo trước điểm chèn sử dụng cùng một thuật toán lựa chọn mạng dưới dạng ngắt trước khi chuyển đổi mạng (tức là khi thiết bị ngắt kết nối khỏi mạng cũ trước khi kết nối với mạng mới 1). Nếu thuật toán lựa chọn mạng chọn một mạng không thể chuyển sang sử dụng chế độ tạm dừng, thiết bị sẽ tự động quay lại break-before-make.
Kết nối Internet và hạn chế đồng thời
Nếu kết nối Internet bị hạn chế và đồng thời kết nối đã bật, thiết bị có thể kết nối với một mạng Wi-Fi bị hạn chế phụ chỉ dành cho một số ứng dụng do thiết bị định cấu hình của nhà sản xuất. Hướng dẫn nhà sản xuất thiết bị định cấu hình chế độ cài đặt này có trong Đồng thời bị hạn chế và Internet kết nối.
Khi thuật toán lựa chọn mạng phát hiện kết quả quét khớp với OEM (Nhà sản xuất thiết bị gốc) đề xuất trả phí hoặc riêng tư, nó sẽ tự động kết nối với đề xuất đó dưới dạng mạng thứ hai. Lựa chọn mạng cho mạng Wi-Fi chính (mạng này cung cấp kết nối Internet kết nối với các ứng dụng thông thường) diễn ra song song.
Câu hỏi thường gặp
Mạng bảo mật có luôn được ưu tiên hơn mạng mở không?
Không. Đã lưu so với được đề xuất và có đo lượng dữ liệu so với không được đo lượng dữ liệu là chính các danh mục mà mạng được đánh giá. Trong mỗi danh mục, hãy bảo mật các mạng có mức độ ưu tiên cao hơn mạng mở nhưng chất lượng kết nối.
Lý do là bảo mật dữ liệu người dùng thực tế được cung cấp bởi mã hoá hai đầu (ví dụ: TLS). Mạng bảo mật chỉ mã hoá giai đoạn đầu của giao tiếp và thậm chí đối với các mạng có khoá được chia sẻ trước, không mang lại nhiều quyền riêng tư.
Tại sao các mạng đã lưu lại được ưu tiên hơn các mạng được đề xuất?
Mạng miễn phí (không đo lượng dữ liệu) đã lưu được ưu tiên hơn các mạng miễn phí được đề xuất và các mạng có đo lượng dữ liệu đã lưu sẽ được ưu tiên hơn các mạng có đo lượng dữ liệu được đề xuất.
Mạng đã lưu sẽ được ưu tiên hơn mạng đề xuất vì đã lưu mạng là các mạng mà người dùng đã thêm vào thiết bị một cách rõ ràng. Đó ngụ ý tuỳ chọn kết nối với các mạng này khi có thể.
Lưu ý rằng người dùng có thể tắt hành vi tự động kết nối cho từng cá nhân các mạng đã lưu, tức là cho biết rằng các mạng này chỉ được sử dụng theo cách thủ công và không được thiết bị xem xét tự động.
Tôi có thể thay đổi thứ tự ưu tiên nghiêm ngặt hoặc xoá hoàn toàn thứ tự ưu tiên đó không?
Nhà sản xuất thiết bị có thể sửa đổi quyết định lựa chọn mạng bằng cách sửa đổi các lớp phủ tiền thưởng được liệt kê ở các phần trên. Tuy nhiên, Bạn không nên thay đổi các giá trị mặc định vì các giá trị đó đã được chọn sau khi xem xét kỹ lưỡng nhiều trường hợp sử dụng.