- Wi-Fi адаптер через OTG
- I. Старт
- II. Разгон
- III. Препятствия
- 1. Версии
- 2. ewma
- 3. Светодиод
- 4. Версия firmware
- IV. Финиш
- N150 Wi-Fi USB-адаптер высокого усиления
- Описание
- 150 Мбит/с Wi-Fi USB-адаптер высокого усиления
- Стабильное Wi-Fi подключение для работы в интернете
- Высокомощная съёмная антенна для максимального приёма
- Простая настройка
- Кнопка WPS
- Операционная система
- External Antennas
- WPA / WPA2 Encryptions
- Характеристики
- Поддержка
Wi-Fi адаптер через OTG
Идея перевести сетевую карту телефона в режим монитора разрушилась по причине собственной наивности и незнания элементарной информации о том, что подавляющее большинство мобильных сетевых карт этот самый режим монитора и не поддерживают.
Идея реализации задумки с помощью внешнего беспроводного Wi-Fi адаптера или «свистка», поддерживающего желанный режим монитора, рушилась десятки раз из-за новых и новых ошибок и потери веры в то, что это вообще возможно, но переросла в данную статью.
Итак, как подключить внешний Wi-Fi адаптер к устройству на Android или бег с препятствиями на дистанции «вставил — netcfg wlan0 up»:
Должно быть в наличии:
- Телефон на Android
- Поддержка OTG и сам OTG
- Terminal Emulator
- ROOT
- Исходники ядра
FAQ — структура выглядит так:
Мой случай:
- Samsung GT-P5100 Galaxy Tab 2 10.1, Андроид 4.2.2
- OTG «30-pin — USB»
- Terminal Emulator for Android
- ROOT
- Исходники стокового ядра 3.0.31-1919150 с сайта Самсунг
- Адаптер TP-LINK TL-WN722N на чипсете AR9271
- ath9k_htc/htc_9271.fw
- Дистрибутив Ubuntu 15.04 в VMware
- android-tools-adb
Начну. Но попрошу учесть, что далее все рассматривается для вышеперечисленного набора и алгоритм, скорее всего, не является универсальным, но отклонения незначительны.
I. Старт
Первым делом необходимо добыть фирмварь вашего адаптера. Вставляю адаптер в компьютер и выполняю команду dmesg . Нахожу:
Где слово правее слова driver — искомая информация. У меня это — ath9k_htc. Гуглю для него firmware. Качаю. Закидываю .fw-файл на телефон в /system/etc/firmware
Затем устанавливаю ADB:
apt-get install android-tools-adb
Третьим этапом качаю тулчейн (компилятор под ARM) отсюда. Там большой архив, мне нужна лишь папка android-platform_prebuilt-android-sdk-adt_r20-0-ga4062cc.zip\android-platform_prebuilt-a4062cc\linux-x86\toolchain\arm-eabi-4.4.3, которую я распаковываю в произвольное место.
II. Разгон
Для начала пишу терминале:
Затем перехожу в терминале в каталог с исходниками ядра, загруженными ранее, пишу
make help и получаю тучу информации, среди которой нужно найти нечто, заканчивающееся на _defconfig, у меня это:
И в завершении запускаю графическую конфигурацию ядра:
Появляется вот такое окно:
Продвигаюсь по маршрутам:
- Networking support → Wireless
Спускаюсь к Generic IEEE 802.11 Networking stack (mac80211) и нажимаю на пробел, наблюдая появление значка М перед этим пунктом
Device Drivers -> Network device support → Wireless LAN
Ставлю М у своего чипсета, в моем случае — Atheros Wireless Cards
Затем перехожу в сам этот раздел и внутри отмечаю все тем же пробелом и знаком M нужный мне пункт.
Сохраняю. Возвращаюсь в терминал, а если вы его закрыли, то в и каталог с исходниками тоже, и выполняю сначала make modules_prepare , а следом просто make . Результат потребует ожидания. Мой итоговый набор:
Потребуются модули (.ko-файлы), включающие слово ath и mac80211.ko. Переношу их на телефон.
Можно использовать adb, работая через компьютер, а можно не использовать и работать через терминал телефона, печатая команды пальцами по экрану. Я выбрал adb.
Напомню, как он работает. Подключаю телефон через USB (отладка, естественно, включена) и выполняю:
adb start-server
adb shell
su
Я в телефоне и под рутом.
Смотрю, какие модули уже есть командой lsmod и выгружаю их все, если это возможно, командой rmmod имямодуля
Затем перехожу в каталог с вышеперечисленными модулями:
cd /sdcard/ваш путь/
Можно убедиться в их наличии командой ls .
Загружаю их командой insmod имямодуля в такой и только такой последовательности (иначе просто не загрузится, выдавая ошибку):
ath.ko
ath9k_hw.ko
ath9k_common.ko
mac80211.ko
ath9k_htc.ko
III. Препятствия
В этом и вся соль, без которой статья была бы слишком простой.
1. Версии
Естественно, первая ошибка возникает на первом этапе.
Смотрю, что скажет об этом буфер сообщений ядра, выполнив команду dmesg :
Не совпадают версии. 3.0.31 не есть 3.0.31-1919150.
Открываю тот самый Makefile в исходниках ядра и в самом верху файла нахожу:
VERSION = 3
PATCHLEVEL = 0
SUBLEVEL = 31
EXTRAVERSION =
NAME = Sneaky Weasel
VERSION = 3
PATCHLEVEL = 0
SUBLEVEL = 31
EXTRAVERSION = -1919150
NAME = Sneaky Weasel
И сохраняю.
Заключительный этап пройдет в каталоге /include/config, где в файле kernel.release я поменяю 3.0.31 на 3.0.31-1919150
Снова make modules_prepare , make и далее по предыдущему пункту.
2. ewma
Загружая mac80211.ko снова имею ошибку, о которой dmesg скажет следующее:
Чудом прочитав на одном из англоязычных форумов опасное, но единственное в интернете, «решение», я перехожу в /net/mac80211/ и в файлах rx.c и sta_info.c и просто удаляю [либо комментирую (//)] строки ewma_add(&sta->avg_signal, -status->signal); и ewma_init(&sta->avg_signal, 1024, 8); соответственно.
Опять перекомпилирую модули и двигаюсь дальше.
3. Светодиод
При загрузке ath9k_htc.ko и mac80211.ko очередные ошибки, у mac80211.ko это:
А у ath9k_htc.ko это:
Если ieee80211_-ошибки от ath9k_htc.ko это потому что я пытаюсь его загрузить до mac80211.ko, то led_-ошибки от обоих модулей от того, что телефон не понимает, что делать со светодиодом на моем адаптере. Тут два варианта развития событий.
В первом просто убирается в графической конфигурации ядра значок [*] напротив
Networking support → Wireless → Enable LED triggers и Device Drivers → LED Support.
А во втором этот самый значок заморожен и снять его нельзя. Это значит, что при выборе моего адаптера, автоматически выбирается «поддержка» светодиода, убрать которую нельзя. Конечно же, это мой случай:
Кнопка помощи по Device Drivers → LED Support выводит следующую информацию по разделу:
…
config ATH9K_HTC
tristate «Atheros HTC based wireless cards support»
depends on USB && MAC80211
select ATH9K_HW
select MAC80211_LEDS
select LEDS_CLASS
select NEW_LEDS
select ATH9K_COMMON
.
…
config ATH9K_HTC
tristate «Atheros HTC based wireless cards support»
depends on USB && MAC80211
select ATH9K_HW
select ATH9K_COMMON
.
и сохраняю. Теперь можно снимать галочки:
Здесь и вовсе исчез пункт:
Опять и снова перекомпиляция, новые модули и т.п.
Вуаля. Все модули загружены. Выключаю Wi-Fi на телефоне и подключаю адаптер. Но светодиод на нем, как вы уже догадались, работать не будет. Оно и не нужно.
4. Версия firmware
…
[ 7582.477874] C0 [ khubd] ath9k_htc 1-1:1.0: ath9k_htc: Please upgrade to FW version 1.3
.
Просто качаем другой фирмварь, но уже требуемой версии, и кладем его вместо прошлого.
IV. Финиш
Теперь никаких проблем быть не должно. Выключаю родной Wi-Fi, все модули загружены, фирмварь нужной версии. Вставляю адаптер и netcfg впервые приносит счастье. Устанавливаю для появившегося сетевого интерфейса режим монитора и поднимаю его. Успех!
Ну а как и зачем зачастую используется режим монитора, вы и так все знаете. Спасибо за внимание!
Источник
N150 Wi-Fi USB-адаптер высокого усиления
Описание
150 Мбит/с Wi-Fi USB-адаптер высокого усиления
Стабильное Wi-Fi подключение для работы в интернете
Wi-Fi USB-адаптер TL-WN722N позволит подключать компьютер или ноутбук к беспроводной сети для доступа к высокоскоростному интернету. Он обеспечивает скорость Wi-Fi до 150 Мбит/с, что отлично подойдёт для онлайн-игр и просмотра потокового видео.
Высокомощная съёмная антенна для максимального приёма
TL-WN722N обладает высокомощной внешней антенной, обеспечивающей более надёжный приём и передачу сигнала. Она позволит получить стабильное подключение к Wi-Fi по всему дому. Помимо этого антенну можно повернуть и направить в нужную сторону при различных вариантах установки.
Простая настройка
Удобный мастер настройки на компакт-диске
Кнопка WPS
Быстрая настройка защищённого беспроводного соединения
Операционная система
Поддержка Windows, Mac OS, Linux
What This Product Does
Wireless N USB Adapter TL-WN722N allows you to connect a desktop or notebook computer to a wireless network and access high-speed Internet connection. Complies with IEEE 802.11n, they provide wireless speed up to 150Mbps, which is beneficial for the online gaming or even video streaming. Also, wireless security encryption could be established simply at a push of QSS (Quick Setup Security) button, preventing the network from outside threats.
Аппаратные характеристики | |
---|---|
Интерфейс | USB 2.0 |
Кнопки | Кнопка WPS |
Размеры (Ш × Д × В) | 93.5 x 26 x 11 мм |
Тип антенны | Съемная всенаправленная антенна (RP-SMA) |
Коэффициент усиления антенны | 4 дБи |
Параметры беспроводного модуля | |
---|---|
Стандарты беспроводных сетей | IEEE 802.11n, IEEE 802.11g, IEEE 802.11b |
Диапазон частот (приём и передача) | 2400-2483,5 МГц |
Скороcть передачи | 11n: до 150 Мбит/с (динамическая) 11g: до 54 Мбит/с (динамическая) 11b: до 11 Мбит/с (динамическая) |
Чувствительность (приём) | 130M: -68дБм при 10% PER 108M: -68дБм при 10% PER 54M: -68дБм при 10% PER 11M: -85дБм при 8% PER 6M: -88дБм при 10% PER 1M: -90дБм при 8% PER |
EIRP (мощность беспроводного сигнала) | Награды ПоддержкаПодписаться на рассылку Мы с ответственностью относимся к вашим персональным данным. Полный текст политики конфиденциальности доступен здесь. This website uses cookies to improve website navigation, analyze online activities and have the best possible user experience on our website. You can object to the use of cookies at any time. You can find more information in our privacy policy . Don’t show again This website uses cookies to improve website navigation, analyze online activities and have the best possible user experience on our website. You can object to the use of cookies at any time. You can find more information in our privacy policy . Don’t show again These cookies are necessary for the website to function and cannot be deactivated in your systems. Site Selection Popup SMB Product Selection System tp_smb-select-product_scence, tp_smb-select-product_scenceSimple, tp_smb-select-product_userChoice, tp_smb-select-product_userChoiceSimple, tp_smb-select-product_userInfo, tp_smb-select-product_userInfoSimple __livechat, __lc2_cid, __lc2_cst, __lc_cid, __lc_cst, CASID VISITOR_INFO1_LIVE, YSC, LOGIN_INFO, PREF, CONSENT, __Secure-3PSID, __Secure-3PAPISID, __Secure-3PSIDCC Analysis and Marketing Cookies Analysis cookies enable us to analyze your activities on our website in order to improve and adapt the functionality of our website. The marketing cookies can be set through our website by our advertising partners in order to create a profile of your interests and to show you relevant advertisements on other websites. Google Analytics & Google Tag Manager & Google Optimize _gid, _gat, _gat_global, _ga, _gaexp Google Ads & DoubleClick NID, IDE, test_cookie, id, 1P_JAR fr, spin, xs, datr, c_user, sb, _fbp _ce.s, _CEFT, _gid, cean, _fbp, ceac, _drip_client_9574608, cean_asoc _hjKB, _fbp, ajs_user_id, _BEAMER_LAST_UPDATE_zeKLgqli17986, _hjid, _gcl_au, _ga, ajs_anonymous_id, _BEAMER_USER_ID_zeKLgqli17986, _hjAbsoluteSessionInProgress, _hjFirstSeen, _hjIncludedInPageviewSample, _hjTLDTest Hm_lpvt_33178d1a3aad1dcf1c9b345501daa675, Hm_lvt_33178d1a3aad1dcf1c9b345501daa675, HMACCOUNT_BFESS lms_analytics, AnalyticsSyncHistory, _gcl_au, liap Источник |