Подключение устройства android linux

Как подключить телефон с Android к Ubuntu как MTP устройство

Один из способов подключить Android к Ubuntu Linux

Данное руководство проверено для телефонов Samsung Galaxy Nexus и Samsung Galaxy S 2 (в дальнейшем «телефон» или «Android«). Думаю, и для многих других будет также справедливо.

Телефон при подключении к компьютеру по USB кабелю информирует пользователя и предлагает выбрать: подключиться как MTP-устройство (это различные музыкальные плееры, хранилища музыки и просто файлов), или же подключиться как камера.

Однако, Ubuntu об этом устройстве мало что знает, поэтому не предлагает что-либо с ним делать. Что же, наша задача: объяснить как пользоваться Android’ом Ubunt’е

Кстати, на месте «Ubuntu» тут можно написать «Linux Mint» — для него всё ровно то же. А при должной замене названий команд установки пакетов — это будет работать на большинстве Linux-based систем (названия самих пакетов обычно совпадают).

Итак, чтобы можно было использовать в Ubuntu телефон с Android в качестве MTP-устройства, нужно установить пакеты mtpfs — для того, чтобы можно было использовать телефон, как обычный примонтированный диск. mtp-tools также окажется полезным.

Далее вводим команду mtp-detect для выяснения подробностей о телефоне, что мы подключили:

Здесь для нас важны 2 числа: VID и PID. Это vendor id и product id — идентификатор производителя и идентификатор продукта (модели устройства).

Теперь нам нужно отредактировать конфигурационный файл:

Тут то нам и пригодятся VID и PID! Пишем в файле:

Не забыть заменить 04e8 и 685c на нужные VID и PID — соответственно!

Чтобы правило из конфигурационного файла вступило в силу — перезапускаем udev:

Создаём папку, в которую будет монтироваться (подключаться Android). Например так:

Теперь добавим себя в группу тех, кто может подключать устройства:

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

Строчка «#user_allow_other» должна быть раскоментирована (без решётки спереди), то есть «user_allow_other».

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

После перезагрузки можно будет выполнить команду «android-on«, чтобы подключить телефон. И команду «android-off«, чтобы отключить.

Источник

Linuxoid

OpenSource forever

Подключаем сотовый телефон к ПК с Linux

Как и в Windows мобильный телефон к компьютеру можно подключить несколькими способами: USB дата-кабель, инфракрасный порт (IrDA) и Bluetooth. Все они имеют как достоинства, так и недостатки. Дата-кабель обеспечивает более надежное соединение к тому же иногда с его помощью можно подзаряжать телефон. В случае IrDA и Bluetooth батареи сядут на порядок быстрее. Но мне пришлось изрядно помучиться пытаясь найти подходящий кабель для своего первого телефона. Кабель, произведенный дядюшкой Ляо, не всегда обеспечивает все заложенные в телефон функции, а фирменный стоит далеко не дешево, иногда до трети стоимости самого телефона.

Инфракрасное соединение не очень удобно в плане использования, ведь приходится все время держать глазок напротив друг друга, что в некоторых ситуациях, например в движении просто не возможно. Поэтому при покупке следующего телефона основным критерием было наличие bluetooth. Преимуществ у таких моделей больше. Если вдруг опять захочется поменять телефон, то кабель придется также заменить, а USB-Bluetooth переходник нет. Кроме того, в местах слабого сигнала телефон можно поместить повыше, а самому устроиться где-нибудь на диване. Пингвин к нашей радости поддерживает все варианты подключения, более того в современных дистрибутивах уже не требуется пересборка ядра с наложением патчей. Мой KUbuntu 7.04 после подключения USB-Bluetooth адаптера выводит сообщение о том, что найден такой адаптер. При наличии нужных программ они сами в большинстве случаев находят подключенный к компьютеру мобильный телефон. Теперь немного об особенностях.
Кабель может для подключения телефона к компьютеру, может иметь два разъема – COM и USB. В первом случае все просто, после подключения телефон будет висеть там где ему и положено, то есть на /dev/ttyS* (где * — цифра от 1 до 4). Чтобы не мучиться с поиском, можно просто ввести «dmesg | grep tty», вывод покажет активные устройства. Изначально большая часть телефонов USB не поддерживает, поэтому чтобы все работало, требуется специальный драйвер конвертер. В Windows его устанавливают отдельно, а в тех дистрибутивах Linux, что мне попадались за последние два года, нужный драйвер уже был включен. Если ядро самосборное, поищи нужное командой:

Читайте также:  Android 2 sim все

$ cat /usr/src/linux/.config | grep USB | grep SERIAL

Как минимум нужно включить «CONFIG_USB_SERIAL». В этом случае телефон будет подключен к /dev/ttyACM0 (или 1), в некоторых дистрибутивах это может быть что-то вроде /dev/ttyUSB0. Чтобы система увидела USB-IrDA устройства ядро должно быть собрано с «CONFIG_IRDA, CONFIG_USB_IRDA, CONFIG_IRCOMM, CONFIG_IRDA_FAST_RR» и прочими параметрами, включающими поддержку IrDA. Как и Bluetooth IrDA оброс различными спецификациями, которые правда скрыты от пользователя, но в Linux иногда все-таки приходится с ними сталкиваться. Так инфракрасный порт может работать аж в трех режимах: FIR (fast, около 4 Мб/с), SIR (Serial 115.2 кб/с) и неофициальный MIR (Medium, 0.5-1.1 Мб/с). Последним параметром ядра показанным выше мы как раз и включили самый быстрый режим FIR. Теперь ставим пакет irda-utils:

$ sudo apt-get install irda-utils

После его установки в каталоге /etc/modutils появится файл irda-utils, в нем указанны модули, которые должны автоматически стартовать при загрузке системы. В других дистрибутивах это может быть каталог /etc/modutils.d или модули указываются в файле /etc/modules.conf. Подключаем устройство и активируем его командой:

$ irattach irda0 -s

В результате должен загрузиться модуль ядра, а само устройство будет находиться на /dev/irda0 или /dev/ircomm0. В некоторых случаях программа не может самостоятельно определить устройство, тогда его следует указать вручную, использовав параметр -d.

$ irattach irda0 -d actisys -s

Полный список поддерживаемых устройств можно просмотреть, введя «—help». Протестировать соединение можно с помощью команды «sudo irdadump», которая после запуска должна вывести список проходящих пакетов. Само соединение должно быть видно команде «ifconfig». Есть и свой аналог команды «ping» «irdaping» в качестве параметра принимающий ID устройства, его можно увидеть в дампе. Кроме этого некоторую информацию можно взять из файловой системы /proc:

Дополнительную информацию о работе инфракрасных устройств можно получить на сайте проекта Linux/IrDA (irda.sf.net) и в Linux Infrared HOWTO (www.tldp.org/HOWTO/Infrared-HOWTO).

Поддержка Bluetooth

Так как с «синим зубом» возни несколько больше (из-за его возможностей), о нем подробнее. Во многом его настройка похожа на IrDA, отличаются только команды. Правда на заре своего появления в Linux была путаница, так как существовало несколько проектов, предлагающих свои драйвера, и в различных дистрибутивах тогда можно было встретить разные решения. Но в последнее время ситуация можно сказать устаканилась и победил сильнейший — Bluez (www.bluez.org). Единственный здравствующий ныне проект. Хотя команда «sudo apt-cache search bluetooth» выдает наличие драйверов Affix (affix.sf.net). Эти драйвера разрабатывались при поддержке Nokia, но уже 3 года как сайт впал в спячку, поэтому о них мы забудем. Bluez по умолчанию включен во все версии ядра последних выпусков, поэтому в современных дистрибутивах мы будем работать с именно ними. Поэтому если устройство нормально работает и доступны все необходимые функции, то использовать другие разработки, смысла нет. Кстати проект Bluez был отмечен сайтом TuxMobil GNU/Linux Award 2005 (tuxmobil.org). А сам TuxMobil весьма полезный ресурс, который поддерживает свободные разработки для мобильных систем, на котором всегда можно будет найти ответы на большинство вопросов. В самосборном ядре нужно включить все параметры в секции «Bluetooth device drivers» (CONFIG_BT_*). Кроме этого устанавливаем нужные утилиты:

$ sudo apt-get install bluez-utils bluez-hcidump

Аналогично с IrDA в каталоге /etc/modutils появился файл bluez со списком модулей:

$ cat /etc/modutils/bluez
# BlueZ modules
alias net-pf-31 bluez
alias bt-proto-0 l2cap
alias bt-proto-2 sco
alias bt-proto-3 rfcomm
alias bt-proto-4 bnep
alias bt-proto-5 cmtp
alias bt-proto-6 hidp
alias tty-ldisc-15 hci_uart
alias char-major-10-250 hci_vhci

В таких дистрибутивах как Slackware придется все это вбивать вручную. Вставляем адаптер USB-Bluetooth и проверяем найдено ли устройство:

$ /sbin/lsmod | grep usb
hci_usb 18204 6
bluetooth 55908 15 rfcomm,l2cap,hci_usb
usbcore 134280 4 hci_usb,ohci_hcd,ehci_hcd

Кроме того, соответствующая информация должна появиться в /var/log/messages:

$ cat /var/log/messages | grep usb

C помощью «hciconfig» входящей в комплект bluez-utils проверяем, как система видит наш адаптер:

$ hciconfig -a
hci0: Type: USB
BD Address: 00:0D:18:01:1C:05 ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:528 acl:0 sco:0 events:42 errors:0
TX bytes:410 acl:0 sco:0 commands:30 errors:0

Если BD адрес равен нулям, и статус равняется DOWN, то это означает, что не запущен демон hcid (Bluetooth Host Controller Interface Demon). Настройки hcid производятся в файле /etc/bluetooth/hcid.conf. Он хорошо комментирован, хотя там все и на английском, но в целом понятно о чем речь. В большинстве случаев можно вообще ничего не трогать. Параметр «security user» означает, что при обнаружении нового устройства все время будет запрашиваться PIN. Если его лень вводить каждый раз, меняем «user» на «auto» и в passkey прописываем код который будет использоваться при соединении (используй только цифры). Совсем ленивые (но беспечные) могут использовать и none. Кстати за получение PIN отвечает утилита «bluez-pin». Если в hcid.conf вносились изменения, перезапускаем демон:

Читайте также:  Making money from android

$ /usr/sbin/hciconfig hci0 up; /usr/sbin/hcid -f /etc/bluetooth/hcid.conf

И опять проверяем, обнаружено ли наше Bluetooth устройство. Найти все активные устройства можно с помощью:

$ hcitool scan
Scanning …
00:0F:DE:1A:34:05 T630

Итак, телефон успешно найден, соединяемся с ним:

$ sudo l2ping 00:0F:DE:1A:34:05

Вводим PIN и смотрим, как проходят пакеты. Утилита hcitools имеет еще ряд параметров позволяющих проверить время на другом устройстве, регенерировать ключи, сменить режим шифрования и пр. Например, чтобы просмотреть информацию о найденном устройстве, используем ключ info:

$ hcitool info 00:0F:DE:1A:34:05

