Подключение linux android usb

Android tethering (Русский)

Состояние перевода: На этой странице представлен перевод статьи Android tethering. Дата последней синхронизации: 14 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Тетеринг — это раздача интернета на компьютер со смартфона с помощью его сетевого подключения. USB-модем и точка доступа Wi-Fi точки доступа поддерживаются изначально с Android Froyo (2.2). В более старых версиях ОС Android большинство неофициальных ПЗУ имеют эту функцию.

Точка доступа Wi-Fi

Использование телефона Android в качестве точки доступа Wi-Fi (с использованием мобильного интернета 3G/4G) стало доступно с версии Froyo (Android 2.2) без необходимости иметь root права на телефоне.

Включается одним из следующих способов:

  • Настройки > Сеть и Интернет > Точка доступа и модем > Точка доступа Wi-Fi
  • Настройки > Ещё. > Режим модема > Точка доступа Wi-Fi

Примечание: На некоторых телефонах этот метод быстро разряжает батарею, и в отличие от USB, приводит к интенсивному нагреву.

USB модем

USB-тетеринг доступен с Android 2.2 «Froyo».

  • Подключите телефон к компьютеру с помощью USB кабеля (режим подключения USB — Медиа устройство, Монтирование SD карты или Только зарядка — это не важно, но обратите внимание, что вы не сможете поменять режим подключения USB во время тетеринга)
  • Включите режим USB-модем на телефоне. Обычно эта настройка находится одним из следующих способов:
    • Настройки -> Сеть и Интернет -> Точка доступа и модем
    • Настройки -> Ещё. -> Режим модема -> USB-модем

    Примечание: Название устройства может меняться при подключении к другому usb порту. Вы можете изменить название устройства, чтобы создать уникальное имя для вашего устройства к какому бы usb порту вы ни подключились.

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

    Использование systemd-networkd с udev

    This article or section needs expansion.

    Reason: networkd can handle interface changes without a restart, so why this udev rule? (Discuss in Talk:Android tethering (Русский))

    Используя systemd-networkd, вы можете автоматически перенастроить сеть на использование телефона в качестве шлюза при его подключении.

    /etc/udev/rules.d/90-android-tethering.rules
    # Execute pairing program when appropriate ACTION=="add|remove", SUBSYSTEM=="net", ATTR=="18d1" ENV=="rndis_host", SYMLINK+="android", RUN+="/usr/bin/systemctl restart systemd-networkd.service"

    Вам может понадобиться изменить атрибут idVendor под ваш телефон. Можно проверить с помощью udevadm:

    $ udevadm info /sys/class/net/enp0s26u1u2

    Затем создайте соответствующий файл systemd-networkd:

    /etc/systemd/network/50-enp0s26u1u2.network
    [Match] Name=enp0s26u1u2 [Network] DHCP=ipv4

    AziLink — это приложение, которое позволяет сделать USB-тетеринг на Android-устройствах без прав root. Это очень полезно для версий Android старее чем 2.2, когда ещё не было встроенной функции USB-тетеринга. Он не требует изменений в вашем браузере. На самом деле, весь сетевой трафик прозрачно обрабатывается для любого приложения ПК (кроме пингов ICMP). Он несколько интенсивно потребляет процессор при высоких нагрузках (скорость передачи данных 500 кбайт/с может занимать более 50% телефонного процессора).

    Необходимые инструменты

    На Arch установите пакет openvpn . Также необходимо установить android-tools для команды adb и android-udev для установки корректного /usr/lib/udev/rules.d/51-android.rules , чтобы ваш телефон был распознан. На телефоне вам нужно приложение azilink.apk (домашняя страница azilink), которое представляет собой NAT на базе Java, который будет взаимодействовать с OpenVPN на вашем компьютере.

    Настройка соединения с телефоном в Arch Linux

    После того, как вы установили Android SDK, чтобы использовать предоставленные инструменты, ваш телефон должен быть правильно настроен в udev, и вы должны предоставить пользователю Linux права. В противном случае вам могут потребоваться привилегии root для использования Android SDK, что не рекомендуется. Чтобы выполнить эту настройку, включите отладку USB на телефоне (обычно в меню «Настройки» -> «Приложения -> Разработка -> USB-отладка»), подключите его к ПК с помощью USB-кабеля и выполните команду lsusb . Устройство должно быть в списке. Пример вывода для телефона Acer Liquid:

    Bus 001 Device 006: ID 0502:3202 Acer, Inc.

    Затем создайте следующий файл, заменив ciri на ваше собственное имя пользователя Linux, и 0502 на Vendor ID вашего телефона:

    /etc/udev/rules.d/51-android.rules
    SUBSYSTEM=="usb", ATTR(idVendor)=="0502", MODE="0666" OWNER="ciri"

    Как root выполните команду udevadm control —reload (или перезагрузите компьютер), чтобы применить изменения.

    Чтобы убедиться, что изменения применились, выполните adb devices , и она должна отобразить device вместо unauthorized .

    Также можно попробовать выполнить на вашем Linux-ПК команду adb shell из Android SDK в качестве обычного (не root) пользователя: вы должны получить приглашение unix «на телефоне».

    Процедура

    Запустите приложение AziLink в телефоне и выберите «О программе» внизу, чтобы получить инструкции, которые в основном:

    1. Вам нужно будет включить отладку USB на телефоне, если она еще не была включена (обычно в меню «Настройки» -> «Приложения» -> «Разработка» -> «Отладка USB»).
    2. Подключите телефон с помощью кабеля USB к ПК.
    3. Запустите AziLink и убедитесь, что в верхней части окна отмечена опция Активная служба.
    4. Выполните на своем ПК Linux следующие команды:
    $ adb forward tcp:41927 tcp:41927 # openvpn azilink.ovpn
    dev tun remote 127.0.0.1 41927 tcp-client ifconfig 192.168.56.2 192.168.56.1 route 0.0.0.0 128.0.0.0 route 128.0.0.0 128.0.0.0 socket-flags TCP_NODELAY keepalive 10 30 dhcp-option DNS 192.168.56.1

    Вам может потребоваться вручную обновить содержимое resolv.conf до

    Если вы используете NetworkManager, вам может потребоваться остановить его перед запуском OpenVPN.

    USB-модем с EasyTether

    Скачайте клиент easytether. Устанавливается так:

    # pacman -U easytether-0.8.5-2-x86_64.pkg.tar.xz # easytether-usb # dhcpcd tap-easytether

    Убедитесь, что Android-приложение EasyTether установлено на телефоне, к которому будет производиться приключение. Примечание: Lite-версия приложения отключает некоторые соединения, и вам нужно купить полную версию для полной функциональности. По этой причине рекомендуется использовать AziLink.

    Модем через Bluetooth

    Android (по крайней мере, начиная с 4.0, возможно, ранее) может предоставить персональную сеть Bluetooth (PAN) в режиме точки доступа.

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

    В качестве альтернативы: убедитесь, что вы можете подключить свой компьютер и устройство Android, как описано в Bluetooth (Русский), затем, заменяя адрес устройства (здесь задан как AA_BB_CC_DD_EE_FF ), выполните:

    $ dbus-send --system --type=method_call --dest=org.bluez /org/bluez/hci0/dev_AA_BB_CC_DD_EE_FF org.bluez.Network1.Connect string:'nap'

    Это создаст сетевой интерфейс bnep0 . В заключение, настройте сетевое соединение на этом интерфейсе; Android по умолчанию предлагает DHCP.

    Подключение через прокси-сервер SOCKS

    С этим методом привязка достигается путем переадресации порта с телефона на ПК. Это подходит только для браузеров. Для Firefox вам следует установить параметру network.proxy.socks_remote_dns значение true в about:config ( адресная строка )

    Необходимые инструменты

    • Пакеты android-tools и android-udev
    • Кабель USB для подключения вашего телефона к ПК
    • Один из двух: Tetherbot или Proxoid

    Инструкция

    Tetherbot

    Tetherbot is an experimental SOCKS proxy and Port Bouncer that should allow you to connect your laptop to the internet using the internet connection (EDGE, 3G or Wifi) of your T-Mobile G1 Cellphone.

    Проект закрыт и веб-сайт уже не работает, но его архив доступен в Wayback Machine[1], откуда можно скачать APK.

    Чтобы использовать SOCKS-прокси от Tetherbot для подключения браузера к интернету, выполните следующие действия:

    1. На телефоне запустите приложение Tetherbot и нажмите кнопку Start Socks
    2. На компьютере пробросьте порт до SOCKS-прокси следующей командой:
    # adb forward tcp:1080 tcp:1080

    Примечание: Не забудьте отключить прокси в настройках браузера, если вы хотите прекратить использование соединения с телефоном.

    Proxoid

    Следуйте инструкциям, приведенным в следующих разделах link

    Источник

    Как передавать файлы между Android и Linux

    В настоящее время многие дружественные к пользователю дистрибутивы уже настроены на загрузку файлов на телефон Android с Linux и для скачивания фотографий и любых других файлов с телефона на Linux. Поэтому достаточно подключить телефон к компьютеру по USB кабелю, затем в телефоне разрешить обмен данными по USB и в Linux вы увидите содержимое телефона, а также его карты памяти прямо в файловом менеджере (проводнике).

    Тем не менее эта функциональность присутствует не на всех версиях Linux, либо вы можете столкнуться с проблемами, что что-то не работает. Эта инструкция поможет вам настроить с нуля обмен файлами между Android и Linux, а также разобраться в возможных проблемах, почему Linux не видит телефон.

    Linux не видит Android телефон

    Если вы подключили Android телефон к Linux, но ничего не происходит и, в особенности, телефон не спрашивает разрешение на передачу данных, то начните с самого простого — попробуйте использовать другой USB провод. Некоторые кабели просто не способны передавать данные, так как там отсутствуют необходимые для этого контакты. Также выполните такие простые действия как перезагрузка компьютера и перезагрузка телефона.

    Если там будет показано что-то вроде:

    libmtp version: 1.1.15 Listing raw device(s) No raw devices found.

    То есть если будет строка «No raw devices found.», значит нужно обратить внимание на кабель.

    Если появится сообщение об ошибке (команда не найдена), то в Debain и производных (Ubuntu, Linux Mint, Kali Linux) установите необходимые пакеты:

    sudo apt install mtp-tools libmtp9

    В Arch Linux и производных:

    Передача файлов с/на телефон без провода

    Прежде всего, отметим, что вам не нужен USB для передачи файлов с телефона и на телефон. Вы можете передавать файлы с/на Android устройства используя Wi-Fi сеть вашего устройства — то есть вам не нужно настраивать роутер или что-то ещё. Просто установите приложение Airdroid на ваше устройство Android. Затем активируйте Мобильную точку доступа Wi-Fi на вашем устройстве и откройте программу Airdroid.

    Теперь с вашего компьютера подключитесь к точке доступа, которую создал ваш телефон. На компьютере в любом веб-браузере откройте URL адрес, которую вам даст Airdroid. Будут запрошены разрешения, нажмите Подключить.

    Вот и всё! Работает на любом операционной системе, у которой есть веб-браузер, то есть везде.

    Настройка автоматического подключения телефона

    В настоящее время окружения рабочего стола сами монтируют телефон при его подключению к Linux. Если этого не происходит, значит не хватает каких-то необходимых пакетов.

    В Debain и производные (Ubuntu, Linux Mint, Kali Linux) проверьте и, в случае отсутствия, устаовите:

    В Arch Linux и производных установите:

    Обратите внимание, что в репозиториях Arch Linux также присутствует пакет fuse3 — можете попробовать установить его вместо fuse2.

    Подключите телефон к компьютеру и на телефоне разрешить обмен данными:

    Если установка пакетов не помогла, попробуйте перезагрузить компьютер, также проверьте файл fuse.conf:

    Найдите строку с #user_allow_other и убедитесь, что она раскомментирована, то есть выглядит так:

    Настройка автоматического монтирования флешек телефона

    Если вы отключили автоматическое монтирование устройств на уровне системы, то вы можете настроить автоматическое монтирования телефона с помощью правил udev.

    В выводе команды mtp-detect найдите значение idVendor и idProduct.

    Можно использовать следующие команды для ускорения процесса

    mtp-detect | grep idVendor mtp-detect | grep idProduct

    Создайте файл с udev правилом:

    sudo gedit /etc/udev/rules.d/51-android.rules

    в нём разместите следующее содержимое:

    SUBSYSTEM=="usb", ATTR=="сюда_впишите_idVendor", ATTR=="сюда_впишите_idProduct", MODE="0666"
    idVendor: 04e8 idProduct: 6860

    Тогда моё правило выглядит так:

    SUBSYSTEM=="usb", ATTR=="04e8", ATTR=="6860", MODE="0666"

    Чтобы это правило вступило в силу без перезагрузки компьютера выполните:

    sudo udevadm control --reload-rules && udevadm trigger

    Отредактируйте файл fuse.conf:

    Найдите строку с #user_allow_other и раскомментируйте её, чтобы получилось:

    Создайте точку монтирования:

    sudo mkdir /mnt/android sudo chmod a+rwx /mnt/android

    Связанные статьи:

    Источник

    Читайте также:  Kernel and shell in linux
Оцените статью
Adblock
detector