Lựa chọn mạng Wi-Fi Android

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 các mạng hiện có.

Tuổi thọ của kết nối tự động

Phần này mô tả quá trình thiết bị Android đánh giá và kết nối với các mạng Wi-Fi khả dụng.

  1. Thiết bị quét tìm các mạng khả dụng theo một trong các cách sau tùy thuộc vào màn hình bật hay tắt.

    • Bật màn hình (đã kết nối): Hệ thống con 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 hay không (như được xác định trong 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, hệ thống con kết nối sẽ kích hoạt quá trình quét để phát hiện các mạng khả dụng. Những lần 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 định vị hoặc ứng dụng (bao gồm cả ứng dụng Cài đặt).
    • Bật màn hình (đã ngắt kết nối): Hệ thống con kết nối Android thực hiện quét định kỳ theo lịch chờ theo cấp số nhân. Mô-đun đánh giá tất cả các kết quả quét nhận được và cố gắng chọn mạng tốt nhất để kết nối.
    • Tắt màn hình (đã ngắt kết nối): CPU chủ lập trình chương trình cơ sở với danh sách các mạng ưu tiên bằng cách sử dụng chức năng quét giảm tải mạng ưu tiên (PNO) ngay khi màn hình tắt. Phần sụn sẽ đánh thức máy chủ nếu nó 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ị.

    Phương thức WifiManager#allowAutojoinGlobal(boolean) có thể được sử dụng để tắt kết nối tự động. Đây là API đặc quyền có thể được các nhà sản xuất thiết bị sử dụng trong một số trường hợp hạn chế (ví dụ: thiết bị không di động, được cấu hình sẵn).

    Nếu thiết bị được kết nối và lớp phủ config_wifi_framework_enable_associated_network_selection kết_network_selection được đặt thành false thì sẽ không có quá trình quét kết nối nào được thực hiện và kết quả quét sẽ không kích hoạt lựa chọn mạng. 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á trình quét kết nối và chọn mạng vẫn diễn ra.

  2. Kết quả quét được đánh giá.

    • Nếu thiết bị được kết nối với mạng Wi-Fi, hệ thống sẽ đánh giá xem mạng hiện tại có đủ tốt để bỏ qua việc chọn mạng hay không .

      Mạng được xác định là đủ tốt để bỏ qua việc lựa chọn mạng nếu đáp ứng bất kỳ yêu cầu nào sau đây:

      • Chưa đầy 10 giây đã trôi qua kể từ lần chọn mạng cuối cùng.
      • Gần đây, người dùng đã kết nối mạng theo cách thủ công (trong đó gần đây có thể định cấu hình bằng cách sử dụng lớp phủ config_wifiSufficientDurationAfterUserSelectionMilliseconds ).
      • 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 đượ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 chảy qua kết nối (xem bản quét trên màn hình để biết RSSI và ngưỡng lưu lượng).
        • Mạng đã được xác thực (kết nối với internet) hoặc được người dùng chấp thuận để sử dụng mà không cần truy cập internet.
        • Mạng không được đo lường.
    • Nếu mạng đủ tốt để bỏ qua việc chọn mạng thì không cần thực hiện thêm hành động nào.

    • Nếu mạng Wi-Fi được kết nối không đủ tốt hoặc nếu thiết bị không được kết nối với mạng, khung sẽ gọi những người đề cử mạng để tạo danh sách các mạng Wi-Fi ứng cử viên để kết nối dựa trên kết quả quét được lọc . Những người đề cử mạng tìm các 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 cử viên.

    • Kết quả quét được lọc để loại bỏ các BSSID có RSSI bên dưới mục nhập RSSI (có thể định cấu hình bằng config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz và lớp phủ config_wifiFrameworkScoreEntryRssiThreshold6ghz ). Ngoài ra, BSSID bị chặn sẽ được lọc. BSSID có thể bị chặn dựa trên 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 rõ ràng từ AP về việc không cố gắng liên kết trong một khoảng thời gian nhất định (MBO-OCE). 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ẽ được lọc thêm tùy ý để loại bỏ các BSSID có RSSI thay đổi nhanh chóng (biểu thị rằng chúng không di chuyển cùng với thiết bị). Bạn có thể định cấu hình tối ưu hóa này bằng cách sử dụng config_wifiHighMovementNetworkSelectionOptimizationEnabled (bật/tắt tính năng tối ưu hóa) cũng như các lớp phủ config_wifiHighMovementNetworkSelectionOptimizationScanDelayMsconfig_wifiHighMovementNetworkSelectionOptimizationRssiDelta , cấu hình yêu cầu về độ ổn định đối với kết quả quét (RSSI thay đổi đối với kết quả quét được phân tách đủ theo thời gian).

  3. Khung này chạy trình chấm điểm ứng viên để tạo điểm cho từng ứng cử viên nhận dạng bộ dịch vụ (SSID). Các ứng cử viên SSID có thể bao gồm nhiều ứng cử viên định danh bộ dịch vụ cơ bản (BSSID) (do người chỉ định mạng tạo ra). Thí sinh có số điểm cao nhất là thí sinh chiến thắng .

  4. Khung này thực thi thuật toán lựa chọn kết nối người dùng , thuật toán này có thể biến mạng do người dùng chọn trở thành ứng cử viên chiến thắng mới thay vì sử dụng ứng cử viên chiến thắng từ người chấm điểm ứng viên.

  5. Khung này xác định xem ứng cử viên chiến thắng có phù hợp với mạng hiện được kết nối hay không. Để được coi là một trận đấu, một trong những điều sau đây phải được đáp ứng:

    • Ứng viên chiến thắng và mạng Wi-Fi được kết nối có cùng BSSID.
    • Nếu có sẵn tính năng chuyển vùng chương trình cơ sở (bao gồm khả năng đưa vào danh sách đen BSSID), ứng cử viên chiến thắng và mạng được kết nối 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 thì không có hành động nào khác được thực hiện. Nếu ứng viên chiến thắng không khớp với mạng, thiết bị sẽ được liên kết với ứng cử viên chiến thắng.

Lưu ý rằng kết nối mạng tự động bị tắt khi ứng dụng sử dụng API yêu cầu mạng Wi-Fi , API này sẽ ghi đè hệ thống và tạo mạng LAN không có Internet, ngoại trừ trên các thiết bị hỗ trợ các trạm đồng thời kép.

Đánh giá mạng được kết nối

Khung hoặc chương trình cơ sở Android định kỳ đánh giá 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 được kết nối khi màn hình 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.

Bật màn hình

Khung Android đánh giá mạng được kết nối theo cách sau:

  1. Dịch vụ Wi-Fi thăm dò số liệu thống kê RSSI và lớp liên kết cứ sau 3 giây (có thể định cấu hình bằng lớp phủ config_wifiPollRssiIntervalMilliseconds ).

    Nếu điều chỉnh khoảng thời gian động được bật bằng lớp phủ config_wifiAdjustPollRssiIntervalEnabled thì khoảng thời gian kiểm tra sẽ thay đổi linh hoạt dựa trên trạng thái di động 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 lớp phủ config_wifiPollRssiLongIntervalMilliseconds ) khi thiết bị đứng yên RSSI ở trên -68 dBm (được định cấu hình bởi lớp phủ config_wifiClientRssiMonitorThresholdDbmconfig_wifiClientRssiMonitorHysteresisDb ).
    • Khoảng thời gian thăm dò giảm xuống còn 3 giây (được định cấu hình bởi lớp phủ config_wifiPollRssiIntervalMilliseconds ) khi thiết bị không cố định hoặc RSSI ở dưới -73 dBm (được định cấu hình bởi lớp phủ config_wifiClientRssiMonitorThresholdDbm ).
  2. Dịch vụ Wi-Fi tính toán điểm được kết nối dựa trên số liệu thống kê RSSI và lớp liên kết.

  3. Dịch vụ Wi-Fi chuyển điểm số cho dịch vụ kết nối, dịch vụ này sử dụng điểm số để xác định xem nên kết nối với mạng Wi-Fi hay với loại mạng khả dụng khác, chẳng hạn như mạng di động.

Tắt màn hình

Khung 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 quá trình quét được bắt đầu bởi các thành phần khác (ví dụ: dịch vụ định vị). Phần sụn đánh giá chất lượng mạng và nếu chất lượng mạng kém, phần sụn có thể chuyển vùng hoặc (cuối cùng) tách khỏi mạng và đánh thức máy chủ.

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ị bật màn hình, tắt màn hình và kết nối với Wi-Fi hay tắt màn hình và không kết nối với Wi-Fi.

Bật màn hình

Khung kích hoạt các quyết định quét theo khoảng thời gian tăng dần khi màn hình được bật. Khoảng thời gian quyết định quét được định cấu hình với các lớp phủ config_wifiDisconnectedScanIntervalScheduleSec , config_wifiConnectedScanIntervalScheduleSecconfig_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec (là các mảng số nguyên). Theo mặc định, các lần quét diễn ra bằng cách sử dụng các khoảng thời gian chờ theo cấp số nhân là 20, 40, 80 và 160 giây, với các lần quét tiếp theo có thể được thực hiện ở các khoảng thời gian 160 giây (đây là các giá trị mặc định của các lớp phủ ở trên).

Khoảng thời gian quét chờ theo cấp số nhân đượ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, nghĩa là khi màn hình được bật hoặc tắt.