Как и в случае с IrDA здесь также есть свой сниффер hcidump, с помощью которого можно прослушивать трафик проходящий через HCI-интерфейсы. Кстати если понадобится указывать вручную файл устройства, используй /dev/rfcomm0 (в ядрах diuice ‘ novjccomp nopcomp noaccomp noipdefault nodeflate novj nobsdcomp

И второй файл :
$ sudo mcedit /etc/ppp/ diuice

TIMEOUT 45
ABORT BUSY
ABORT «NO CARRIER»
ABORT ERROR
«» ‘ATE1’
OK AT+CGDCONT=1,»IP»,» www.dijuice.com.ua »
OK ATD*99***1#

Для других операторов достаточно изменить третью строку снизу. В некоторых случаях, возможно придется изменить номер дозвона, проставив вместо «*99***1» значение указанное на сайте своего мобильного оператора. Теперь запускаем демон pppd:

$ sudo /usr/sbin/pppd call gprs

В другой консоли лучше ввести «tail -f /var/log/messages», чтобы проследить за ходом соединения.

Jul 2 20:05:12 notebook pppd[9551]: pppd 2.4.2 started by root, uid 0

Jul 2 20:05:15 notebook hcid[8251]: link_key_request (sba=00:0D:18:01:1C:05, dba=00:0F:DE:1A:34:05)

Jul 2 20:05:17 notebook chat[9552]: timeout set to 45 seconds

Jul 2 20:05:17 notebook chat[9552]: abort on (BUSY)

Jul 2 20:05:17 notebook chat[9552]: abort on (NO CARRIER)

Jul 2 20:05:17 notebook chat[9552]: abort on (ERROR)

Jul 2 20:05:17 notebook chat[9552]: send (ATE1^M)

Jul 2 20:05:17 notebook chat[9552]: expect (OK)

Jul 2 20:05:17 notebook chat[9552]: ATE1^M^M

Jul 2 20:05:17 notebook chat[9552]: OK

Jul 2 20:05:17 notebook chat[9552]: — got it

Jul 2 20:05:17 notebook chat[9552]: send (AT+CGDCONT=1,»IP»,»www.dijuice.com.ua»^M)

Jul 2 20:05:17 notebook chat[9552]: expect (OK)

Jul 2 20:05:17 notebook chat[9552]: ^M

Jul 2 20:05:17 notebook chat[9552]: AT+CGDCONT=1,»IP»,»www.dijuice.com.ua»^M^M

Jul 2 20:05:17 notebook chat[9552]: OK

Jul 2 20:05:17 notebook chat[9552]: — got it

Jul 2 20:05:17 notebook chat[9552]: send (ATD*99***1#^M)

Jul 2 20:05:18 notebook chat[9552]: expect (CONNECT)

Jul 2 20:05:18 notebook chat[9552]: ^M

Jul 2 20:18:29 notebook chat[9641]: — got it

Jul 2 20:18:29 notebook chat[9641]: send (c^M)

Jul 2 20:18:29 notebook pppd[9640]: Serial connection established.

Jul 2 20:18:29 notebook pppd[9640]: Using interface ppp0

Jul 2 20:18:29 notebook pppd[9640]: Connect: ppp0 /dev/rfcomm1

На экране мобильного телефона должен отображаться процесс подключения. Поднятый интерфейс ppp0 (проверить ifconfig ppp0), говорит о том, что до мобильного оператора сейчас все в порядке. И не забудь занести в /etc/resolv.conf данные DNS сервера (можно любого). Теперь для того чтобы выйти в Интернет достаточно набрать всего две команды:

$ sudo /etc/init.d/bluetooth start
$ sudo /usr/sbin/pppd call gprs

Если лень вникать. На сайте linuxmobile.lrn.ru есть готовые скрипты для различных операторов мобильной связи.

Программы для работы с телефоном

Сразу после подключения телефон уже готов принимать и отправлять файлы. Чтобы передать файл на телефон достаточно в контекстном меню Konqueror выбрать «Действия – Передать через Bluetooth». Появится окно «Bluetooth File Transfer», произведен поиск подключенных устройств, которые будут отображаться в поле «Устройство».

В окно «Отправляемый файл» можно перетаскивать другие файлы, подготовленные для отправки на телефон или другое Bluetooth устройство. Теперь нажимаем на «Отправить» и файл ушел. Обратный процесс не на порядок сложнее. При попытке отправить файл с телефона появляется запрос на разрешения приема файла, нажимаем «Принять» и в окне «Incoming File Transfer» указываем куда сохранить принятый файл. Чтобы в дальнейшем система автоматически принимала решение на прием или блокировку, установи флажок «Запомнить это устройство» и в списке «Последующие правила …» укажи действие – Allow (Разрешить) или Deny (Блокировать). Если это не работает, просто запусти демон «kbluetoothd». Кто-то там говорил, что пингвин не дружелюбен, бросьте в него камень. Бросили? Отлично! Нет больше желающих? Пошли дальше.
Следующее очень удобное приложение на библиотеках KDE KmobileTools (www.kmobiletools.org), которое позволяет контролировать мобильные телефоны с компьютера.

Читайте также:  Координаты широты для андроида

Поддерживается отправка SMS, набор номера, телефонная книга и мониторинг соединения. Кроме этого она интегрируется в среду KDE и может работать с менеджерами персональной информации Kontact и KAddressBook. Работоспособность протестирована с телефонами Motorola, Nokia, Siemens, Sony Ericsson и LG. Хотя должно поддерживаться любое устройство понимающее AT команды. В репозитарии Ubuntu эта программа есть. Достаточно набрать «sudo apt-get install kmobiletools» и можно работать. По умолчанию программа будет искать телефон по /dev/modem (как и многие другие), поэтому удобнее сразу после настройки телефона создать символическую ссылку с таким именем. После подключения в основном окне будет выведена информация о заряде батарей и уровне сигнала. Интерфейс не переведен, но разобраться будет просто. Сначала синхронизируем контактную книгу выбрав «Phonebooks» и нажав «Refresh». Правда у меня все имена набитые кириллицей были исковерканы. Теперь чтобы отправить SMS достаточно нажать «New SMS», затем «Pick Number» выбираем номер из списка и нажимаем «Add Destination». Если SMS отправляется нескольким абонентам, повторяем операцию. Набиваем текст в поле внизу и отправляем «Send SMS». Для не любителей набивать SMSки это то, что доктор прописал. Рекомендую.
Для синхронизации телефонной книги мобильного телефона и KAddressBook можно использовать программу Kandy (kandy.kde.org). Она есть в репозитарии Ubuntu поэтому установить ее просто «sudo apt-get install kandy». После установки следует зайти в «Настройка – Настроить Kandy» и в поле «Последовательное устройство» указать на файл устройства к которому подключен телефон.

Интерфейс Kandy разделен на две панели адресов позволяющих визуально сравнить списки. Для слияния или синхронизации адресных книг нажимаем одноименные кнопки. Кроме этого в Kandy есть терминал, с помощью которого можно управлять телефоном посредством AT-команд. Причем знаний особых не нужно, просто выбираем в списке команду и в окне справа выводится результат. В основном окне также показана информация об уровне сигнала и заряде батарей. Отсюда же можно установить время на телефоне.
Еще две программы практически с аналогичной функциональностью, SCMxx (www.hendrik-sattler.de/scmxx) и графический интерфейс gscmxx (gscmxx.sf.net). С их помощью можно копировать файлы на мобильник и обратно, удалять их, работать с адресной книгой, отправлять SMS, синхронизировать время, получать информацию о состоянии телефона и прочее. Например посмотрим чем сейчас занимается мобила:

$ scmxx —info —device /dev/rfcomm0

Кроме нее в комплект входит еще три утилиты – adr2vcf, apoconv и smi. Первые предназначены для преобразования адресных книг в разных форматах, вторая бинарных SMS файлов в текстовый или CSV. В списке телефонов одни сименсы, однако с моим SonyEricsson она тоже нашла общий язык. Графическая оболочка несколько скромнее, однако и не тоже сильно отстает по функциональности.
Единственное, что удалось найти на сайте проекта KDE это скрипт BlueamaroK (www.kde-apps.org/content/show.php?content=33258), но он заслуживает того чтобы о нем сказать. Дело в том, что он позволяет управлять плеером Amarok с помощью Bluetooth. Используя мобильный телефон можно останавливать, запускать воспроизведение, просматривать плейлист, выбирать мелодию, редактировать некоторую информацию и прочее. В репозитарии его нет, поэтому качаем с сайта. Теперь в Amarok выбираем «Сервис – Управление сценариями – Установить сценарий» и указываем на архив. После установки нажимаем кнопку «Выполнить», вводим в окне устройство, к которому подключен мобильник. В случае успеха, на экране мобильного появится надпись «BlueamaroK», либо текущая мелодия. Входим на телефоне в меню «Связь – Аксессуары», выбираем BlueamaroK и получаем доступ к функциям управления проигрывателем.
Еще одна сладкая парочка Gammu (www.gammu.org) и интерфейс Wammu (wammu.eu). Использование кроссплатформенной библиотеки wxPython, позволяет его запускать не только в Linux, но и FreeBSD, OpenBSD и Windows. Принцип настройки аналогичен, после запуска заходим в Setting и в «Connection – Device» выбираем устройство. Теперь можно редактировать и импортировать контакты, список задач, отправлять SMS и MMS, экспортировать сообщения в e-mail, управлять некоторыми настройками телефона, вроде поиска FM-станций. По умолчанию в списке Nokia и Siemens, но должен работать и с другими марками.
Быстро отправить SMS можно и с помощью GNOME Phone Manager, который в KUbuntu устанавливается командой «sudo apt-get install gnome-phone-manage». После его запуска в панели задача появится значок, выбираем Preferences и в Connection указываем устройство. Теперь когда телефон обнаружен, достаточно вызвать «Send Message», ввести номер телефона (синхронизации с адресной книгой нет) и набрать сообщение. Все просто и понятно.

12 комментариев

При попытке просмотреть телефон происходит так:
darklord@prospero:

$ sdptool browse 00:16:DB:BF:D9:6C
Browsing 00:16:DB:BF:D9:6C …
darklord@prospero:

Источник

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