Работа с мобильными телефонами по USB под Linux

Если сотовый с Mini-USB разъемом подключить к USB-порту компьютера под управлением ОС на основе современного ядра Linux, то в выводе команды просмотра сообщений ядра dmesg можно увидеть такое:

cdc_acm 2-1:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters

После этого в системе появляется файл /dev/ttyACM0, через который с телефоном можно делать разные штуки.

Подключение к интернету в Linux по GPRS

Нужна звонилка, например kppp, в качестве адреса устройства модема указываем /dev/ttyACM0.

Указываем строку инициализации модема для Билайн AT+CGDCONT=1,"IP","internet.beeline.ru", для МТС AT+CGDCONT=1,"IP","internet.mts.ru" и для Мегафон AT+CGDCONT=1,"IP","internet"

В качестве номера звонка используем *99# или *99***1#.

Логин/пароль всегда beeline/beeline, mts/mts или gdata/gdata для Билайна, МТС и Мегафона соответственно.

UPD: В Debian/Ubuntu не забываем добавиться в группу dip и, при использовании kppp, раскомментировать noauth в файле /etc/ppp/peers/kppp-options

Синхронизация адресной книги с компьютером, отправка и просмотр СМС в KMobileToos

Программе KMobileToos требуются библиотеки KDE для работы, в Debian/Ubuntu устанавливается пакетом kmobiletools, выглядит так:
KMobileToos для синхронизации адресной книги мобильного телефона и компьютера в Linux
В настройках нужно указать все тот же файл /dev/ttyACM0 и выбрать тип телефона: Generic GSM, Nokia, Motorolla, Erisson. Программа умеет показывать уровень заряда батареи и дзынькать при полной зарядке телефона, показывать уровень связи, синхронизировать контакты с KAddressBook, читать контакты в телефоне, читать сохраненные СМС, отправлять СМС и делать звонки с компьютера. Последнее я не понял зачем нужно. Работает это все через AT-команды для большинства телефонов.

Аналог под Gnome называется Gnome Phone Manager. Более мощная порграмма на GTK для синхронизации мобильника и компьютером с поддержкой туду-листа и календаря называется Wammu, работает через консольную программу gammu. Интеграция с gammu появилась в KMobileToos в версии 0.5, которая пока находится в стадии беты.

Скачивание и загрузка файлов в телефоны Motorola с помощью Moto4lin

Это бывает полезно для установки J2ME-приложений, картинок/рингтонов на телефоны, где это нельзя сделать в режиме USB Mass Storage. Программа Moto4lin в Debian/Ubuntu устанавливается одноименным пакетом и умеет работать с файловой системой большинства современных телефонов Motorola через фирменный протокол P2K. Написана на Qt3, не требует KDE, выглядит так:

Moto4lin для работы с файлами телефонов Motorola под Linux

Программа работает нормально только под root, поэтому для запуска из под пользователя нужно выставить suid-бит на исполняемый файл командой:

# chmod u+s /usr/bin/moto4lin

В настройках нужно указать ACM Device /dev/ttyACM0, Set P2K Vendor ID 22b8, Set P2K Product ID 4901:

Настройки Moto4lin для работы в режиме P2K

После этого в логе внизу должно быть написано Phone pluged as P2K, нажимаем Connect, потом Update list и можно гонять файлы.

Аналог на GTK для телефонов Nokia называется gMobileMedia, работает на gammu.

Блог: RU Linux

Спасибо за статью. Как раз кстати. Недавно купил себе новый мобильник SE k530i. Поддерживаемая синхронизация с Вистой меня не очень устроила. Соединить телефон c убунтой я и не надеялся :) Сейчас попробовал kmobiletools, там какие-то проблемы с кодировкой. Поставил Wammu (как раз пользуюсь Gnome) - то, что надо.

Да, найти как называется нужная программа под Linux бывает труднее, чем заставить ее работать :) Если поискать "mobile" по репозитариям (в Synaptic можно) то кроме упомянутых программ для работы с телефонами потенциально полезны: gmobilemedia, xgnokii, gnome-phone-manager, gsm-utils, kandy, scmxx (для Siemens), synce-kpm (для Windows Mobile).

