LINUX.ORG.RU

Статья Linux и MA-660 ИК порт


0

0

В первой части статьи рассмотрена настройка ИК порта MobileAction MA-660 (600/620/640), настройка PPPD для подключения к Интернету.

Во второй части статьи рассмотрена возможность обмена файлами с телефоном посредством протокола IrOBEX. Рассмотрены варианты использования obexftp и obexfs.

Статья может быть полезна владельцам ИК портов других производителей, а так же владельцам КПК.

>>> Текст статьи

Статейка конечно боянистая, чо уж говорить. Афтору исправить это:

root@r00t:/# ln -s /usr/local/lib/pkgconfig/openobex.pc /usr/lib/pkgconfig/openobex.pc (эта символическая ссылка нужна потому, что pkg-config просматривает список пакетов в /usr/lib/pkgconfig/, а OpenOBEX устанавливает описание своего пакета в /usr/local/lib/pkgconfig/)

на

root@r00t:/# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH

anonymous
()

Спасибо, очень интересно. Единственное конструктивное пожелание - использовать < pre >, а то читать тяжело.

McGray ★★
()
Ответ на: комментарий от slack_or_feel

Аналогично трахаюсь с Kingsun KS-959. Ни в какую. =/

Ramen ★★★★
()
Ответ на: комментарий от anonymous

>Статейка конечно боянистая

Тут уж кому как.

>Афтору исправить это:

В общем-то, не принципиально.
ln мне показалось сделать проще, чем прописывать это в профиле, а потом релогиниться (или еще раз в консоли это запускать).

R00T
() автор топика
Ответ на: комментарий от McGray

Радует. :-)

>использовать < pre >, а то читать тяжело.

А это, блин, kword так в html странно сохранил. :-)

R00T
() автор топика

неплохая статейка , жаль что девайсы эти на скорости выше 9600 не работают , что делает их фактически бесполезными для инета

the_reaver
()
Ответ на: комментарий от the_reaver

Для аськи и по новостям полазить хватает. :-) В принципе, от GPRS больше ничего и не надо...

Дальше: под вендой оно качает 3-4 Кбайт/с. Значит, можно заставить работать и под Linux. Я как раз в этом направлении сейчас копаю.
На 115200 комп видит телефон со всеми флагами, хотя pppd и obexfs только на 9600 работают. :-(

В принципе, можно даже попробовать подключить это все через эмуляцию вин-драйверов. Только у меня это не прокатит, к сожалению - x86_64.

R00T
() автор топика
Ответ на: комментарий от R00T

ну pppd и obexfs тут не при чем ) при скорости больше 9600 irdadump ничего не находит - такое вроде еще с 2.4
а про эмуляцию вин драйверов желательно поподробней )

the_reaver
()

Спасибо за статью. Я бросил ковырять ma-660 более полугода назад. Теперь есть чем занять выходной :)

slackerr
()
Ответ на: комментарий от the_reaver

Да в том-то и дело, что на 115200 irdadump видит мобилку

При попытке соединения в irdadump видно, что комп отсылает пакеты, но ответа не получает.

Вообще, я грешу на PL2303. Вполне может быть, что после инициализации она в дефолте в 9600 выпадает. Вот как заставить ее на 115200 переключиться - ХЗ. В венде это получалось менять, а в Linux setserial ругается, что нифига не знает что с /dev/ttyUSB0 делать.

R00T
() автор топика
Ответ на: комментарий от R00T

Хорошо. сейчас идёт подготовка необходимых компонентов :)

slackerr
()
Ответ на: комментарий от R00T

ну если видит - то уже какой-то прогресс есть )
а вообще при скорости выше 9600 - так и есть исходящие пакеты идут , а входящие - 0
ps2303 - это очень популярный usb-serial чип , с другими irda-чипами вроде тоже используется, да и в телефонных кабелях, хотя может дело в текущей реализации. Но я думаю что все таки дело в реализации драйвера ma600

the_reaver
()
Ответ на: комментарий от the_reaver

После F-1 (начало на РенТВ 15.45 МСК)посмотрю исходники MA-600, может и правда...

R00T
() автор топика
Ответ на: комментарий от the_reaver

А вообще вот смотри:

pl2303.c, строка 373:
port->tty->termios->c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
строка 423:
case B9600: baud = 9600; break;

Видимо, в 373-й строке и задается 9600... :-( Хотя, может быть я и ошибаюсь.

R00T
() автор топика

>"текст принимается в кодировке UTF8, кириллица поддерживается"

приниматься то он принимается, только вот как сделать list такому каталогу или получить/записать/стереть файл с русским именем я пока не понял.

кормил obexftp разными кодировками - эффект "0". Пока исходники оного глядел только по диагонали и без дебагу прояснить этот момент не удалось. Хотелось бы конечно обойтись малой кровью без хаканья самого obex-а.

PS: нужно оное для VFS фильтра в mс. Те фильтры, что я нашёл в сети с современной версией obexftp нефига не хотят работать а тащить fuse когда можно обойтись 4кб скриптом на bash мне влом.

sS ★★★★★
()
Ответ на: комментарий от sS

obexfs сделай, никакой VFS фильтр не понадобится. :-)