(Android 13+) Nếu cần có các khoảng thời gian quét khác nhau trong thời gian chạy, thì ứng dụng đặc quyền OEM có thể gọi API WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) để tự động đặt lịch quét trên màn hình.

Quyết định thực hiện hay bỏ qua quá trình quét dựa trên việc liệu kết nối mạng hiện tại có đủ tốt để bỏ qua quá trình quét hay không . 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:

  • 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 đi qua kết nối (xem ngưỡng lưu lượng bên dưới).
  • RSSI cao hơn ngưỡng RSSI bắt buộc (xem ngưỡng RSSI bên dưới) việc chọn mạng đã được thực hiện gần đây (10 phút theo mặc định nhưng có thể được định cấu hình bằng cách sử dụng lớp phủ config_wifiConnectedHighRssiScanMinimumWindowSizeSec ) mạng đã được xác thực (được kết nối với Internet) hoặc người dùng -được chấp thuận để sử dụng mà không cần truy cập internet.

Ngưỡng RSSI và 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 với 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 với lớp phủ config_wifi_framework_wifi_score_low_rssi_threshold_5GHzconfig_wifiFrameworkScoreLowRssiThreshold6ghz .
  • Lưu lượng truy cập (truyền hoặc nhận) cao hơn 16 gói mỗi giây (pps) được định cấu hình với lớp phủ config_wifiFrameworkMinPacketPerSecondActiveTraffic .

Khi thiết bị được kết nối và màn hình bật. Trình ghi điểm được kết nối sẽ giám sát định kỳ 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 được truyền. 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ì quá trình quét sẽ được kích hoạt. Lớp phủ config_wifiLowConnectedScoreThresholdToTriggerScanForMbb có thể được sử dụng để định cấu hình ngưỡng điểm kích hoạt quá trình quét. Lớp phủ config_wifiLowConnectedScoreScanPeriodSeconds có thể được sử dụng để định cấu hình khoảng thời gian của những lần quét này.

Tắt màn hình 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) sẽ thực hiện quét chuyển vùng. Khung không thực hiện bất kỳ lần quét nào khi màn hình tắt.

Tắt màn hình 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ẽ thực hiện quét PNO để tìm SSID. Khung này định cấu hình chương trình cơ sở với danh sách SSID cần quét và danh sách các kênh cần quét. Nếu tìm thấy SSID đã định cấu hình, phần sụn sẽ đánh thức khung.

Khung này cũng định cấu hình khoảng thời gian mà chương trình cơ sở sẽ thực hiện 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 di động thấp (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ởi lớp phủ config_wifiStationaryPnoScanIntervalMillis ) và 180 giây (hệ số nhân cố định gấp 3 lần của lớp phủ) cho các lần quét tiếp theo. Ở trạng thái di động cao, khoảng thời gian là 20 giây cho ba lần quét đầu tiên (được kiểm soát bởi lớp phủ config_wifiMovingPnoScanIntervalMillis ) và 60 giây (hệ số nhân 3x cố định của lớp phủ) cho các lần quét tiếp theo.