В настройках kmobiletools есть поле для ввода кодировки, наверняка заработает если попробовать UTF-8 или одну из однобайтовых кириллических кодировок.

Вот спасибо! Как-нибудь из спортивного интереса потыркаюсь... Обычно хватает флэш-карты и картридера))

Для нокии хорошо юзать obexftp. Через кабель видит фс симбиан смартфонов, но только флэху.

попробуем

Подскажите еще кое что. Мой телефон может определятся как флешка. Вот вывод сообщений ядра [40425.152080] usb 4-2: new full speed USB device using uhci_hcd and address 4

[40425.349114] usb 4-2: configuration #1 chosen from 1 choice

[40425.397982] scsi6 : SCSI emulation for USB Mass Storage devices

[40425.400628] usb-storage: device found at 4

[40425.400633] usb-storage: waiting for device to settle before scanning

[40430.401356] usb-storage: device scan complete

[40430.404565] scsi scan: INQUIRY result too short (26), using 36

[40430.404574] scsi 6:0:0:0: Direct-Access FLASH DI SK - 6218B PQ: 0 ANSI: 0 CCS

[40431.203211] sd 6:0:0:0: [sdd] 124545 512-byte hardware sectors: (63.7 MB/60.8 MiB)

[40431.206183] sd 6:0:0:0: [sdd] Write Protect is off

[40431.206188] sd 6:0:0:0: [sdd] Mode Sense: 03 00 00 00

[40431.206193] sd 6:0:0:0: [sdd] Assuming drive cache: write through

[40431.217186] sd 6:0:0:0: [sdd] 124545 512-byte hardware sectors: (63.7 MB/60.8 MiB)

[40431.220708] sd 6:0:0:0: [sdd] Write Protect is off

[40431.220714] sd 6:0:0:0: [sdd] Mode Sense: 03 00 00 00

[40431.220718] sd 6:0:0:0: [sdd] Assuming drive cache: write through

[40431.220728] sdd: sdd1

[40431.250372] sd 6:0:0:0: [sdd] Attached SCSI removable disk

[40431.250483] sd 6:0:0:0: Attached scsi generic sg4 type 0

[40435.428116] sd 6:0:0:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK

[40435.428125] sd 6:0:0:0: [sdd] Sense Key : Medium Error [current]

[40435.428133] sd 6:0:0:0: [sdd] Add. Sense: Recorded entity not found

[40435.428142] end_request: I/O error, dev sdd, sector 124544

[40435.428149] __ratelimit: 191 callbacks suppressed

[40435.428154] Buffer I/O error on device sdd, logical block 124544

[40435.428270] sd 6:0:0:0: [sdd] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK,SUGGEST_OK

[40435.428277] end_request: I/O error, dev sdd, sector 32

[40435.428282] Buffer I/O error on device sdd, logical block 32

[40435.428287] Buffer I/O error on device sdd, logical block 33

[40435.428292] Buffer I/O error on device sdd, logical block 34

[40435.428297] Buffer I/O error on device sdd, logical block 35

[40435.428301] Buffer I/O error on device sdd, logical block 36

[40435.428306] Buffer I/O error on device sdd, logical block 37

[40435.428311] Buffer I/O error on device sdd, logical block 38

[40435.428315] Buffer I/O error on device sdd, logical block 39

[40435.428320] Buffer I/O error on device sdd, logical block 40

[40435.428390] sd 6:0:0:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK

[40435.428396] sd 6:0:0:0: [sdd] Sense Key : Medium Error [current]

[40435.428402] sd 6:0:0:0: [sdd] Add. Sense: Recorded entity not found

[40435.428408] end_request: I/O error, dev sdd, sector 124544

[40435.428520] usb 4-2: USB disconnect, address 4

[40435.438523] sd 6:0:0:0: [sdd] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK,SUGGEST_OK

[40435.438534] end_request: I/O error, dev sdd, sector 124536

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

Гуглил. Не помогае. Мобила старая, ядро новое - по этому врядли кто то этим займется.