С obexftp я тоже не понял что с кодировкой делать, просто перевел мобилу на английский.

R00T
() автор топика

./configure надо заменить на ./configure --prefix=/usr make install надо заменить на make install DESTDIR=/foo; cd /foo; makepkg -c n -l y /foo-$ARCH-$BUILD.tgz

Deleted
()
Ответ на: комментарий от R00T

>obexfs сделай, никакой VFS фильтр не понадобится. :-)

fuse влом тащить ;)

Но если в obexfs работает то и у меня заведётся :)

спасибо за подсказку :)

sS ★★★★★
()

А научился ли кто-нибудь управлять каким-нибудь mythtv через обычный ИК-порт на лаптопе при помощи обычного двд-ленивчика? Я повозился чутка, сигналов так и не добился... Доки прочесывал многократно, само собой.

svu ★★★★★
()
Ответ на: комментарий от urquan

>Или стипендии на bluetooth не хватает?

Да будет Вам известно, что не все девайсы с IR имеют блютуз.

blaster999 ★★
()
Ответ на: комментарий от svu

>А научился ли кто-нибудь управлять каким-нибудь mythtv через обычный ИК-порт на лаптопе при помощи обычного двд-ленивчика?

Смотря через что этот порт подключен. Если через USB - то никак.

blaster999 ★★
()
Ответ на: комментарий от svu

>А научился ли кто-нибудь управлять каким-нибудь mythtv через обычный ИК-порт на лаптопе при помощи обычного двд-ленивчика? Я повозился чутка, сигналов так и не добился... Доки прочесывал многократно, само собой.

Там протоколы мягко говоря разные. Видимо зависит от железяки. Многие IrDA можно заставить работать как IRC (есть куча программ для тех же PDA) В обратную сторону смотри LIRC

sS ★★★★★
()
Ответ на: комментарий от urquan

Во-первых, не у всех IR девайсов есть синий зуб.
Во-вторых, bluetooth на 150 метров стоит ~600 рублей против ~850 рублей стоимости MA-660.

R00T
() автор топика
Ответ на: комментарий от blaster999

Гхм. А как это посмотреть? Вообще оно прикидывается как ком-порт. Но вот сидит ли оно на USB - понятия не имею...

svu ★★★★★
()
Ответ на: комментарий от sS

Я уже понял из доков, что IrDA и IRC разные вещи. Но вот как заставить мой порт, который точно работает как IrDA (проверено) поддерживать IRC - я не понял. LIRC пытался применять с разных сторон - но нужную сторону, очевидно не нашел.

svu ★★★★★
()
Ответ на: комментарий от svu

>Гхм. А как это посмотреть? Вообще оно прикидывается как ком-порт. Но вот сидит ли оно на USB - понятия не имею...

Тут не могу ничем помочь - я сам плохо эту область знаю. На моем прошлом ноуте IR вообще не заработал под Linux.

Можно попробовать поспрашивать на #lirc на irc.freenode.net

blaster999 ★★
()
Ответ на: комментарий от R00T

>Во-вторых, bluetooth на 150 метров стоит ~600 рублей против ~850 рублей стоимости MA-660.

А IR работает на 150 м ? ;)

Он хорошо если будет работать на 150 cм (в отличае от телевизионных IRC у них сигнал более слабый кстати).

Насчёт цен. Брал недавно BT-донгл (DLX-BTD-01) (Bt v1.2, Class 2, 10 метров, нагло наврано что USB2 на самом деле разумеется USB1.1 куда ему больше то ;) ) - 12 ойро. (12x33=396 руб)

PS: Кстати в моём PDA нету BT, только IrDA а в мобиле только BT ;) (оба подарили ;))

sS ★★★★★
()
Ответ на: комментарий от R00T

[ /tmp/irda-utils-0.9.18 > ]$make
Опосля ф1 остаток дня почти не было у меня времени на разбор. Ещё не компилится у меня irda-utils-0.9.18:
.....
 [CC]  smcinit.c
smcinit.c: In function `set_smc':
smcinit.c:282: error: too many arguments to function `pci_get_dev'
make[1]: *** [smcinit.o] Ошибка 1
make: [all] Ошибка 2 (игнорирована)

Поставил предыдущую, 0.9.17. 
К сожалению, у меня как и обычно не появляется его символьное 
устройство. Некуда ираттачить. /dev/ttyUSB* не существует. dmesg про 
сим. устройства для ma660 ничего не говорит. Хотя я модулями собирал, 
pl2303 автоматом не грузится. Видимо, завтра всё-таки придется 
попробовать засунуть всю эту бодягу в ядро 

