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 впервые приносит счастье. Устанавливаю для появившегося сетевого интерфейса режим монитора и поднимаю его. Успех!
Ну а как и зачем зачастую используется режим монитора, вы и так все знаете. Спасибо за внимание!
Источник
Wifi адаптер для андроид устройства
Приветствую, не знаю, куда написать, вот и решил сюда, думаю, что в этой ветке найдётся много знающих людей.
Как известно, существует способ взлома WiFi сети, использующей WPS авторизацию, через подбор WPS ключа. На компьютере под управлением Linux это весьма тривиальная задача и доходчиво описана в данной статье на хабре: Взломать Wi-Fi за 10 часов
Учитывая тот факт, что многие производители пихают в свои детища один и тот же пинкод, то и взлом однотипных роутеров с WPS становится совсем детской забавой, занимающей несколько секунд: Взломать Wi-Fi за… 3 секунды
Естественно пингвины — птицы ленивые, и уже состряпали для себя гуи с кнопкой «Сделать хорошо»: WPSCrackGUI
Вопрос из всего вышесказанного простой — есть ли реализация reaver, airmon-ng, airodump-ng под андроид?
Если нет, может, есть заинтересовавшиеся? Портировать это всё чудо, конечно же с целью проверки WiFi сетей на безопасность 🙂
Спасибо. С удовольствием почитаю мнения форумчан.
UPD:
Со временем в обсуждении появились ссылки на некоторые решения:
1. Тема с хабра об успешном запуске на телефоне SE Xperia Mini и Sony Xperia GO (возможно работает на всех телефонах Sony — надо проверять)
http://habrahabr.ru/post/190554/
2. Успешное использование aircrack-ng и reaver через установку Linux средствами Linux Deploy. На каком устройстве запущено неизвестно, возможно тот же Sony.
http://svedm.net/?p=426
UPD 2:
Существует утилита в виде готового apk файла, позволяющая переводить wifi модули фирмы Broadcom в режим монитора.
Сайт: http://bcmon.blogspot.ru/
Прямая ссылка на скачивание: https://bcmon.googlecode.com/files/bcmon.apk
Для работы программы требуется root и установленный BusyBox
UPD 3:
Появилась графическая оболочка Reaver-GUI for Android
Упростит задачу тем, у кого на устройстве работает bcmon (bcm4329/4330).
Краткое руководство по использованию от MaD_Mike_Nsk на русском здесь
UPD 4:
Пример использования внешнего usb wifi свистка, подключённого через OTG кабель к телефону. От sadykovildar читать здесь.
Сообщение отредактировал derak1129 — 11.11.20, 20:51
Источник
Подключаем к Android устройствам практически любую периферию
Наверняка не все знают, что к Android устройствам можно подключать обычную «компьютерную» периферию. Об этом нам рассказал Валентин Колягин, программист занимающийся разработкой Android систем. Это довольно удобно и в некоторых случаях позволяет обойтись без стационарного ПК. К примеру, можно подключить флэшку, клавиатуру или мышь. Подключение флэшки к устройству без слота для карт памяти даст нам дополнительный объем свободного места под файлы. Такой «трюк» можно использовать для просмотра фильмов на устройстве или просто для копирования документов на работе. Если у вас телефон с большим экраном или планшет, то гораздо удобнее будет вести переписку, набирать документы или просто «серфить» в сети интернет с помощью полноразмерной клавиатуры и мышки.
Перечисленную выше периферию можно подключить практически к любому Android устройству, который поддерживает USB Host через специальный переходник — он называется USB OTG. Однако, чтобы подключить другую периферию (джойстик, Wi-Fi адаптер, 3G модем, HDD диск) нужно производить уже некоторые манипуляции – иногда программные, а иногда и «железные».
Активный USB OTG
Активный OTG это кабель с дополнительным питанием. Некоторые модели телефонов, например, телефоны Motorola, которые поддерживают Lapdock, требуют для подключения любой периферии именно активный OTG. Другие же нуждаются в нем только для подключения особо «прожорливых» устройств, таких как например жесткий диск.
USB OTG с дополнительным питанием в продаже довольно трудно найти. Гораздо проще либо самостоятельно переделать обычный переходник, либо купить активный USB хаб.
Если же вы решите подключить джойстик к Android устройству старой версии (4.0 или 4.1), то вам придется устанавливать драйвера для него. А для этого вам нужно будет найти исходники ядра, и перекомпилировать его, предварительно поставив галочки в конфигах напротив поддержки игровых манипуляторов. Хотя для специалиста по созданию мобильного ПО это рядовая задача, сделать неподготовленному человеку это довольно сложно. Данная процедура должна выполняться в Linux среде, вы должны установить целый пакет необходимых библиотек, а также уметь исправлять ошибки компилятора по мере их появления. Поэтому самым верным шагом будет найти уже собранное кем-то ядро с уже включенной поддержкой геймпадов.
С Wi-Fi адаптерами дела обстоят почти также, но помимо перекомпиляции ядра, для некоторых моделей адаптеров вам нужно будет дополнительно найти прошивку. А когда вы пересоберете ядро и найдете все необходимые файлы, то управлять внешним Wi-Fi адаптером через привычный интерфейс у вас никак не получится – придется обходиться эмулятором терминала. Лично я потратил около двух дней чтобы заставить работать внешний адаптер на своем Motorola Atrix.
Хоть Android и считается довольно удобной операционной системой, но несколько более неординарные задачи выполняются на этой ОС довольно сложно. Особенно это касается поддержки оборудования, заранее не предусмотренного разработчиком. Если вы решите подключить к своему телефону тот же внешний Wi-Fi адаптер, то готовьтесь к тому, что вам придется изрядно повозиться и перечитать довольно много «мануалов».
А вы знали, что у нас есть Instagram и Telegram?
Подписывайтесь, если вы ценитель красивых фото и интересных историй!
Источник
Wifi адаптер для андроид устройства
.
.
.
.
.
UPD. Топик создан в далеком 2010г. Часть информации уже не актуальна.
Пишите в личку, что надо поменять — за топиком давно не слежу и тут давно не общаюсь.
.
.
.
.
.
Пять вариантов сделать интернет на Андроиде через компьютер (он же ББ, Большой Брат): USB, wifi-адаптер (или встроеный в ноут), wifi-роутер, Bluetooth.
0. Общая информация
У вас есть телефон на базе Андроид. Очень хочется гулять с его помощью в инете, иметь доступ к Маркету, чтобы ставить программы. А доступ в инет есть только у вашего компьютера или домашней сети. Как дать телефону доступ к всемирной паутине через комп или как его подключить к домашней сетке? Есть несколько способов сделать это (глобально — 5 шт.). Читайте ниже.
А если нужно наоборот, получить инет ОТ телефона (смартфона) НА компьютер, то ключевое слово для поиска инфы: Tethering
Предупреждение
- Прежде чем задать вопрос о вашей проблеме, прочитайте FAQ . 90% известных проблем и способов решения описаны там.
- Прежде чем публиковать свой «100% офигенный простой самый лучший крутой легкий способ подключения телефона к инету», прочитайте шапку . Возможно, что все это уже написано.
- Прежде чем публиковать свой «офигенный способ решения проблемы», прочитайте FAQ . Очень вероятно, что инфа про это уже есть.
Если вы внимательны и терпеливы, то у вас очень много шансов докопаться до способа решения вашей проблемы или создать свой, поделившись им с форумом. Но даже «маньячная» внимательность и терпеливость не всегда сможет решить вашу проблему. Инет от ББ на андроиде глючный, и это факт. Либо придется смириться с этим, либо купить WiFi роутер, с которыми проблем нет (почти).
А если вам лень читать и копаться самостоятельно, или вам жалко тратить свое время на переваривание информации (а ее тут много), то вы всегда можете обратится сюда.
Пять вариантов сделать интернет на телефоне через компьютер:
1. Тел. подключен к компу через USB
2. C использованием USB-WiFi адаптера / PCI-WiFi-платы / встроенного WiFi адаптера в ноут
1) Прежде чем ботать тему дальше, сначала скачайте последний Cписок рабочих рабочих/не рабочих wifi-устройств (ниже в этом посте), где поищите пруф на успешный/отрицательный опыт с вашим wifi-устройством.
2) Что лучше, Soft AP или Ad-Hoc?
2. В режиме Ad-hoc (также называется: точка-точка, компьютер-компьютер, одноранговая сеть)
UPD. Ad-Hoc «штатно» доступен в последних прошивках CyanogenMod для Android 4.x.x (ICS, Ice Cream Sandwich)
- Для Ad-hoc сети нужен РУТ (root)!
- Не забывайте сделать бэкап , если меняете что-то в системных файлах! upd. Бэкап только одного файла wpa_supplicant может не помочь.
- Прежде чем перезаписывать wpa_supplicant (или другие системные файлы), посмотрите сначала с помощью Root Explorer атрибуты , которые есть у этого файла, и перепишите их на бумажку. После обновления файла, проверьте (Root Explorer’ом), что у нового файла есть атрибуты, которые были первоначально. При необходимости — отредактируйте Root Explorer’ом.
- При организации доступа инета на телефон с помощью Ad-Hoc сети, то глобально процесс бьется на 2 этапа: сначала вы создаете такую Ad-Hoc сеть, и убеждаетесь в ее работоспособности. Потом этой Ad-Hoc сети даете доступ в глобальную сеть (иными словами, настраиваете маршрутизацию, т.е. обеспечиваете доступ к «вышестоящей» сети из вашей созданной Ad-Hoc сети). Подробнее читайте тут.
Как подключить телефон на андроиде (Android) к Ad-hoc-сети по Wifi(+личный опыт Lost sniper)
Настройка раздачи Инета на Android 2.2 c использованием WiFi Адаптера и ОС WinXP в режиме ad-hoc (на Win7/Vista аналогично) (ссылкой поделился Fouk, автор метода vt2007)
+ Исправление (от [email protected]
+ Исправление от 27.02.2012, если отсутствуют iwconfig и/или wlan от 27.02.2012 от Sintetix
Готовый wpa_supplicant (не заработает — можно же всегда откатиться на оригинальный wpa_supplicant, вы же его бэкапили):
3. C использованием WiFi роутера.
Я посоветую роутер с USB-портами, тогда можно принтер расшарить, файлы, USB-винт или флешку подрубить, даже торренты на такой роутер прикрутить можно, и не держать комп для него включенным. От себя порекомендую ASUS WL-500gp, Asus RT-N16. Тонны информации о настройке роутера и разворачивании на нем всего, вплоть до торрентов есть на http://wl500g.info. Кстати, при желании даже usb-модем от Yota можно на вход роутера прикрутить, чтоб далее инет по WiFi раздавать (для небольших офисов это очень удобное решение):umnik:
Еще есть очень хороший роутер Dlink DIR320 по железу идентичен Asus WL-500gP, и его тоже можно прошить в очень даже advance-mode. Подробности есть на том же http://wl500g.info и еще на http://binblog.ru/
Таким образом, есть два неплохих роутера: Dlink DIR320 и Asus WL-500gP. Отличия в цене и в количестве USB-портов (1 у длинк против 2х у асус). Из последних — неплохой вариант Asus RT-N16. Я все эти роутеры прошивал и настраивал, но что нужно именно вам — решать только вам.
какой лучше купить wifi USB адаптор? (Пост #4148571)
Итого, лично я порекомендую Dlink DIR320 или Asus WL-500gP или Asus RT-N16 (самая последняя модель).
Кроме того, в теме какой лучше купить wifi USB адаптор или роутер обсуждали достоинства/недостатки конкретных моделей
4. Софтварная точка доступа под линуксом (Ubuntu, Debian)
+доп. ссылка на софтину (поделился Evil-S)
Способ 3. «Ручками»-2. «AP-Hotspot еще один простой способ получения интернета через Wifi в Ubuntu»
Настройки сетевой безопасности, одинаковые для любых Wi-Fi роутеров/адаптеров:
q1: Мне нужно наоборот, получить мобильный инет ОТ смартфона НА компьютер. Как?
a1: Поискать в настройках. Функция USB-модем или USB tethering (в англоязычной терминологии) сейчас реализована стандартно практически на всех устройствах на всех прошивках, т.к. начиная с Android 2.3 это функция является встроенной в сам Андроид (подсказал Семён)
a2: Использовать программы для Tethering
q2: А можно ли интернет, полученный на Андроид с компа через USB или блютус, раздать еще и по WiFi, например, на другой телефон с вайфай, или ноутбук?
a1: Еcли инет получен через USB, то штатно так можно, по крайней мере, на телефонах HTC: Пруф + скриншоты (идея принадлежит nikita_Alex, +добавлю от себя, что должна стоять прога HTC Synс на компе для обеспечения «сквозного инета»)
a2: Для этого достаточно использовать функцию USB-модем со стандартным native Android USB tethering. Функция доступна практически во всех устройствах на прошивках Android 2.3. Подробности описаны тут (способ нашел Семён)
q3: А можно ли интернет, полученный на Андроид через WiFi, раздать на компьютер, подключенный к этому Андроиду через USB или bluetooth?
a: «У меня получилось это реализовать при помощи EasyTether. Какое бы соединение не использовалось на андроиде, хоть wi-fi, хоть 3G- интернет будет на компе.» (решением поделился Chema84)
q4: Как сделать так, чтобы компьютер/ноутбук/телефон был одновременно и WiFi-приёмником и WiFi-раздатчиком?
a: Никак
a2: Недавно встретил упоминание программы ®fqrouter2 , которая в чем-то решает проблему «никак», актуальную на 2011 год.
a3: Как сделать так, чтобы компьютер/ноутбук был одновременно и WiFi-приёмником и WiFi-раздатчиком.
q5: Как прописать адрес прокси-сервера (Proxy-server) на Андроиде (Android)?
a: Вот так
q7: Почему Android не выходит в интернет через wifi?
a: О причинах этого очень хорошо расписал W.Master
q9: Как в Windows на ББ отучить WiFi-адаптер отрубать сеть через какое-то время? Параметры энергосбережения при этом уже выключены, но не помогает.
a: Запретить опцию «отключение дисплея» через определенное время бездействия. Если не хотите, чтобы горел ночью экран — ставьте скринсэйвер «пустой экран». Решение нашел Joker2112
q10: Какой режим рутера мне подходит? Чем отличаются режимы Access Point, Home Gateway и Router?
a: Нижеприведенная терминология 100% справедлива для роутеров Asus. У других производителей она может отличаться! Обнаружите несоответствие, дайте знать.
q11: Хочу на смартфоне смотреть фильмы и слушать музыку, но контент лежит на компьютере. Как организовать доступ к файлам компьютера через WiFi?
q12: Хочу с компьютера на смарт скопировать музыку, фильмы, игры. Как организовать доступ к файлам смарта через WiFi?
a: Ответ в теме: Настройка доступа к файлам в локальной сети
q12: Тем у кого в windows 7, windows 8, windows 8.1 стоит программа Connectify. И при попытке подключения пишет ошибку «Произошла ошибка проверки подлинности» Или разрывается связь или нет доступа к интернету.
a: Android+PC=Internet (Пост kuka_mobile #46233616)
Источник