Описание возможных спообов подключения мобильного телефона Siemens A65 к Internet
Печатается с любезного разрешения автора
Обновил я недавно телефон. По акции UMC-Bonus почти на халяву дали Siemens A65. Это должно было насторожить, но я сильно обрадовался. Оказалось зря. Телефон зверски вис при входе в Internet. Ну ладно, это неприятно, но не смертельно. Лично мне от телефона надо три вещи- звонить, использовать JAVA и немного SMS писать-читать. Телефон был в ремонте, менялся по гарантии (!), еще раз ремонтировался, но ничего не помогло- свежей прошивки в сервис-центре нет, а в магазине все аппараты из одной партии. Для проверки читателем своего аппарата привожу информацию о прошивке. Ее можно узнать нажав *#06# и выбрав "Info":
Product: A65
P.-Date: 2004-11-14
SW-Version: 06
SW-Date: 2004-09-16
Variant: S 915
Std-Map/SW: 1/6
D-Map/Prov.: 18/173
Lang./T9: lg91/255
Codecs: FR/EFR/HR
Audio-Par.: NfV 4
Acc.: none
DSP P.:0025/0012 ROM
IMEI начинается с 354495, что отличается от другого телефона этой же модели. Обобщая вышесказанное, можно прийти к выводу, что телефон какой-то непонятный. Это подтвердится в дальнейшем.
Недавно в МК был цикл статей про JAVA. Мне больше всего нужна текстовая читалка, что бы читать на лекциях анекдоты
. Описаный Bookshelf меня не устроил, у меня нет Джавы для настольной части софтины и не понравился подход с вшиванием книги в апплет, более естественным кажется вариант, когда книги скармливаются апплету в виде отдельных файлов, пусть и без сжатия. Но для этого явно нужно дата-кабель. Это легко решаемо, 65 грн и кабель мой. Опять-таки, надо было прислушаться к продавцу, а он сказал: "Если чего работать не будет- приходи, поменяем. Но только сегодня, завтра уже нельзя." На кабеле был переключатель неизвестного назначения. У знакомого есть кабель той же фирмы, но для SonyEricsson - там это переключатель включает подзарядку. У меня щелчок переключателем не дает абсолютно ничего.
В комплекте со шнурком был диск с софтом. Под Виндоус. Я даже один раз перегрузился, посмотрел. Ну что сказать, 60 Мб ХЛАМА. Прога работала через раз и жутко тормозила. Я на это забил и решил поднять аппарат из-под Родной и Правильной Оси.
Первым делом, в Интернет. Поиск показал интересный сайт ilovelinux.nm.ru (ныне загнулся). Там лежала ссылка на не менее интересный проект SieFS. Я начинал работу с версии 0.4, но 5 апреля вышла версия 0.5. Я остановлюсь на отличиях между этими версиями, там есть тонкости. Далее, указывалась прога obexftp/openobex, которая работает через протокол obex с Siemens (указана 45 серия и выше через все возможные соединения, но также упоминается и S25 через шнур) и Ericsson (идут вразнобой, но много, начиная с R320 и до T68i, но я думаю, будут работать и SonyEricsson T610/630).
Скажу честно, я с этой программой не разобрался и не смог запустить. Но мой аппарат в списке совместимых и не упоминался, так что не удивительно. Вообще-то, эта программа нуждается в серьезном тестировании на нормальных телефонах. Есть добровольцы?
Еще я нашел Самую Главную Программу для Сименсов. Называется SCMxx, в Сети лежит много хороших отзывов. Я готов поддержать, но не могу. При попытке использования простого ключа -i (информация) получаю вот такое:
[buba@big buba]$ scmxx -d /dev/usb/ttyUSB0 -i Accessing device /dev/usb/ttyUSB0...done OK, a modem device is present. Phone related information: Vendor: SIEMENS Model: A65 Revision: 06 IMEI: 354495000413165 Battery: 40% Charsets: GSM, UCS2 Time: Fri Apr 15 21:16:35 2005 SIM card related information: IMSI: 255013000721036 card ID: 8938001300007210368 Network related information: Status: checked in Area code: 2724 Cell ID: 7695 Operator: UA UMC SMS server: +38050000501 Signal: -89 dBm GPRS class: B GRPS status: not registered, not searching, detached Available memories: Binary files: bmp, mid, vcf, t9d здесь происходит подвисание на несколько секунд Error on reading from device: Connection timed out Phonebooks: [buba@big buba]$ И все, попытка сделать reset не удается: [buba@big buba]$ scmxx -d /dev/usb/ttyUSB0 --reset Accessing device /dev/usb/ttyUSB0...done Sending reset frame... здесь виснет совсем, но по Ctrl-C убивается
Как указано в начале статьи, телефон у меня глючный, поэтому необходимы некоторые усложнения. В частности, телефон придется монтировать через командную строку без занесения в /etc/fstab . Это связано с тем, что имена устройств для преобразователей USB<->tty назначаются динамически. Да, кстати. Для этого преобразователя (та самая коробочка на шнуре) нужен драйвер. Подавляющее большинство шнуров делается на микросхеме Prolific 2303. Это обычно указывается где-то на коробке. Драйвер под Линукс называется pl2303 и обычно есть в ядре, которое поставляется с дистрибутивом. А если читатель сам перебрал ядро, то и драйвер сможет включить самостоятельно. Если устройство одно, то оно явно получит имя /dev/usb/ttyUSB0 , но если шнур выдернуть и вставить снова (борьба с глюком), то имя может остаться прежним, а может измениться на /dev/usb/ttyUSB1 . Я вижу один выход - монтирование руками из командной строки. Это требует право root. Оно же надо и для работы с FUSE 2, с FUSE 1.х можно работать обычному пользователю.В этой версии поумолчанию вся работа с этим модулем запрещена обычным пользователям, это сделано из соображений безопасности. Конечно, можно дать допуск обычному юзеру, но я не смог. Игра с файлом /etc/fuse.conf ничего не дала. Этот момент требует дальнейшего изучения.
Итак, начнем с сборки модулей для ядра, затем соберем сам драйвер. Скачиваем обе софтины, сбрасываем в /usr/src и распаковываем. Получаем два каталога. Сначала надо собрать FUSE:
[root@big fuse-2.2.1]# ./configure --enable-kernel-module --enable-lib --enable-util -enable-auto-modprobe [root@big fuse-2.2.1]# make [root@big fuse-2.2.1]# make install Следует заметить, что первая команда должна набиваться в одну строку.
[root@big fuse-2.2.1]# modprobe fuse [root@big fuse-2.2.1]# lsmod|grep fuse fuse 37900 0
[root@big siefs-0.5]# ./configure && make && make install
[root@big root]# mount -t siefs -o nohide,users /dev/usb/ttyUSB0 /mnt/mobile/
[root@big root]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda5 4948896 4661940 31508 100% / none 1048576 784 1047792 1% /tmp /dev/hda2 14475328 14117568 357760 98% /mnt/98 /dev/hda7 7158988 6232184 926804 88% /mnt/xp /dev/hda4 7328480 4115984 3212496 57% /home mount.siefs 1920 1328 0 100% /mnt/mobile
Про скорость работы наблюдения интересные. При заливке файлов в телефон посредством mc скорость за несколько секунд падает с 8 кб/с до 1кб/с, где и держится всю закачку. А при копировании через командную строку "Звонок" (книга, не фильм
) в 405 кб уходит в телефон за 75 с, а назад - за 45 с. Я не знаю как на эти цифры влияют дисковые кэши.
В общем, этот раздел требует уточнения. (Если в процессе записи происходит полное заполнение памяти, драйвер падает и требует перевтыкания (перевтыкивания? перевтыкновения?
) шнура.Это надо делать, если в протоколе (вызывается командой dmesg) появляется подобная строчка:
usb 1-1: pl2303_write_bulk_callback - failed resubmitting write urb, error -1 . Это справедливо для всех описаных программ) Но тут я проверил этот факт без mc и обнаружил, что всего-навсего подвисает cp, но прибивается по Ctrl-C . Я не могу объяснить столь странное поведение mc.
Еще в комплект входят утилиты slink и vmo2wav. Первая является некой оболочкой к obexftp, вторая конвертирует диктофонные записи в обычный wav. Я полагаю, что это предназначено для 45-й серии, т.к. М55 пишет в AMR, а мой аппарат - в хитрый wav, который иногда с кучей ошибок открывается волновыми редакторами.
Уже в процессе работы над статьей в юниксовой рассылке пришло сообщение о новой программе для мобильников- kmobiletools. Данная софтина позволяет звонить, принимать, отбивать звонки, работать с SMS (кириллицу не держит) и телефонной книгой, проверять качество приема и заряд батареи. Программа предназначалась для Моторол, но сейчас (в версии 0.4.3.1) поддерживет МНОГО разных моделей через кабель и ИК-порт. Для сборки требуются библиотеки KDE и компилятор c++ . Безусловно, эту программу нельзя запускать одновременно с другими, которые используют то же устройство. Программа собирается стандартным ./configure && make && make install , никаких ключей добавлять не надо. После запуска получаем красивый экран для настройки:

Надо прописать устройство телефона, которое нам уже известно. Кодировку ставим UCS2. Это дает возможность читать кириллицу в телефонной книге, но не в СМСках. Про строку инициализации сказать не могу ничего, поэтому оставляем по умолчанию. В следующей вкладке выбираем ATD Dial system (для Siemens), для других производителей выбираем в меню соответствующий пункт. В оставшихся вкладках надо понажимать кнопочки Refresh, тогда получим доступ ко всем разделам телефонной книги и СМС, включая списки набранных и пропущенных звонков. Думаю, дальше читатель разберется сам, программа красивая и понятная.

Остался один неочевидный момент: после изменения настроек мало нажать ОК, надо еще выбрать в меню Reinitialize GSM device. На эту тему рекомендую почитать статьи Олега Бройтмана- http://www.linuxrsp.ru/artic/Siemens-S55.html
На этом откланиваюсь и жду отзывов. До встречи!