slackerr
()
Ответ на: комментарий от slackerr

Даже представить не могу, с чего она такую ошибку написала... Ядро 2.6.х у тебя?

>/dev/ttyUSB*

Если у тебя именно файла нету /dev/USB0, то /usr/src/linux/Documentation/devices.txt дано описание файлов ВСЕХ устройств, поддерживаемых ядром.

>dmesg про сим. устройства для ma660 ничего не говорит

В дмесге про ма660 и не должно быть ничего. Там должнно быть pl2303.

R00T
() автор топика
Ответ на: комментарий от R00T

>файла нету /dev/USB0

Сорри, очепятка /dev/ttyUSB0 конечно же.

R00T
() автор топика
Ответ на: комментарий от R00T

2.6.17.13, и на более ранних так было(2.6.(15,16)). Есть устройства usdbevX.X - (X - цифра), стоят udev 064, hotplug 2004_09_23. Подробности экспериментов сообщу завтр^W утром.

slackerr
()

[root@localhost /]# /usr/local/bin/obexfs -i /mnt/mobile [root@localhost /]# ls /mnt/mobile/ ls: чтение каталога /mnt/mobile/: Function not implemented

в чем проблемма может быть?) В ядре поддержка fuse есть.

anonymous
()
Ответ на: комментарий от slackerr

А, так у тебя udev? :-)
Вот она, самая муторная заморочка с udev... Честно говоря, не знаю, как с этим бороться. :-(

R00T
() автор топика
Ответ на: комментарий от anonymous

Может быть проблема в телефоне/КПК? Типа, IrOBEX неправильно поддерживается...

Полистай Infrared-HOWTO - там были примеры.

R00T
() автор топика
Ответ на: комментарий от slackerr

У меня 2 кабеля на pl2303(один из них MA), оба замечательно подхватывает udev и создаёт /dev/tts/USBX

P.S. Slackware-current

Deleted
()

[root@localhost xeron]# obexftp -i -l Connecting...done Receiving "(null)"... <?xml version="1.0"?> <!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd"> <folder-listing version="1.0"> <folder name="Data" modified="20040101T000000" user-perm="RWD" group-perm="W" /> </folder-listing> done Disconnecting...done

то есть работает, а вот при монтировнии нифига, то что я писал выше.

anonymous
()

Спасибо, хорошая статья. Жаль только я выкинул свой МА-640 месяц назад и купил-таки USB шнурок ...

anonymous_IV
()
Ответ на: комментарий от anonymous

[root@localhost example]# ./hello /tmp/test

[root@localhost example]# ls /tmp/test

ls: /tmp/test: Software caused connection abort

капетц, нифига не понимаю.

anonymous
()

R00T - молодца!!! Пасиб за статью :)

Slack ★★★★★
()
Ответ на: комментарий от R00T

Итаг. На старом fuse не работало, на новом я действительно забыл подгрузить модуль fuse (кстати раньше он грузился автоматически, а щас почему-то перестал оО). [root@localhost /]# ls /mnt/mobile

Data/

Ура, спасибо всем кто помогал)

anonymous
()
Ответ на: комментарий от R00T

Ага. Выкнуть тогда udev? Как же без него? Знать бы может какие рулесы 
в его конфиге прописать... Попробую обнвиться до последнего udev. 
Я вообще что-то запутался. Пытался вкомпилять все перечисленные в 
статье модули в ядро, но не выходит выставить вкомпиляние в ядро 
модуль pl2303 и некоторые другие. 
Только без него, либо модульно. Попробовал разрулить 
это выставлением других относящихся к usb/irda/serial модулям, а оно 
не компилится в ядро - ругается на 
'undefined reference to blah-blah function' что-то-там-firmware в модуле либо irda-usb, либо usbserial :/ Выложи свой конфиг ядра плз 
куда-нить, они-то у нас одинаковые. 
Пробовал выставить vendor id и device id при загрзке модуля usbserial,   
но оно сбоит:
# modprobe  usbserial vendor=0x7d0 product=0x4959

usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for 
generic
usbserial_generic 3-1:1.0: generic converter detected
usbserial_generic 3-1:1.0: Generic device with no bulk out, not 
allowed.
usbserial_generic: probe of 3-1:1.0 failed with error -5
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core

Вот как у меня детектится pl2303: 

drivers/usb/serial/usb-serial.c: USB Serial support registered for 
pl2303
usbcore: registered new driver pl2303
drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor 
driver

Как видно, нету заветной строчки: 
usb 3-1: pl2303 converter now attached to ttyUSB0

Итак, ковыряю дальше :)

slackerr
()
Ответ на: комментарий от R00T

нет :) Атлон 32битный ) А разве платформы различаются по части усб и ик-устройств?

slackerr
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.