Usb wifi модуль для android

Wi-Fi адаптер через OTG

Идея перевести сетевую карту телефона в режим монитора разрушилась по причине собственной наивности и незнания элементарной информации о том, что подавляющее большинство мобильных сетевых карт этот самый режим монитора и не поддерживают.

Идея реализации задумки с помощью внешнего беспроводного Wi-Fi адаптера или «свистка», поддерживающего желанный режим монитора, рушилась десятки раз из-за новых и новых ошибок и потери веры в то, что это вообще возможно, но переросла в данную статью.

Итак, как подключить внешний Wi-Fi адаптер к устройству на Android или бег с препятствиями на дистанции «вставил — netcfg wlan0 up»:

Должно быть в наличии:

  1. Телефон на Android
  2. Поддержка OTG и сам OTG
  3. Terminal Emulator
  4. ROOT
  5. Исходники ядра

FAQ — структура выглядит так:

  • Внешний Wi-Fi адаптер («свисток»)
  • Его firmware
  • Linux дистрибутив
  • ADB (не обязательно, но так удобнее)
  • Мой случай:

    1. Samsung GT-P5100 Galaxy Tab 2 10.1, Андроид 4.2.2
    2. OTG «30-pin — USB»
    3. Terminal Emulator for Android
    4. ROOT
    5. Исходники стокового ядра 3.0.31-1919150 с сайта Самсунг
    6. Адаптер TP-LINK TL-WN722N на чипсете AR9271
    7. ath9k_htc/htc_9271.fw
    8. Дистрибутив Ubuntu 15.04 в VMware
    9. 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. Переношу их на телефон.

    Читайте также:  Android x86 1 гб озу

    Можно использовать 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 на телефоне и подключаю адаптер. Но светодиод на нем, как вы уже догадались, работать не будет. Оно и не нужно.

    Читайте также:  Ducati challenge для андроид

    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 впервые приносит счастье. Устанавливаю для появившегося сетевого интерфейса режим монитора и поднимаю его. Успех!

    Ну а как и зачем зачастую используется режим монитора, вы и так все знаете. Спасибо за внимание!

    Источник

    Подключиться к вай фай через внешний адаптер на андроид

    Имеется внешний адаптер и андроид смарт с установленными модулями и прошивкой, при подключении определяется как wlan1, поиск сетей через iw работает, как подключиться если андроид кроме wlan0 ни с чем не работает?

    Через udev делать симлинк wlan0

    Не совсем понял. Udev в андройде вроде как нет, что значит делать симлинк?

    Сетевой интерфейс это не файл, симлинк не создашь. Тут надо конфигурацию wpa_supplicant менять. Или удалить интегрированный wlan0, чтобы внешний стал wlan0.

    Вот в этом и проблема) Удалить встроенный wlan0 можно только удалив встроенную сетевуху(отключив), но да же при анбинде драйвера(она удаляется это проверено) не удаляется phy0 — т.е. её сетевой интерфейс — а если подключить внешку даже если она станет wlan0 wpa_supplikant по какой то причине завершается(светодиод моргнет и все) в выводе dmesg — reseived control message stop for wpa_supplicant from pid 781(system/bin/wificond), т.е.работает это только когда одна сетевуха подключена-либо встройка либо внешка. Что примечательно — даже если юзать виртуалку(chroot точнее как в linux deploy) и подключать через местный wpa_supplicant — даже установив соединение(на роутере отображается как подключенное) трафик через него не идёт. Единственный способ подключения это когда работает встроенный интерфейс вай фая в андройде(я про индикатор в шторке сейчас) если подключаться без него — просто из терминала- ничего не работает.

    Даже если просто-откинув все в сторону,юзая только встройку, подключаться к вай фай через терминал а не через встроенное меню — трафик не идет хотя интерфейс подключен.

    Источник

    Телефон Android как WiFi адаптер (приемник) для компьютера

    Нужно подключить компьютер к интернету, а нет витой пары или модема поблизости? Или не знаете пароль от WiFi чтобы подключить ноутбук, но на смартфоне пароль введен? Давайте покажу как использовать телефон Android как WiFi адаптер и подавать через него интернет.

    Данная статья подходит для всех брендов, выпускающих телефоны на Android 11/10/9/8: Samsung, HTC, Lenovo, LG, Sony, ZTE, Huawei, Meizu, Fly, Alcatel, Xiaomi, Nokia и прочие. Мы не несем ответственности за ваши действия.

    Внимание! Вы можете задать свой вопрос специалисту в конце статьи.

    Особенности работы Андроид телефона в режиме Wi-Fi адаптера

    Довольно часто пользователи интересуются вопросом, можно ли в виде адаптера Wi-Fi для персонального компьютера использовать телефон, работающий на операционной системе Андроид. Здесь подразумевается, что смартфон должен быть подключен к сети Wi-Fi, а в режиме модема по интерфейсу USB на стационарный компьютер передается интернет.

    Читайте также:  Как восстановить резервную копию whatsapp с андроида

    При этом у персонального компьютера отсутствует адаптер Wi-Fi, поэтому подключаться напрямую к беспроводным сетям нет возможности. Такое подключение выполнить можно.

    Режим модема появился на операционной системе Андроид еще со второй версии. Почти все планшеты и телефоны на данной операционной системе способны раздавать интернет на иные устройства по кабелю USB, Bluetooth и по Wi-Fi.

    Девайсы Андроид делиться могут не только мобильным интернетом (4G, 3G, EDGE), но и Wi-Fi. Это означает, что из смартфона можно сделать самый настоящий адаптер Wi-Fi для персонального компьютера.

    Не знаешь как решить проблему в работе своего гаджета и нужен совет специалиста? На вопросы отвечает Алексей, мастер по ремонту смартфонов и планшетов в сервисном центре.Напиши мне »

    Данная функция очень полезная. Довольно распространены ситуации, когда после процесса установки роутера, приобретения персонального компьютера, отсутствует возможность, чтобы к компьютеру протянуть сетевой кабель.

    При помощи данной функции появляется возможность для его подключения к сети интернет. Пусть и временно, но до приобретения обычного адаптера Wi-Fi у вас будет доступ к глобальной сети.

    Все настройки нашей инструкции были проведены и проверены на смартфоне Samsung Galaxy J5. На иных телефонах и планшетах, где установлена другая версия системы Андроид, могут немного отличаться настройки. Это не критично в данной ситуации, даже начинающие пользователи смогут понять суть настройки. Если у вас появятся вопросы или не получается выполнить все настройки, то можете спросить в комментариях.

    Еще стоит добавить, что к Wi-Fi сети подключение через смартфон работает очень быстро и стабильно. На компьютере интернет просто «летает». На многих телефонах производители устанавливают отличные беспроводные модули.

    Подключение компьютера к сети Wi-Fi через устройство Андроид в роли адаптера

    Вначале необходимо на своем смартфоне отключить мобильный интернет. Потом просто отключаем функцию передачи данных при помощи сотовой сети. Это делается на всякий случай, чтобы знать точно, что применяется подключение по интерфейсу Wi-Fi.

    Выполняем следующие шаги:

    • Подключаем используемый телефон к сети Wi-Fi. Увеличить
    • При помощи кабеля USB подключаем гаджет к компьютеру. Функционировать он будет не только в виде адаптера, но и еще сможет заряжаться. Увеличить
    • На смартфоне необходимо перейти в «Настройки», где выбираем пункт «Подключения». Затем нужно перейти в меню «Точка доступа и модем». В данном меню активируем функцию «USB-модем». Это необходимо для общего доступа для установленного интернет подключения на телефоне. Увеличить
    • На персональном компьютере сразу появится возможность доступа к интернету при помощи смартфона на системе Андроид.

    Увеличить

    Отобразится в системе еще один сетевой адаптер. В нашем случае это Ethernet 4. На других компьютерах сетевой адаптер может быть другой, но это не является важным моментом.

    Увеличить

    Теперь мы разобрались с вопросом, как выполнить подключение компьютера к сети Wi-Fi через устройство Андроид в роли адаптера. Чтобы свой телефон перестать использовать в виде приемника Wi-Fi, необходимо выполнить одно из следующих действий:

    • Просто отключаем смартфон от персонального компьютера.
    • В настройках гаджета Андроид отключаем функцию «USB-модем».

    Идентичным способом можно использовать и планшеты, и телефоны на системе Андроид для раздачи интернета на персональный компьютер.

    Источник

    Оцените статью