Người đề cử mạng

Người đề cử mạng tìm hoặc tạo cấu hình ( WifiConfiguration ) cho các mạng:

  • Hiện có sẵn (dựa trên kết quả quét) hoặc mạng hiện được kết nối (đô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à lớp phủ config_wifiFrameworkScoreEntryRssiThreshold6ghz .
  • Không bị chặn, ví dụ, do lỗi kết nối trước đó.
  • Mạng không cho biết nó không sử dụng được (ví dụ: sử dụng MBO/OCE).
  • Có thể liên quan đến việc sử dụng thông tin đăng nhập có sẵn trên thiết bị.

Các đề cử mạng sau đây được sử dụng:

  • Người đề cử mạng đã lưu: Đánh giá tất cả các mạng đã lưu (bao gồm cả đăng ký Passpoint đã lưu).
  • Công cụ đề cử mạng được đề xuất: Đánh giá tất cả các mạng do ứng dụng cung cấp bằng API đề xuất (bao gồm cả đăng ký Passpoint được đề xuất).
  • Bộ đề cử mạng được chấm điểm bên ngoài: Cơ chế OEM để cung cấp các tùy chọn kết nối mạng cho thiết bị. Để biết thêm thông tin, hãy xem Nhà cung cấp xếp hạng mạng bên ngoài .

Người chấm điểm thí sinh

Người chấm điểm thí sinh sẽ đánh giá và cho điểm từng thí sinh. Điểm cho ThroughputScorer (công cụ ghi điểm mặc định) dựa trên những điểm sau:

  • Điểm cơ bản được tính toán dựa trên RSSI trong đó RSSI được 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à 6 GHz (được định cấu hình bằng config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , config_wifi_framework_wifi_score_low_rssi_threshold_5GHzconfig_wifiFrameworkScoreLowRssiThreshold6ghz lớp phủ ghz).
  • Việc tăng điểm được tính toán dựa trên ước tính thông lượng bắt nguồn từ công nghệ, tần số kênh, băng thông, RSSI, điều kiện kênh, số lượng luồng không gian tối đa và các thông số khác. Bạn có thể định cấu hình mức tăng điểm bằng cách sử dụng lớp phủ config_wifiFrameworkThroughputBonusNumeratorconfig_wifiFrameworkThroughputBonusDenominator , đồng thời được giới hạn ở giá trị tối đa được chỉ định bằng lớp phủ config_wifiFrameworkThroughputBonusLimit .
  • Mạng ứng cử viên được người dùng hoặc ứng dụng chọn gần đây sẽ nhận được mức tăng điểm 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ạng được đảm bảo được chọn trên các mạng không do người dùng chọn).
  • Ứng viên phù hợp với mạng hiện tại sẽ được tăng điểm do các lớp phủ config_wifiFrameworkCurrentNetworkBonusMinconfig_wifiFrameworkCurrentNetworkBonusPercent định cấu hình (ứng viên này nhận được phần thưởng bổ sung dựa trên tỷ lệ phần trăm của RSSI và điểm dựa trên thông lượng, giảm đến mức tối thiểu có thể định cấu hình).
  • Mạng an toàn được tính điểm cao hơn mạng mở. Phần thưởng được định cấu hình bằng lớp phủ config_wifiFrameworkSecureNetworkBonus .
  • Mạng không đo lượng dữ liệu (miễn phí) được tính điểm cao hơn mạng đo lượng dữ liệu (trả phí). Phần thưởng được định cấu hình bằ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 API đề xuất. Phần thưởng được định cấu hình bằng lớp phủ config_wifiFrameworkSavedNetworkBonus .
  • Các mạng không đáng tin cậy (có thể được yêu cầu như một phần của API đề xuất) được tính điểm 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ẽ có điểm 0 nếu thiết bị hiện được kết nối với mạng khác có quyền truy cập Internet.

Phần thưởng mặc định cho lưu trữ so với đề xuất và không đo lường so với đo lường (nghĩa là các giá trị lớp phủ mặc định) tạo ra thứ tự ưu tiên nghiêm ngặt cho đã lưu, đề xuất, đo lường và không đo lường:

  1. Đã lưu mạng không được đáp ứng
  2. Mạng không được đo lường được đề xuất
  3. Mạng có đồng hồ đo đã lưu
  4. Mạng có đồng hồ đo được đề xuất

Điều này có nghĩa là mạng không đo lượng dữ liệu (miễn phí) đã lưu luôn được chọn trước mạng có đo lượng dữ liệu (trả phí) đã lưu. Điểm thưởng đượ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ài đặt một số trình chấm điểm ứng viên nhưng mỗi lần chỉ có một trình ghi điểm có thể hoạt động. Những người ghi điểm khác có thể được sử dụng cho các số liệu (để đ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 này có thể chặn SSID và/hoặc BSSID, nghĩa là không xem xét chúng cho các kết nối tạm thời hoặc vĩnh viễn.

Chặn BSSID

Chặn BSSID hoạt động bằng cách giữ hai bộ đếm lỗi, một bộ đếm lỗi liên tục và một bộ đếm sọc, cho mỗi loại lỗi cụ thể (xem bên dưới để biết danh sách các loại lỗi). Khi xảy ra sự cố:

  • Bộ đếm cho loại lỗi tương ứng sẽ tăng lên.
  • Nếu đạt đến ngưỡng lỗi cho loại lỗi đó:
    • BSSID bị chặn.
    • Bộ đếm vệt lỗi được tăng lên.

Khoảng thời gian BSSID bị chặn bắt đầu ở giá trị cơ sở (có thể định cấu hình) (được chỉ định bởi lớp phủ config_wifiBssidBlocklistMonitorBaseBlockDurationMs hoặc config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs , tùy thuộc vào RSSI) và tăng theo cấp số nhân lên đến giới hạn trên có thể định cấu hình (được chỉ định bởi lớp phủ config_wifiBssidBlocklistMonitorFailureStreakCap ). Thời lượng tăng lên nếu lỗi liên tục xảy ra trên cùng một BSSID. Khoảng thời gian là thời lượng cơ sở tăng theo cấp số nhân theo chuỗi lỗi, nghĩa là chuỗi lỗi là 2 ngụ ý thời lượng khối cơ sở là 4x.

Các ngưỡng chặn BSSID tùy thuộc vào lý do lỗi và mỗi ngưỡng có thể tùy chỉnh bằng cách sử dụng lớp phủ:

  • AP từ chối liên kết bằng MBO/OCE Không thể xử lý mã STA mới : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold .
  • Xác thực Internet qua mạng này không thành công: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold .
  • Mã lỗi xác thực mật khẩu sai: 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 .
  • Lỗi 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 mạng trong khoảng thời gian rất ngắn sau khi kết nối: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold . Cửa sổ thời gian có thể định cấu hình bằng config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs .

Điều kiện xóa danh sách chặn BSSID

BSSID bị xóa khỏi danh sách chặn khi:

  • Wi-Fi được bật: Tất cả BSSID sẽ bị xóa 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ị xóa khỏi danh sách chặn.
  • Hết thời gian chờ: BSSID bị xóa khỏi danh sách chặn khi đạt đến thời lượng chặn.
  • Khởi động lại: Tất cả danh sách chặn đều bị xóa.
  • Đã xóa mạng: Tất cả BSSID được liên kết với mạng này sẽ bị xóa khỏi danh sách chặn.

Điều kiện đặt lại bộ đếm lỗi và vệt:

  • Khởi động lại: Đặt lại cho tất cả BSSID.
  • Đã xóa mạng: Đặt lại cho BSSID được liên kết với mạng.
  • Kết nối L2 thành công: Đặt lại 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ỉ bị xóa có điều kiện nếu lần cuối cùng 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 mã lỗi sau.

    • REASON_NETWORK_VALIDATION_FAILURE
  • Cung cấp DHCP thành công: Đặt lại mã lỗi sau.

    • REASON_DHCP_FAILURE

Chặn SSID

Chặn SSID hoạt động tương tự như chặn BSSID. Bộ đếm lỗi cho mỗi loại lỗi trên 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ượng lỗi của một loại cụ thể vượt quá ngưỡng, SSID sẽ 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 từng loại lỗi được mã hóa trong WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS và được tóm tắt bên dưới.

* Đối với các mạng bị vô hiệu hóa tạm thời, thời lượng vô hiệu hóa sẽ thay đổi linh hoạt dựa trên số lần kết nối thất bại liên tiếp xảy ra trên mạng. Sau khi mạng liên tục không kết nối được năm lần, mỗi lần thất bại tiếp theo sẽ dẫn đến thời gian vô hiệu hóa dài gấp đôi thời gian trước đó. Ví dụ: một mạng có 5 lần lỗi liên tiếp sẽ bị vô hiệu hóa trong 5 phút, sau đó là 10 phút đối với lần lỗi thứ sáu, 20 phút đối với lần lỗi thứ bảy, v.v. cho đến giới hạn tối đa là 18 giờ.

Mã lỗi Sự miêu tả Ngưỡng Thời gian vô hiệu hóa cơ bản* Tắt loại
DISABLED_DHCP_FAILURE Không cung cấp DHCP 5 5 phút Tạm thời
DISABLED_NO_INTERNET_TEMPORARY Xác thực mạng không thành công nhưng người dùng cho biết họ muốn tiếp tục 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 Người cung cấp thiếu thông tin xác thực để 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 được 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ờ được kết nối thành công với 1 NA Vĩnh viễn
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Lỗi EAP khi thẻ SIM không được đăng ký 1 NA Vĩnh viễn
DISABLED_ASSOCIATION_REJECTION Thất bại từ chối hiệp hội 5 5 phút Tạm thời
DISABLED_AUTHENTICATION_FAILURE Các lỗi xác thực khác (nghĩa là không sai mật khẩu hoặc lỗi EAP) 5 5 phút Tạm thời
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Lỗi EAP dành riêng cho nhà cung cấp (riêng tư). 1 NA Vĩnh viễn
DISABLED_NETWORK_NOT_FOUND Người cầu xin không tìm thấy mạng trong kết quả quét khớp với mạng được yêu cầu bởi khung kết nối (bao gồm cả khả năng của mạng). 2 5 phút Tạm thời
DISABLED_CONSECUTIVE_FAILURES Mạng không kết nối được năm lần trở lên liên tiếp. Loại lỗi cho những 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 bị vô hiệu hóa tạm thời sẽ được bật lại khi:

  • Thời gian vô hiệu hóa đã trôi qua.
  • Người dùng tự chọn mạng để kết nối.
  • Người dùng bật tắt Wi-Fi.
  • Hệ thống được khởi động lại.
  • Mạng đã bị vô hiệu hóa ở mức RSSI rất thấp nhưng sau đó mạng được phát hiện lại ở mức RSSI vừa phải hoặc cao hơn.

Mạng bị vô hiệu hóa vĩnh viễn được kích hoạt lại khi:

  • Người dùng tự chọn mạng để kết nối.

Bộ đếm lỗi của mạng được đặt lại khi:

  • Mạng được gỡ bỏ.
  • Thiết bị đã kết nối mạng thành công.
  • Mạng đã được kích hoạt lại sau khi hết thời gian vô hiệu hóa.
  • Người dùng tự chọn mạng để kết nối.
  • Hệ thống được khởi động lại.

Thẻ điểm

Thẻ điểm, được giới thiệu trong Android 10, ghi lại số liệu thống kê trên thiết bị về BSSID. Thẻ điểm được duy trì bằng dịch vụ IpMemoryStore .

Thẻ điểm không được sử dụng trong lựa chọn mạng Android 11.

Lựa chọn kết nối người dùng

Android có thuật toán lựa chọn kết nối người dùng cho phép quá trình lựa chọn ưu tiên các mạng Wi-Fi mà người dùng đã kết nối rõ ràng, chẳng hạn như mạng gia đình. Người dùng có thể thích những mạng như vậy hơn mạng công cộng ngay cả khi hiệu suất thấp hơn mạng công cộng vì chúng cung cấp các dịch vụ bổ sung như khả năng điều khiển các thiết bị trong nhà.

Tùy chọn mạng của người dùng được ghi lại bằng cách đánh dấu tất cả các cấu hình 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ạ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ạng do người dùng chọn có sẵn thì thuật toán lựa chọn kết nối của người dùng sẽ ghi đè lựa chọn với mạng do người dùng chọn nếu đáp ứng các điều kiện sau:

  • Mạng lựa chọn kết nối của người dùng có quyền truy cập Internet vào lần sử dụng gần đây nhất
  • Lựa chọn kết nối của người dùng có cường độ tín hiệu không tệ hơn so với khi nó được chọn ban đầu với biên độ lỗi. Biên độ lỗi này có thể được định cấu hình bằng cách sử dụng lớp phủ config_wifiEstimateRssiErrorMarginDb .

Mạng lựa chọn kết nối của người dùng vẫn tồn tại sau khi khởi động lại. Lựa chọn kết nối của người dùng hoạt động đối với các mạng đã lưu, mạng Passpoint và mạng đề xuất.

Trạm đồng thời kép

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.

Làm trước khi nghỉ

Nếu chức năng tạm dừng đượ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ũ. Luồng thực hiện trước khi ngắt sử dụng thuật toán chọn mạng tương tự như chuyển đổi mạng ngắt trước khi thực hiện (đó 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). Nếu thuật toán chọn mạng chọn một mạng không thể chuyển đổi bằng cách sử dụng chế độ make- before-break thì thiết bị sẽ tự động chuyển về chế độ break- before-make.

Kết nối Internet và hạn chế đồng thời

Nếu chức năng kết nối internet và hạn chế đồng thời được bật, thiết bị có thể kết nối với mạng Wi-Fi bị hạn chế thứ cấp chỉ khả dụng cho một số ứng dụng được nhà sản xuất thiết bị định cấu hình. Hướng dẫn dành cho nhà sản xuất thiết bị để định cấu hình tính năng này nằm trong phần Kết nối Internet và hạn chế đồng thời .

Khi thuật toán chọn mạng phát hiện kết quả quét khớp với đề xuất trả phí/riêng tư OEM, nó sẽ tự động kết nối với mạng đó dưới dạng mạng thứ hai. Việc chọn mạng cho mạng Wi-Fi chính (cung cấp kết nối Internet cho các ứng dụng thông thường) thường diễn ra song song.

Các câu hỏi thường gặp (FAQ)

  1. Các mạng bảo mật có luôn được ưu tiên hơn các mạng mở không?

    Không. Đã lưu so với đề xuất và có đo lượng dữ liệu so với không đo lượng dữ liệu là các danh mục chính trong đó mạng được đánh giá. Trong mỗi danh mục, mạng an toàn có một số ưu tiên so với mạng mở nhưng chất lượng kết nối được đánh giá cao hơn nhiều.

    Lý do là bảo mật dữ liệu người dùng thực tế được cung cấp bằng mã hóa đầu cuối (ví dụ: TLS). Mạng an toàn chỉ mã hóa chặng đầu tiên của giao tiếp và thậm chí sau đó đối với các mạng có khóa chia sẻ trước, không cung cấp nhiều quyền riêng tư.

  2. Tại sao các mạng đã lưu được ưu tiên hơn các mạng được đề xuất?

    Các mạng miễn phí đã lưu (không được đo lượng dữ liệu) được ưu tiên hơn các mạng miễn phí được đề xuất và các mạng có đồng hồ đo đã lưu được ưu tiên hơn các mạng có đồng hồ đo được đề xuất.

    Các mạng đã lưu được ưu tiên hơn các mạng được đề xuất vì các mạng đã lưu là các mạng mà người dùng đã thêm vào thiết bị một cách rõ ràng. Điều đó ngụ ý ưu tiê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 kết nối tự động cho từng mạng đã lưu, nghĩa 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.

  3. Tôi có thể thay đổi thứ tự ưu tiên nghiêm ngặt hoặc loại bỏ nó hoàn toàn không?

    Nhà sản xuất thiết bị có thể sửa đổi các quyết định lựa chọn mạng bằng cách sửa đổi lớp phủ bổ sung được liệt kê trong các phần trên. Tuy nhiên, bạn không nên thay đổi giá trị mặc định vì chúng đã được chọn sau khi xem xét cẩn thận nhiều trường hợp sử dụng.