Сайт | Скачать | Видео | Wiki

Автор Тема: Два GPRS-модема  (Прочитано 14681 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн midnighter

  • Ветеран
  • *****
  • Сообщений: 436
  • Репутация: +15/-0
  • Автор темы
Два GPRS-модема
« : 29 Ноябрь 2010, 19:45:08 »
Возникла необходимость подклю чать два GPRS-модема (не одновременно разумеется). Но после настройки одного из модемов визард настройки GPRS больше не запускается. Как победить ????
Модемы:
1) Скайлинк ADU-310a
2) Телефон Siemens CX-65
Оба подключаются. Системма Puppyrus-420.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Два GPRS-модема
« Ответ #1 : 29 Ноябрь 2010, 19:52:02 »
 Настроить второй через gnome-ppp.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн midnighter

  • Ветеран
  • *****
  • Сообщений: 436
  • Репутация: +15/-0
  • Автор темы
Re: Два GPRS-модема
« Ответ #2 : 06 Декабрь 2010, 21:00:44 »
Со времени первого сообщения появился ещё один модем - Мегафон. И проблем прибавилось. Попытаюсь максимально информативно описать всё что делал и что получил.
Настроить второй через gnome-ppp.
В 420-ом нет gnome-ppp, а перейти на Puppyrus2 не могу из-за отсутствия драйверов на видеокарту nVidia-9800GT (от 420-ого и Xlupurus неподошли) - это раз. Мегафон отказался определяться в 420-ом - это два. Но я всё-таки попробовал в Puppyrus2 через  gnome-ppp и pupdial. У Теле2 и Мегафона строчки пароль и имя пользователя должны быть пустыми, а gnome-ppp и pupdial требуют пароль и имя пользователя и без них не подключаются.  На чистой системе (pfix=ram) каждый по отдельности настраивается через мастера настройки GPRS и работает. Skylink настраивается и через gnome-ppp, и pupdial, и мастера настройки GPRS и работает. Пробовал добавить пользователей через adduser - папки создались, а пользователей не нашёл.  Если были бы пользователи, проблем бы не возникло - у каждого пользователя свой - модем и свои настройки в папке юзера. Как временный выход сделал три сохранёнки с разными настройками модемов для каждого пользователя.
Подскажите кто-нибудь можно ли сделать чтобы gnome-ppp и pupdial не проверяли строку "пароль" на отсутствие такового? Тогда можно было бы настроить два модема через pupdial (оба определяются как ttyUSB0), а третий через GPRS и не плодить сохранёнки. Вдруг ещё кто-нибудь захочет познакомиться с "Линуксом" и у него окажется другой модем.

Оффлайн georgii-2

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 554
  • Репутация: +14/-0
Re: Два GPRS-модема
« Ответ #3 : 06 Декабрь 2010, 21:18:27 »
Цитата
У Теле2 и Мегафона строчки пароль и имя пользователя должны быть пустыми, а gnome-ppp и pupdial требуют пароль и имя пользователя и без них не подключаются.
Тоже такое было, но провайдер всего лишь не требовал логин и пароль. Вводил свои и всё шло, попробуйте вводить что нибудь типа названия провайдера что ли вместо логина и пароля. Но при переходе с одного на другой придётся пароль менять, одинаковые пароли пап-дайал кажется не принимает не помню точно.
А сохранёнки у меня тоже разные, у каждого домашнего своя.
« Последнее редактирование: 06 Декабрь 2010, 21:24:49 от georgii-2 »
ищем простые решения актуальных задач технического прогресса.
AMD Athlon(tm) 64 Processor 3000+
GeForce 6150SE nForce 430

Оффлайн rodin.s

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1179
  • Репутация: +96/-0
Re: Два GPRS-модема
« Ответ #4 : 06 Декабрь 2010, 21:39:03 »
Например, в wvdial можно настроить несколько параметров одновремено и набирать wvdial mts, wvdial utel. В wvdial.conf есть общая секция Dialer defaults где общие опции, а можно добавить Dialer mts или Dialer utel с отдельными настройками, которые отличаются.

Оффлайн shelezyaka

  • Ветеран
  • *****
  • Сообщений: 814
  • Репутация: +39/-0
Re: Два GPRS-модема
« Ответ #5 : 06 Декабрь 2010, 21:58:29 »
Со времени первого сообщения появился ещё один модем - Мегафон.
В 420-ом нет gnome-ppp, а перейти на Puppyrus2 не могу из-за отсутствия драйверов на видеокарту nVidia-9800GT (от 420-ого и Xlupurus неподошли)
Посмотри на КРРР  http://forum.puppyrus.org/index.php/topic,3676.msg38716.html#msg38716
В нём десяток модемов можно настроить.А в качестве пароля и имени часто проходит "internet".
Intel(R) Xeon(R) CPU E5-2630 v2 , GeForce GTX 560  ,  16Gb DDR3 ,  HDD - 160 Gb  SSD  250 Gb
Acer Aspire One D270-26Сkk Intel Atom N2800 1.86GHz 2Gb DDR3  HDD - 720 Gb

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Два GPRS-модема
« Ответ #6 : 06 Декабрь 2010, 22:36:30 »
 Оптимальный вариант использовать wvdial. Создаём /etc/wvdial.conf
Код
[Dialer Defaults]
ISDN = off
Modem Type = Analog Modem
Baud = 115200
Init = ATZ
Phone = *99#
Dial Attempts = 1
Dial Command = ATM1L3DT
Ask Password = off
Password = gdata
Username = gdata
Auto Reconnect = off
Abort on Busy = off
Carrier Check = on
Check Def Route = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on

[Dialer beeline]
Modem = /dev/ttyUSB2 #модем ZTE MF-100
Init1 = AT+CPIN=**** #если нужен PIN-код.
Init2 = AT+CGDCONT=1,"IP","home.beeline.ru"

[Dialer megafon]
Modem = /dev/ttyUSB_utps_modem #модем Huawei E1550
Init1 = AT+CPIN=**** #если нужен PIN-код.
Init2 = AT+CGDCONT=1,"IP","internet"
Создаём правило для udev /etc/udev/rules.d/10-Modems.rules (название может быть и другим, но обязательно .rules)
Код
##модем ZTE
ACTION=="add", ATTRS{idVendor}=="19d2", KERNEL=="ttyUSB*", RUN+="/usr/bin/wvdial beeline"
##модем Huawei
ACTION=="add", ATTRS{idVendor}=="12d1", KERNEL=="ttyUSB*", RUN+="/usr/bin/wvdial megafon"
Модемы будут коннектиться автоматически при их подключении.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн shelezyaka

  • Ветеран
  • *****
  • Сообщений: 814
  • Репутация: +39/-0
Re: Два GPRS-модема
« Ответ #7 : 06 Декабрь 2010, 23:47:40 »
DdShurik вопрос чисто теоретический, т.к.  я нашел для себя звонилку.
У модемов разные скорости передачи данных например 115200 и 9600  или 460800,как быть с этим?
Intel(R) Xeon(R) CPU E5-2630 v2 , GeForce GTX 560  ,  16Gb DDR3 ,  HDD - 160 Gb  SSD  250 Gb
Acer Aspire One D270-26Сkk Intel Atom N2800 1.86GHz 2Gb DDR3  HDD - 720 Gb

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Два GPRS-модема
« Ответ #8 : 07 Декабрь 2010, 06:50:10 »
DdShurik вопрос чисто теоретический, т.к.  я нашел для себя звонилку.
У модемов разные скорости передачи данных например 115200 и 9600  или 460800,как быть с этим?
Перенести параметр "Baud = " в [Dialer name].
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн midnighter

  • Ветеран
  • *****
  • Сообщений: 436
  • Репутация: +15/-0
  • Автор темы
Re: Два GPRS-модема
« Ответ #9 : 07 Декабрь 2010, 18:37:43 »
Большое спасибо всем за участие. Ближайшие дни буду играть в "сисадмина".
Тоже такое было, но провайдер всего лишь не требовал логин и пароль. Вводил свои и всё шло, попробуйте вводить что нибудь типа названия провайдера что ли вместо логина и пароля.
Пробовал. Без пароля\логина в консольке при подключении "красивые" команды запросов и ответов, а с паролем\логином какие то "иероглифы" и жуткие тормоза - страничка с форума грузится секунд 20.
Создаём правило для udev.
Модемы будут коннектиться автоматически при их подключении.
Я как раз перелопатил интернет по этой теме, но про модемы ничего не попалось (только фотоаппараты, плееры, видеокамеры). Пытался чтобы при подключении создавалась ссылка "модем" на нужное USB- устройство, но программист из меня некудышный. Буду пробовать Ваш вариант. Раз есть возможность автоматизировать через "udev"- грех ей не воспользоваться. О результатах отпишусь.
P.S.
Перенести параметр "Baud = " в [Dialer name].
Я так понимаю мне это тоже подойдёт.

Оффлайн midnighter

  • Ветеран
  • *****
  • Сообщений: 436
  • Репутация: +15/-0
  • Автор темы
Re: Два GPRS-модема
« Ответ #10 : 20 Декабрь 2010, 17:53:30 »
Например, в wvdial можно настроить несколько параметров одновремено и набирать wvdial mts, wvdial utel.
Оптимальный вариант использовать wvdial. Создаём /etc/wvdial.conf (и т.д.)
Большое спасибо! Я так и сделал по вашим советам. Для меня набрать в терминале два слова не проблема, а вот для товарищей пришлось сделать окошко с кнопочками: "Мегафон" и "Скайлинк". Потом и свою "Теле2" туда прилепил. В действия для кнопок прописал вызов wvdial с параметром оператора.
P.S.
Классная штука "Линукс". Здесь всё можно обустроить по своему вкусу и для удобства, жаль знаний маловато.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Два GPRS-модема
« Ответ #11 : 22 Декабрь 2010, 15:05:32 »
 Вот написал скрипт. Под модемы ZTE MF100 и Huawei E1550. Вытаскивает строку инициализации из модема. Поэтому, по идее, должен работать с любым оператором сотовой связи.
Код
#!/bin/sh
# GPL v3 License
#Connect_GPRS v002 DdShurick

# Проверка наличия usb_modeswitch
[ -x /usr/sbin/usb_modeswitch ] || /usr/X11R7/bin/xmessage "Нужно установить usb_modeswitch" | exit 0
echo "modeswitch OK"

# Определение интерфейсов модема.
rm -f /dev/modem
device=$(ls /dev | grep USB | grep -E "0|pcui")
device2=$(ls /dev | grep USB | grep -E "2|modem")

# Проверка наличия модема
[ "$device2" = "" ] && xmessage "Нужно вставить модем."
[ $? = 0 ] && exit 0
echo "modem OK"

modemfunc () {
INIT1=$(modem-stats -c AT+CGDCONT? /dev/$device2 | grep "+CGDCONT" | sed -e 's/^/AT/;s/: 1/=1/' | cut -f -3 -d ',')
echo "[Dialer Defaults]
ISDN = off
Modem Type = Analog Modem
Modem = /dev/modem
Baud = 115200
Init = ATZ
Init1 = $INIT1
Phone = *99#
Dial Attempts = 1
Dial Command = ATM1L3DT
Ask Password = off
Password = gdata
Username = gdata
Auto Reconnect = off
Abort on Busy = off
Carrier Check = on
Check Def Route = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on
" > /etc/wvdial.conf
exec wvdial
}

ln -s /dev/$device2 /dev/modem
# Проверка PIN-кода
status=$(modem-stats -c "AT+CPIN?" /dev/$device2 | grep "READY")
if [ "$status" = "" ]; then
pin=$(Xdialog --title "Pin-код" --passwordbox "Введите PIN" 0 0 2>&1)
if [ $? = 0 ]; then
echo "AT+CPIN=$pin" > /dev/$device2
modemfunc
else
exit 0
fi
else
echo "PIN OK"
modemfunc
fi
У меня сейчас в наличии только ZTE, а надо проверить по возможности на разных.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн rodin.s

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1179
  • Репутация: +96/-0
Re: Два GPRS-модема
« Ответ #12 : 23 Декабрь 2010, 00:45:20 »
А откуда эта строка там изначально берется? Кажется, ее туда вводит строка инициализации: (AT+CGDCONT=1,"ip","3g.utel.ua") И она хранится в памяти пока не введется другая. Данный скрипт, кажется, считывает ее из модема и обратно в модем вводит. Может он просто находит последнюю используемую.
Код
modem-stats -c 'AT+CGDCONT=1,"ip","hyper.net"' /dev/ttyUSB0

Код
modem-stats -c AT+CGDCONT? /dev/ttyUSB0

+CGDCONT: 1,"IP","hyper.net","0.0.0.0",0,0
+CGDCONT: 3,"IP","3g.utel.ua","0.0.0.0",0,0
После подключения к Интернет и отключения (PupDial):
Код
modem-stats -c AT+CGDCONT? /dev/ttyUSB0

+CGDCONT: 1,"IP","3g.utel.ua","0.0.0.0",0,0
+CGDCONT: 3,"IP","3g.utel.ua","0.0.0.0",0,0

С таким-же успехом можно ее туда вообще не вводить. Она там уже есть и сохраняется даже при отключении питания. Сейчас удалил APN из PupDial и все равно удалось подключиться.
« Последнее редактирование: 23 Декабрь 2010, 00:54:29 от rodin.s »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Два GPRS-модема
« Ответ #13 : 23 Декабрь 2010, 09:04:23 »
Сейчас удалил APN из PupDial и все равно удалось подключиться.
А если удалить APN из /etc/wvdial.conf?
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн rodin.s

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1179
  • Репутация: +96/-0
Re: Два GPRS-модема
« Ответ #14 : 23 Декабрь 2010, 10:40:23 »
Получается, что APN храниться в памяти модема и его не нужно каждый раз туда вводить. По идее можно убрать строку инициализации из wvdial.conf и он будет использовать APN из памяти. Попробую это сделать в скрипте ppp.