Page 1 of 11 123 ... LastLast
Results 1 to 15 of 151

Thread: Как юзать телефон и модем по кабелю на Pl2303 ?

  1. #1

    Question Как юзать телефон и модем по кабелю на Pl2303 ?

    Подскажите пожалуйста полному чайнику в линуксе . А еще Gprs через CX65 есть жедание прикрутить .

  2. #2
    Прошло пол-года, инфы не нашел. Всех с Рождеством!!!
    На этих длинных каникулах, чтоб не спиться совсем, пришлось самому становиться линуксоидом . Все получилось. Спасибо огромное Олегу за его прошивку с драйверами pl2303 и chat !!!
    Имеем wl500g deluxe c прошивкой Олега 1.9.2.7-6b, переходник usb-com на pl2303, модем Acorp-M56EMSF и желание подключиться к диал-ап провайдеру с чап авторизацией.
    Сначала подготавливаемся для работы с pppd. Он ищет нужные файлы в директории /tmp/ppp/peers. Чтоб не создавать их там после каждого ребута добавляем строку в файл /usr/local/.files
    Code:
    echo "/tmp/ppp/peers/*" >>  /usr/local/.files
    Команды для pppd сохраняем в файле /tmp/ppp/peers/modem
    Code:
    connect "/usr/sbin/chat -v -t 30 -f /tmp/ppp/peers/modem_chat"
    /dev/usb/tts/0
    115200
    local
    noipdefault
    ipcp-accept-local
    defaultroute
    usepeerdns
    noauth
    user a1ex
    password XXXXX
    persist
    maxfail 5
    Меняем user и password на свои. Последние 2 строки - это 5 попыток соединиться с провайдером. Т.к. в этом файле пароль, то выставляем права доступа к этотому файлу только для админа.
    Еще создаем файл /tmp/ppp/peers/modem_chat , который содержит команды для модема
    Code:
    ABORT BUSY
    ABORT 'NO CARRIER'
    ABORT ERROR
    '' AT
    OK ATDTxxxxxxx
    CONNECT
    Меняем xxxxxxx на номер телефона провайдера и ATDT на ATDP, если атс с пульсовым набором.

    Перед запуском pppd надо еще активировать драйвера. Я весь процесс делаю в post-mount, добавив туда следующие строки
    Code:
    insmod usbserial.o
    insmod pl2303.o
    mknod /dev/ttyUSB0 c 188 0
    chmod 666 /dev/ttyUSB0
    pppd call modem
    3 и 4 строчки может и не нужны, но у меня без них терминалка microcom не работает. Не забываем сохранить все изменения во флэше

    flashfs save
    flashfs commit
    flashfs enable

    В таком варианте через некоторое время после включения асуса при подключенном модеме происходит соединение. Если модем или кабель pl2303 при включении асуса отключены, то можно подключить их потом и набрать в терминале pppd call modem
    Отсоединять кабель pl2303 от wl500g надо только при убитом процессе pppd, иначе тут же асус становится недоступным и требуется его перевключение. Убить процесс можно из терминала killall pppd
    Иногда при старте глючит, модем бросает трубу в произвольные моменты. Приходится шаманить с перевключением модема и кабеля или перегружать асус. Но если закконектилось, то держится мертвой хваткой. На моей плохой линии модем при подключении в компу нередко отваливался. От асуса пока ни разу не отвалился сам. Начнет отваливаться, надо будет думать о том, как его реконнектиться заставить.
    При отладке можно набрать
    pppd debug nodetach call modem
    , тогда можно увидеть отладочную инфу прямо в окне терминала. Только со строчкой persist у меня глючит, лучше без нее.

    GPRS c mts через сименс cx65 тоже нормально заработал. Файл mts :
    Code:
    show-password
    connect "/usr/sbin/chat -v -t 30 -f /tmp/ppp/peers/mts_chat"
    /dev/usb/tts/0
    115200
    local
    noipdefault
    ipcp-accept-local
    defaultroute
    usepeerdns
    noauth
    user mts
    password mts
    файл mts_chat :
    Code:
    '' 'AT'
    'OK' 'ATH'
    'OK' 'ATE1'
    'OK' 'AT+CGDCONT=1,"IP","internet.mts.ru"'
    TIMEOUT 60
    'OK' 'ATD*99***1#'
    CONNECT
    Уфф, надеюсь что какому-нибуть не линуксоиду с диалапом или сименсом на даче эта инфа пригодится
    Last edited by A1ex; 08-01-2006 at 21:29.

  3. #3
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Респект за усидчивость. Самое главное, что приятно самому разобраться, а не тупо вбивать команды.

    В прошивке действительно всё было. Я в своё время по просьбе разных товарищей добавил и chat и модули и прочее. Оставалось только настроить.

    Насчёт chap/pap-secrets - файлы необязательны, можно прямо в опциях pppd указать пароль (как это делаю я), после слова password. Насчёт сохранения файлов в /tmp/ppp - их список можно добавить в /usr/local/.files, будет сохраняться само.

  4. #4
    да, тупое вбивание до добра не доводит. Еще летом, когда с самбой баловался, тупо копировал строки с .files из английской конфы не разобравшись в смысле. У OlegI в инструкции смысл этого файла тоже не очень понятен. Свой предыдущий пост с учетом замечаний поправил.

  5. #5
    Теперь осталось понять каким образом принудительно прерывать соединение - убивание Pppd оставило модем на линии. Последний раз даил-аут на линухе настраивал лет 7 назад, нифига не помню %)

  6. #6
    У меня после killall pppd модем трубу бросает, а dtr остается поднятым. Вторичное убивание pppd гасит dtr, хоть и ругается на то, что процесса нет. Потом, чтоб модем позвонил снова, надо 2 раза набрать pppd call modem, после первого раза модем номер не набирает . Но после таких манипуляций может долго не соединяться. В логе chat'а ожидает CONNECT и довольно быстро бросает трубу. То ли я не доконца все правильно прописал, то ли глюки. Мне пока проще reboot сделать . Из post-mount соединяет всегда. Я сначала из post-boot пытался делать, так вот оттуда модем набирает номер, потом бросет трубу, асус сам перегружается и после второй перезагрузки и набора номера уже происходит соединение ... чудеса .

  7. #7

    Dial-out HOWTO

    Кажется я все победил по уму
    Рецепт для второго сериальника:
    1. Обновляемся до 1.9.2.7-7b
    2. Создаем /tmp/ppp/options.tts.1
    Code:
    115200
    linkname modem
    local
    login
    noipdefault
    ipcp-accept-local
    defaultroute
    usepeerdns
    noauth
    persist
    maxfail 5
    3. Создаем /tmp/ppp/pap-secrets
    Code:
    *       login1   pwd1 -
    *       login2   pwd2     -
    ...
    выполняем
    chmod 600 /tmp/ppp/pap-secrets
    4. Cоздаем /tmp/ppp/chat/modem
    Code:
    ABORT 'RING'
    ABORT 'NO CARRIER'
    ABORT 'ERROR'
    ABORT 'NO DIAL TONE'
    ABORT 'BUSY'
    ABORT 'NO ANSWER'
    ABORT 'RINGING'
    ABORT 'VOICE'
    '' 'ATE Q V1 X7'
    OK AT\U
    OK ATDP\T
    CONNECT
    5. Создаем /tmp/peers/isp1
    Code:
    /dev/tts/1
    name login1
    connect "/usr/sbin/chat -v -t 30 -T <телефон> -U '' -f /tmp/ppp/chat/modem"
    6. Создаем /tmp/local/sbin/hangup
    Code:
    #!/bin/sh
    [ -f /tmp/var/run/ppp-modem.pid ] && kill -SIGTERM `cat /tmp/var/run/ppp-modem.pid`
    и выполняем
    chmod 755 /tmp/local/sbin/hangup
    для удобства аналогично можно сделать /tmp/local/sbin/dial
    Code:
    #!/bin/sh
    pppd call $1
    и опять же
    chmod 755 /tmp/local/sbin/dial
    7. добаляем в /tmp/local
    Code:
    /tmp/ppp/peers/*
    /tmp/ppp/chat/*
    /tmp/ppp/options.tts.1
    /tmp/ppp/pap-secrets
    и выполняем
    flashfs save && flashfs commit && flashfs enable

    Теперь выполняем
    dial isp1
    пошел дозвон.
    Для разрыва соединения просто выполняем
    hangup
    Если все вроде-бы сконнектилось, но макеты ходят через пень-колоду или вовсе не ходят, то смотрим /tmp/syslog.log на предмет наличия строчек типа
    Code:
    Jan 14 14:55:06 kernel: mppe_decomp_alloc: options rejected: o[0]=12, o[1]=06, o[2]=00, o[3]=00, o[4
    Jan 14 14:55:06 pppd[519]: Received bad configure-ack:  1a 04 78 00 18 04 78 00 15 03 2f
    Jan 14 14:55:07 kernel: ppp: compressor dropped pkt
    Jan 14 14:55:30 pppd[519]: CCP: timeout sending Config-Requests
    в этом случае добавляем в /tmp/ppp/peers/isp1 строчку
    Code:
    nomppe

  8. #8
    Join Date
    Jan 2006
    Location
    Kiev
    Posts
    91
    Quote Originally Posted by Oleg
    В прошивке действительно всё было. Я в своё время по просьбе разных товарищей добавил и chat и модули и прочее. Оставалось только настроить.
    Сенкс, все очень классно! А вот как бы добавить еще в pppd CallBack

  9. #9
    мм.... а это будет работать с обычными (не Gprs) модемами? Как присобачить кабель к модему?

    CallBack можно сделать via IRC? например.. бот EggDrop , скрипт с примитивной проверкой пароля, функция exec внутри скрипта, GPRS на сотике и jmIrc. Пишем в приват боту чтото типа !call 123-45-67 и ждем...

    Задумка , думаю, вполне реализуемая
    Last edited by FilimoniC; 21-03-2006 at 15:48.
    Sorry for my bad English.
    Покупайте Отечественных Слонов!!!

  10. #10
    То что я описал, проверялось собственноручно с "черным Курьером"

  11. #11
    Join Date
    Oct 2006
    Location
    St. Petersburg
    Posts
    126

    Exclamation

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

    Внимание! Пароль и логин в скрипте, лежат не зашифрованные.
    Перед первым запуском нужно прописать IP адрес своего роутера, имя пользователя и пароль.
    Attached Files Attached Files

  12. #12
    Захотел подключить свой Siemens к асусу. Сделал все как тут написано. Но .... не проходит чат с модемом до конца.
    cat /dev/usb/tts/0 в паралельном терминале говорит
    AT
    OK

    и дальше дело не идет.
    Что я уже не делал с чат-скриптом - исполняется только первая команда '', а дальше ступор. Никакой реакции ни на OK, ни на ERROR, ни на CONNECT :-( Такое впечатление что chat не слышит ответа в линии

    В чем может быть проблема?

  13. #13
    вот ето проходит?
    '' 'ATE Q V1 X7'

  14. #14
    Quote Originally Posted by Duke View Post
    вот ето проходит?
    '' 'ATE Q V1 X7'
    X7 не знает сименс

    [admin@(none) peers]$ cat mts_chat
    '' 'ATE Q V1'
    'OK' 'ATH'
    'OK' 'ATE1'
    'OK' 'AT+CGDCONT=1,"IP","www.umc.ua"'
    TIMEOUT 60
    'OK' 'ATD*99***1#'
    CONNECT
    [admin@(none) peers]$ pppd debug nodetach call mts
    Connect script failed

    [admin@(none) root]$ cat /dev/usb/tts/0
    OK

    и дальше тот же ступор. Такое впечатление что chat не слышит входного потока.

    /tmp/syslog.log
    Jan 1 02:00:07 kernel: usb.c: registered new driver serial
    Jan 1 02:00:07 kernel: usbserial.c: USB Serial support registered for Generic
    Jan 1 02:00:07 kernel: usbserial.c: USB Serial Driver core v1.4
    Jan 1 02:00:07 kernel: usbserial.c: USB Serial support registered for PL-2303
    Jan 1 02:00:07 kernel: usbserial.c: PL-2303 converter detected
    Jan 1 02:00:07 kernel: usbserial.c: PL-2303 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
    Jan 1 02:00:07 kernel: pl2303.c: Prolific PL2303 USB to serial adaptor driver v0.11
    Jul 15 10:48:01 pppd[167]: pppd 2.4.2 started by admin, uid 0
    Jul 15 10:48:01 chat[169]: send (ATE Q V1^M)
    Jul 15 10:48:02 chat[169]: expect (OK)
    Jul 15 10:48:32 chat[169]: alarm
    Jul 15 10:48:32 chat[169]: Failed
    Jul 15 10:48:32 pppd[167]: Connect script failed
    Jul 15 10:48:32 pppd[167]: Exit.

    Разок в логах увидел и такое:
    Jan 1 02:21:10 kernel: usb-uhci.c: ENXIO 40408280, flags 0, urb 818560c0, burb 818560c0
    Jan 1 02:21:10 kernel: pl2303.c: pl2303_read_int_callback - usb_submit_urb failed with result -6

  15. #15
    Join Date
    Oct 2006
    Location
    St. Petersburg
    Posts
    126
    Я в свое время, пытался настроить модем через PL2303...
    Настроилось по рецепту и помощьюDuke , только во время настройки выяснилось, что из 5-7 переходников с Асусом нормально заработал только 1, причем симптомы были самые разные, от не коннекта до того, что принимались несколько килобайт и все глохло.
    Все переходники при этом нормально работали под виндой.
    Jan 1 02:21:10 kernel: usb-uhci.c: ENXIO 40408280, flags 0, urb 818560c0, burb 818560c0
    Jan 1 02:21:10 kernel: pl2303.c: pl2303_read_int_callback - usb_submit_urb failed with result -6
    По поводу этого, Oleg говорил, что драйвер для PL2303 достаточно кривой, у меня такие сообщения сыпались регулярно, но связь работала.

Page 1 of 11 123 ... LastLast

Similar Threads

  1. Replies: 89
    Last Post: 15-04-2013, 17:10

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •