Как сделать адаптер для телефона
Практически любой манипулятор подключается к компьютеру с помощью специального usb-кабеля, тем самым превращаясь в устройство ввода информации. Это позволяет создать целую экосистему из разнообразных устройств, но что делать, если вам нужно банально подсоединить клавиатуру к планшету или смартфону?
Что это такое
Для такого существуют otg кабеля, которые по факту просто заумно названные переходники между micro-usb и usb. Позволяющие подключать к тем же смартфонам мышки и с помощью дополнительного ПО и драйверов свободно пользоваться ими, без ограничений. Такой кабель для подсоединения внешних манипуляторов стоит от пары долларов до десятка, в зависимости от фирмы производителя, качества и количества устройств, подсоединяемых за раз. И главный вопрос нашего обывателя: как самому сделать такое устройство, дабы не тратить деньги? Благо, для этого достаточно старой зарядки и ненужного соединителя, а также плоскогубцев и изоленты.
По факту такое устройство не имеет никаких сложных микросхем или адаптеров, вся настройка контроллера происходит за счёт внутреннего ПО планшета или телефона, потому это просто кабель с входом и выходом, который можно изготовить за 10 минут. И всё же, как сделать otg кабель своими руками если у вас есть только старая зарядка от смартфона? Зачем вообще необходимо подключать внешние манипуляторы к мобильным девайсам, и как бороться с различиями в силе тока устройств? И что необходимо знать об отг, прежде чем использовать его?
Способы применения
Прежде чем взять в руки паяльник, стоит понять, зачем вам вообще такой кабель? Ведь клавиатур для того же планшета масса, специально созданных и спроектированных для удобства пользования, не говоря о геймпадах и мышках. Неужели это обычный переходник для тех, кто не может себе позволить подобный «зоопарк» из устройств ввода информации? На деле, это куда более универсальное устройство, ведь micro-usb применяется в тех же powerbank, а сам телефон или планшет с достаточно мощным аккумулятором становится отдельным прибором для подзарядки. Так, вы оказались в ситуации, когда ноутбук практически разрядился, а вот у телефона 100 процентов, здесь вам и пригодится поддержка otg.
Как узнать,поддерживает ли ваше устройство OTG кабель
И вот перед вами уже распиновка и разогретый паяльник, но остаётся проверить последний пункт, а способен ли ваш девайс вообще поддерживать такие соединения, которые позволяют передавать заряд аккумулятора? Или же подключать к нему сторонние манипуляторы? Зависит это сугубо от версии андроида и частично от вшитых в аксессуаре модулей, но для упрощения вашей жизни – существует множество программ тестирования, позволяющих за считанные минуты определить подходит ли телефон для этих целей. Как уже упоминалось, если это не так, попробуйте обновить версию прошивки и скачать драйвера для необходимого аксессуара и будет вам счастье.
Какие инструменты понадобятся
Те, кто не пропускали в школе уроки трудов, уже примерно представляют необходимые инструменты для создания кабеля. Нам потребуется лишь обрезать вход и выход из разных зарядок и соединить между собой при помощи спайки, а затем изоленты, поэтому возьмите:
- Кусачки или плоскогубцы, и здесь следует быть очень осторожным. Любые лишние спайки ухудшают скорость связи между девайсами, увеличивая сопротивление и уменьшая силу тока соответственно.
- Нож или всё те же плоскогубцы, чтобы зачистить изоляцию, притом не стоит снимать её полностью, как это делают некоторые умельцы, достаточно небольшого отрезка оголённого провода, так вы уменьшите шанс перелома цепи.
- Паяльник. Неважно советский прибор у вас в руках или современные паяльника с автоматическим отключением при касании к живой материи. Помните о правилах безопасности, держите его правильно. При некоторой сноровке можно использовать и прибор для выжигания по дереву. Но это займёт чуть больше времени и оставит на нём следы окислительного процесса.
Существует несколько хитростей, которые позволят вам обойтись и без паяльника, о которых известно каждому советскому ребёнку. Достаточно использовать любую нить накаливания или достаточно толстую медную проволоку, и разогреть её отдельно, при этом изолируя от прямого контакта с кожей. Но если вы даже паяльник никогда не держали в руках, лучше не рисковать делая своими руками без помощи специалиста.
Не забывайте о том, что прибор остывает несколько минут после работы и постарайтесь предотвратить попадание канифоли и олова на стол, особенно если он из горючих материалов. Постарайтесь не обжечься, для этого можно купить специальные защитные перчатки.
Пайка
Для начала самодельный кабель следует обрезать по заготовленной схеме. Отмерьте необходимую длину и не старайтесь сделать его максимально длинным, это может привести к неудобствам в использовании. После чего зачистите провод от изоляции, не снимайте слишком много, таким образом вы повысите устойчивость соединения и уменьшите шанс появления «переломов» в спайке. Да и расходовать большое количество олова не следует. Чем аккуратнее и незаметней соединение, тем больше прочность переходника и скорость передачи заряда, а когда сила тока измеряется в 1 А, лишнее сопротивление ни к чему.
Спаяв и убедившись в том, что металл застыл, перемотайте оголённый провод изолентой, опять же – сотня слоёв ни коим образом не повлияет на прочность конструкции, поэтому здесь следует избегать излишнего фанатизма.
Проверка
Установив на телефон всё необходимое ПО и драйвера, испробуйте переходник, если он не будет работать – проверьте ток при помощи амперметра. Ток есть? Тогда проблема уже непосредственно в смартфоне, попробуйте испытать свою самоделку на другом аксессуаре или на другой версии прошивки!
Видео-инструкция
После того как мы соединим перемычкой 4й и 5й контакты, наш гаджет будет выполнять функцию активного устройства и будет понимать, что к нему собираются подключить другое пассивное устройство. Пока мы не поставим перемычку то гаджет и дальше будет выполнять роль пассивного устройства и не будет видеть ваши флешки.
Но это еще не всё, чтобы подключить к телефону или планшету жесткий диск, этого переходника нам будет недостаточно. Для подключения устройств у которых потребление больше чем 100мА, а именно 100мА может выдать порт вашего устройства, нам потребуется подключить к нашему OTG-кабелю дополнительное питания которого должно быть достаточно чтобы ваш жесткий диск заработал.
Вот схема такого переходника
Теперь пора приступить к сбору
Берем старый удлинитель USB и разрезаем его не сильно далеко от разъема 2.0, так как ток всего лишь 100мА, чтобы избежать больших потерь. Отрезаем приблизительно в том месте как показано на фото
После зачищаем наш провод
Далее его необходимо залудить и припаять как показано на схеме. Залудить нужно приблизительно 1мм провода, так как контакты на разъеме micro USB очень мелкие. Вот что получилось у меня.
Я соединил каплей припоя 4 и 5 контакты.
Ну и вот весь наш кабель в сборе
Осталось только проверить работоспособность, берем планшет, вставляем «переходник» и вставляем в него флешку, все работает о чем нам говорит мигающий светодиод на флешке и планшет определяющий флешку.
Ограничения:
Старые мобильники этого делать не умеют.
Флешка должна быть отформатирована в FAT32.
Максимальная ёмкость подключаемой флешки ограничена аппаратными возможностями телефона или планшета.
Идея перевести сетевую карту телефона в режим монитора разрушилась по причине собственной наивности и незнания элементарной информации о том, что подавляющее большинство мобильных сетевых карт этот самый режим монитора и не поддерживают.
Идея реализации задумки с помощью внешнего беспроводного 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»
- 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) и нажимаю на пробел, наблюдая появление значка М перед этим пунктом
Сохраняю. Возвращаюсь в терминал, а если вы его закрыли, то в и каталог с исходниками тоже, и выполняю сначала 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. Версии
Естественно, первая ошибка возникает на первом этапе.
Не совпадают версии. 3.0.31 не есть 3.0.31-1919150.
Открываю тот самый Makefile в исходниках ядра и в самом верху файла нахожу:
VERSION = 3Дописываю к EXTRAVERSION = недостающий кусок версии -1919150 так, чтобы получилось:
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 выводит следующую информацию по разделу:
…Сходу удаляю строки, включающие страшное слово LED, получаю
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
Если все необходимые модули загрузились, но после подключения адаптера к телефону вы не наблюдаете ничего нового в выводе команды netcfg , то на помощь приходит все тот же dmesg .
…
[ 7582.477874] C0 [ khubd] ath9k_htc 1-1:1.0: ath9k_htc: Please upgrade to FW version 1.3
.
Просто качаем другой фирмварь, но уже требуемой версии, и кладем его вместо прошлого.
IV. Финиш
Теперь никаких проблем быть не должно. Выключаю родной Wi-Fi, все модули загружены, фирмварь нужной версии. Вставляю адаптер и netcfg впервые приносит счастье. Устанавливаю для появившегося сетевого интерфейса режим монитора и поднимаю его. Успех!
Ну а как и зачем зачастую используется режим монитора, вы и так все знаете. Спасибо за внимание!
Сегодня в комментариях мне задали очень интересный вопрос. Можно ли в качестве Wi-Fi адаптера для компьютера использовать телефон на Android. Чтобы телефон, или планшет был подключен к Wi-Fi сети, и в режиме модема по USB кабелю передавал интернет на стационарный компьютер. У которого нет Wi-Fi адаптера и соответственно нет возможности напрямую подключатся к беспроводным сетям. И как оказалось – можно.
У меня почему-то никогда не было такой необходимости, и я не интересовался этим вопросом. Еще вроде со второй версии, на Android появился режим модема. И практически все телефоны и планшеты могут раздавать интернет на другие устройства по Wi-Fi, Bluetooth и по USB кабелю. Но как оказалось, Android устройства могут делится не только мобильным интернетом (EDGE, 3G, 4G) , но и Wi-Fi. А это значит, что с телефона можно сделать полноценный Wi-Fi адаптер для ПК.
Это очень полезная функция. Не редко бывает ситуация, когда после установки роутера, или покупки ПК нет возможности протянуть сетевой кабель к компьютеру. А с помощью этой функции можно подключить его к интернету. Пускай временно, пока вы не купите обычный Wi-Fi адаптер (что это такое я писал здесь, а о том как выбрать адаптер, можете почитать тут).
Я все настроил и проверил на телефоне Samsung Galaxy J5. Нашел только такой. Понимаю, что на других телефонах и планшетах, с другой версией Android и оболочкой, настройки могут немного отличатся. Но, думаю, не критично. Разберетесь. Или спросите в комментариях, если не сможете найти настройки.
Хочу еще добавить, что подключение к Wi-Fi сети через телефон работает очень стабильно и быстро. Интернет на компьютере "летает". В телефонах устанавливают хорошие беспроводные модули (не на всех, конечно) .
Подключаем компьютер к Wi-Fi сети через Android-устройство в роли адаптера
Сначала советую отключить мобильный интернет на своем телефоне. Просто отключите передачу данных через сотовую сеть. Это на всякий случай. Чтобы точно знать, что используется подключение по Wi-Fi.
Конечно же, ваш телефон должен быть подключен к Wi-Fi сети.
С помощью USB кабеля подключаем телефон к компьютеру. Он будет работать не только как адаптер, но еще и будет заражаться.
На телефоне заходим в настройки, в раздел "Подключения", дальше переходим в "Точка доступа и модем" и включаем "USB-модем" (общий доступ к интернет-подключению на этом телефоне) .
На компьютере сразу появится доступ к интернету через телефон.
Появится просто еще один сетевой адаптер. У меня Ethernet 4 (Remote NDIS based Internet Sharing Device) . У вас может быть другой. Это не важно.
Чтобы перестать использовать свой смартфон в качестве Wi-Fi приемника, просто отключите функцию "USB-модем" в настройках, или отключите телефон от компьютера.
Точно так же можно использовать и планшет на Android.
Надеюсь, эта статья вам пригодилась. Обязательно оставляйте в комментариях свои отзывы.
Читайте также: