Как узнать версию wi fi в телефоне
У меня есть телефон LG Optimus One (модель LG-P500h). Как узнать, какой Wi-Fi-чипсет у моего телефона? Есть ли общий механизм, который будет работать для всех телефонов?
Ну, без какой-либо специализированной программы всегда есть dmesg .
Включите Wi-Fi, затем запустите dmesg в терминале / adb shell /ConnectBot. К концу файла вы увидите отладочные утверждения о своей беспроводной сети.
dmesg | grep -i lan может быть полезна, если у вас установлен busybox.
Я получаю такие строки:
Первый не интересен сам по себе, но второй кричит «сетевой адаптер» из-за соглашения об именах драйверов для сетевых адаптеров. «tiwlan0» ближе к соглашению об именах OpenBSD, чем Linux (родные драйверы Linux просто назовут wlan0), но . не неожиданны.
Несколько веб-поисков позже - и yep, это беспроводной чип TI .
Метод надежного пожара, который будет работать на любом телефоне, должен взломать корпус, записать имя и номер детали чипов, а затем исследовать их по отдельности. Это может быть довольно интенсивным, хотя, не говоря уже о том, что вы можете повредить свой телефон в процессе. Производители обычно не публикуют список запасных частей для своих продуктов. Спецификация продукта может содержать тип процессора (Qualcomm MSM7227 в случае вашего телефона). Они также могут отображать графический процессор (Qualcomm Adreno 200 для вашего LG Optimus One P500). Никакой гарантии на это, хотя.
Большинство телефонов используют чип от Texas Instruments, Broadcom, Royal Philips Electronics или Atheros Communications. Использование этих имен чипов в качестве фильтра может помочь вам установить нуль на конкретном чипе в вашем телефоне.
Я просто использовал команду dmesg в эмуляторе терминала и прокручивал, пока не нашел что-либо с именем bcm432x. и wlan . Подумайте. У меня есть lg p500.
Я просто googled «какой чипсет находится в галактике j100» (мой телефон) сделал некоторое чтение и получил ответ . fyi у этого есть чипсет от marvell . И ваш, LG имеет Qualcomm msm 7227
После введения новых версий и стандартов Wi-Fi организацией, отвечающей за эту технологию, WiFi Alliance, стало первостепенным вопросом, какие версии технологии поддерживают устройство (а). Когда был представлен последний диапазон Wi-Fi, получивший название «5G WiFi», многим пользователям было одинаково любопытно узнать, будут ли их гаджеты работать со сверхбыстрой сетью, поскольку «маршрутизаторы 5G» также быстро становились популярными.
Ранее мы показали (подробно), как узнать, какие версии WiFi (Windows 10) поддерживает ПК. Теперь мы расскажем, как определить версию Wi-Fi, поддерживаемую вашим смартфоном. Но перед этим ознакомьтесь с различными типами версий Wi-Fi;
Ознакомьтесь с таблицей ниже для получения дополнительной информации. Читая о новом
Подробнее: Как перейти с WiFi 5 (802.11ac) на WiFi 6 (802.11ax)
Как узнать версию Wi-Fi для смартфонов Android и iOS
Взяв в качестве примера iPhone 6 , раздел сети / связи на странице характеристик устройства GSMArena показывает, что он поддерживает Wi-Fi 802.11 a / b / g / n / ac . Это означает, что iPhone 6 работает с WiFi 802.1a, WiFi 802.11b, WiFi 802.11g, WiFi 802.11n и Wi-Fi 802.11ac, то есть с WiFi версии 1, 2, 3, 4 и 5 соответственно.
При поиске другого телефона Infinix Note 5 Stylus показывает, что устройство поддерживает Wi-Fi 802.11 a / b / g / n, т.е. WiFi версии 1, 2, 3 и 4 .
Как подключить Android смартфон к новой Wi-Fi сети? Как настроить работу Wi-Fi в спящем режиме? Можно ли использоваться смартфон в качестве точки доступа? Ответы на все эти вопросы ждут вас под катом.
Подключение к новой Wi-Fi сети
Прежде всего давайте разберемся с тем, как подключить Android смартфон к новой Wi-Fi сети. Скорее всего, подключение к домашней Wi-Fi сети вы настроили на своем смартфоне во время его первого запуска. Однако, подключение к Wi-Fi может понадобиться вам не только дома, но и на работе, институте или кафе.
Ничего сложно в подключении к Wi-Fi сети нет. Достаточно просто зайти в настройки телефона, а затем перейти в раздел «Wi-Fi».
Вам откроется список доступных Wi-Fi сетей. Замочек рядом с иконкой Wi-Fi показывает, что сеть защищена паролем. Соответственно, при попытке подключения к такой сети смартфон запросит пароль.
В очень редких случаях нужная вам Wi-Fi сеть может не отображаться в списке доступных. Скорее всего, администратор сети специально сделал ее скрытой, чтобы подключиться к ней могли только те, кто знает ее название. Для подключения к такой сети достаточно нажать на кнопку «Меню», находящуюся в левом верхнем углу экрана, затем выбрать пункт «Добавить сеть».
С помощью этого же меню можно получить доступ к дополнительным настройкам Wi-Fi. Хотя пункты настроек на смартфонах разных производителей могут немного отличаться, основные опции присутствуют на всех аппаратах. Прежде всего это настройка работы Wi-Fi в режиме сна и включение уведомлений о доступных открытых Wi-Fi сетях.
Раздача интернета по Wi-Fi
К сожалению, Wi-Fi есть далеко не везде. И в остальных местах приходится довольствоваться мобильным интернетом. Беда только в том, что такой вид доступа в интернет поддерживают далеко не все устройства.
Что делать, если срочно потребовалось выйти в интернет с ноутбука? Или если захотелось посидеть в интернете с планшета, не имеющего SIM карты и поддерживающего только Wi-Fi? И как поделиться доступом в интернет с другом, чей мобильный оператор не работает в этом районе? Все эти вопросы можно легко решить, настроив имеющийся Android смартфон в качестве Wi-Fi роутера (точки доступа).
Вновь заходим в настройки телефона. Нам нужен пункт «Еще», который находится в разделе «Беспроводные подключения к сети» или «Беспроводные сети», рядом с настройками Wi-Fi.
Название следующего пункта немного отключается в зависимости от модели и производителя телефона. Иногда он называется «Подключение точки доступа», иногда «Общий доступ к мобильному интернету» или «Точка доступа Wi-Fi». Именно здесь можно включить режим точки доступа, а также указать название и пароль для вашей Wi-Fi сети.
Если вы все сделали правильно, то в строке состояния, расположенной в верхней части экрана, должен появится специальный значок. Пример показан на скриншоте выше.
Теперь подключиться к вашему смартфону можно будет точно также, как к домашнему Wi-Fi роутеру.
Однажды мне понадобилось сканировать из Android приложения сети Wi-Fi и получать подробную выкладку данных о точках доступа.
Тут пришлось столкнуться с несколькими трудностями: в офф.документации Android многие описанные классы стали deprecated (API level > 26), что никак не было в ней отражено; описание некоторых вещей в документации минимально (например поле capabilities класса ScanResult на момент написания не описано почти никак, хотя содержит много важных данных). Третья сложность может заключаться в том, что при первой близости с Wi-Fi, отличной от чтения теории и настройки роутера по localhost, приходится иметь дело с рядом аббревиатур, которые кажутся понятными по отдельности. Но может быть не очевидно, как их соотнести и структурировать (суждение субъективно и зависит от предыдущего опыта).
В данной статье рассмотрено как из Android кода получить исчерпывающие данные о Wi-Fi окружении без NDK, хаков, а лишь с помощью Android API и понять, как их интерпретировать.
Не будем тянуть и начнем писать код.
1. Создаем проект
Заметка рассчитана на тех, кто больше одного раза создавал Android проект, поэтому подробности данного пункта опускаем. Код ниже будет представлен на языке Kotlin, minSdkVersion=23.
2. Разрешения на доступы
Для работы с Wi-Fi из приложения понадобится получить от пользователя несколько разрешений. В соответствии с документацией, для того, чтобы осуществить сканирование сети на устройствах с ОС версий после 8.0, помимо доступа к просмотру состояния сетевого окружения нужен либо доступ на изменение состояния модуля Wi-Fi устройства, либо доступ к координатам (примерным или точным). Начиная с версии 9.0 необходимо запросить у пользователя и то и то, и при этом явно запросить у пользователя включить службу определения местоположения. Не забываем галантно объяснять пользователю, что это прихоть компании Google, а не наше желание устроить за ним слежку :)
Итого, в AndroidManifest.xml добавим:
А в коде, в котором есть ссылка на текущую Activity:
3. Создаем BroadcastReceiver и подписываемся на события обновления данных о сканировании сетевого окружения Wi-Fi
Метод WiFiManager.startScan в документации помечен как depricated с версии API 28, но офф. guide предлагает использовать его.
Итого, получили список объектов ScanResult.
4. Смотрим на ScanResult и разбираемся в терминах
Посмотрим на некоторые поля этого класса и опишем, что они означают:
SSID — Service Set Identifier – это название сети
BSSID – Basic Service Set Identifier – MAC адрес сетевого адаптера (Wi-Fi точки)
level — Received Signal Strength Indicator [dBm (русское дБм) — Децибел, опорная мощность 1 мВт.] — Показатель уровня принимаемого сигнала. Принимает значение от 0 до -100, чем дальше от 0, тем больше мощности сигнала потерялось по пути от Wi-Fi точки к вашему устройству. Подробнее можно посмотреть например на Википедии. Здесь же расскажу, что с помощью Android класса WifiManager можно проградуировать уровень сигнала по шкале от отличного до ужасного с выбранным вами шагом:
frequency — частота работы точки Wi-Fi [Гц]. Помимо самой частоты вас может заинтересовать так называемый канал. У каждой точки есть своя рабочая чистота. На момент написания текста наиболее популярным диапозоном Wi-Fi точек является 2.4 GHz. Но, если быть точнее, точка передает информацию на ваш телефон на пронумерованной частоте, близкой к названной. Количество каналов и значения соответствующих частот стандартизованы. Это сделано для того, чтобы точки поблизости работали на разных частотах, тем самым не создавая помехи друг другу и взаимно не понижая скорость и качество передачи. При этом точки работают не на одной частоте, а на диапазоне частот (пареметр channelWidth), называемом шириной канала. То есть точки, работающие на соседних (и не только на соседних, а даже на 3 от себя) каналах создают друг другу помехи. Вам может пригодится этот незамысловатый код, который позволяет вычислить номер канала по значению частоты для точек с частотой 2.4 и 5 Ghz:
capabilities — наиболее интересное поле для анализа, работа с которым потребовало много времени. Тут в строку записываются «возможности» точки. При этом подробности интерпритации строки в документации можно не искать. Вот несколько примеров того, что может лежать в этой строке:
5. Разбираемся в аббревиатурах и парсим capabilities
Будем действовать последовательно. Рассмотрим сначала вывод такого формата, при котором внутри скобок элементы отделены знаком "-":
Первое значение описывает т.н. метод аутентификации (authentication). То есть, какую последовательность действий должны произвести устройство и точка доступа, чтобы точка доступа позволила собой пользоваться и каким образом шифровать полезную нагрузку. На момент написания поста самые частые варианты это WPA и WPA2, при котором либо каждое подключаемое устройство напрямую, либо через т.н. RADIUS-сервер (WPA-Enterprice) предоставляет пароль по зашифрованному каналу. Скорее всего у вас дома точка доступа предоставляет подключение по этой схеме. Отличие второй версии от первой в болеее стойком шифре: AES против небезопасного TKIP. Также постепенно внедряется WPA3, более сложный и продвинутый. Теоритически может встретиться вариант с enterprice-решением CCKM (Cisco Centralized Key Managment), но мне так и не встретился.
Точка доступа могла быть настроена на аутентификацию по MAC-адресу. Или, если точка доступа предоставляет данные по устаревшему алгоритму WEP, то аутентификации фактически нет (секретный ключ тут и является ключом шифрования). Такие варианты отнесем к типу OTHER.
Ещё есть полюбившийся в общественных wi-fi метод со скрытым Captive Portal Detection — запрос аутентификации через браузер. Такие точки доступа выглядят для сканера как открытые (какими с точки зраения физического подключения и являются). Поэтому отнесем их к типу OPEN.
Второе значение можно обозначить как алгоритм использования ключей (key management). Является параметром метода аутентификации, о котором написано выше. Говорит о том, как именно происходит обмен ключами шифрования. Рассмотрим возможные варианты. EAP — используется в упомянутом WPA-Enterprice, использует базу данных для сверки введеных аутентификационных данных. SAE — используется в продвинутом WPA3, более устойчива к перебору. PSK — самый частый вариант, подразумевает ввод пароля и его передачу в зашифрованном виде. IEEE8021X — по международному стандарту (отличному от поддержанным семейством WPA). OWE (Opportunistic Wireless Encryption) является расширением стандарта IEEE 802.11, для точек, которые мы отнесли к типу OPEN. OWE обеспечивает безопасность данных, передаваемых по незащищенной сети, за счет их шифрования. Также возможен варинант когда ключей доступа нет, назовем такой вариант NONE.
Третьим параметром является т.н. метод шифрования (encryption schemes) — как именно используется шифр для зашиты передаваемых данных. Перечислим варианты. WEP — использует поточный шифр RC4, секретный ключ является ключом шифрования, что в мире современной криптографии считается неприемлемым. TKIP — используется в WPA, CKIP — в WPA2. TKIP+CKIP — может быть указан в точках умеющих WPA и WPA2 для обратной совместимости.
Вместо трех элементов можно встретить одинокую пометку WEP:
Как мы обсудили выше, этого достаточно чтобы не конкретизировать алгоритм использования ключей, которого нет, и метода шифрования, которое одно по-умолчанию.
Теперь рассмотрим такую скобочку:
Это режим работы Wi-Fi или топология сетей Wi-Fi. Вам может встретиться Режим BSS (Basic Service Set) — когда есть одна точка доступа, через которую общаются подключенные устройства. Можно встретить в локальных сетях. Как правило точки доступа нужны для того, чтобы соединять устройства из разных локальных сетей, поэтому они являются частью Extended Service Sets — ESS. Тип IBSSs (Independent Basic Service Sets) говорит о том, что устройство является частью Peer-to-Peer сети.
Ещё может попасться флаг WPS:
6. Создаем модель и функцию парсинга
На основе того, что выяснили выше опишем data-классами то, что получилось:
Теперь напишем функцию, которая будет парсить поле capabilities:
8. Смотрим результат
Посканирую сеть и покажу, что получилось. Показаны результаты простого вывода через Log.d:
Спасибо Егору Пономареву за ценные дополнения.
Читайте также: