Форум проекта PuppyRus Linux

Общие вопросы => Общие и технические вопросы => Тема начата: midnighter от 29 Ноябрь 2010, 19:45:08

Название: Два GPRS-модема
Отправлено: midnighter от 29 Ноябрь 2010, 19:45:08
Возникла необходимость подклю чать два GPRS-модема (не одновременно разумеется). Но после настройки одного из модемов визард настройки GPRS больше не запускается. Как победить ????
Модемы:
1) Скайлинк ADU-310a
2) Телефон Siemens CX-65
Оба подключаются. Системма Puppyrus-420.
Название: Re: Два GPRS-модема
Отправлено: DdShurick от 29 Ноябрь 2010, 19:52:02
 Настроить второй через gnome-ppp.
Название: Re: Два GPRS-модема
Отправлено: midnighter от 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 и не плодить сохранёнки. Вдруг ещё кто-нибудь захочет познакомиться с "Линуксом" и у него окажется другой модем.
Название: Re: Два GPRS-модема
Отправлено: georgii-2 от 06 Декабрь 2010, 21:18:27
Цитата
У Теле2 и Мегафона строчки пароль и имя пользователя должны быть пустыми, а gnome-ppp и pupdial требуют пароль и имя пользователя и без них не подключаются.
Тоже такое было, но провайдер всего лишь не требовал логин и пароль. Вводил свои и всё шло, попробуйте вводить что нибудь типа названия провайдера что ли вместо логина и пароля. Но при переходе с одного на другой придётся пароль менять, одинаковые пароли пап-дайал кажется не принимает не помню точно.
А сохранёнки у меня тоже разные, у каждого домашнего своя.
Название: Re: Два GPRS-модема
Отправлено: rodin.s от 06 Декабрь 2010, 21:39:03
Например, в wvdial можно настроить несколько параметров одновремено и набирать wvdial mts, wvdial utel. В wvdial.conf есть общая секция Dialer defaults где общие опции, а можно добавить Dialer mts или Dialer utel с отдельными настройками, которые отличаются.
Название: Re: Два GPRS-модема
Отправлено: shelezyaka от 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".
Название: Re: Два GPRS-модема
Отправлено: DdShurick от 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"
Модемы будут коннектиться автоматически при их подключении.
Название: Re: Два GPRS-модема
Отправлено: shelezyaka от 06 Декабрь 2010, 23:47:40
DdShurik вопрос чисто теоретический, т.к.  я нашел для себя звонилку.
У модемов разные скорости передачи данных например 115200 и 9600  или 460800,как быть с этим?
Название: Re: Два GPRS-модема
Отправлено: DdShurick от 07 Декабрь 2010, 06:50:10
DdShurik вопрос чисто теоретический, т.к.  я нашел для себя звонилку.
У модемов разные скорости передачи данных например 115200 и 9600  или 460800,как быть с этим?
Перенести параметр "Baud = " в [Dialer name].
Название: Re: Два GPRS-модема
Отправлено: midnighter от 07 Декабрь 2010, 18:37:43
Большое спасибо всем за участие. Ближайшие дни буду играть в "сисадмина".
Тоже такое было, но провайдер всего лишь не требовал логин и пароль. Вводил свои и всё шло, попробуйте вводить что нибудь типа названия провайдера что ли вместо логина и пароля.
Пробовал. Без пароля\логина в консольке при подключении "красивые" команды запросов и ответов, а с паролем\логином какие то "иероглифы" и жуткие тормоза - страничка с форума грузится секунд 20.
Создаём правило для udev.
Модемы будут коннектиться автоматически при их подключении.
Я как раз перелопатил интернет по этой теме, но про модемы ничего не попалось (только фотоаппараты, плееры, видеокамеры). Пытался чтобы при подключении создавалась ссылка "модем" на нужное USB- устройство, но программист из меня некудышный. Буду пробовать Ваш вариант. Раз есть возможность автоматизировать через "udev"- грех ей не воспользоваться. О результатах отпишусь.
P.S.
Перенести параметр "Baud = " в [Dialer name].
Я так понимаю мне это тоже подойдёт.
Название: Re: Два GPRS-модема
Отправлено: midnighter от 20 Декабрь 2010, 17:53:30
Например, в wvdial можно настроить несколько параметров одновремено и набирать wvdial mts, wvdial utel.
Оптимальный вариант использовать wvdial. Создаём /etc/wvdial.conf (и т.д.)
Большое спасибо! Я так и сделал по вашим советам. Для меня набрать в терминале два слова не проблема, а вот для товарищей пришлось сделать окошко с кнопочками: "Мегафон" и "Скайлинк". Потом и свою "Теле2" туда прилепил. В действия для кнопок прописал вызов wvdial с параметром оператора.
P.S.
Классная штука "Линукс". Здесь всё можно обустроить по своему вкусу и для удобства, жаль знаний маловато.
Название: Re: Два GPRS-модема
Отправлено: DdShurick от 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, а надо проверить по возможности на разных.
Название: Re: Два GPRS-модема
Отправлено: rodin.s от 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 и все равно удалось подключиться.
Название: Re: Два GPRS-модема
Отправлено: DdShurick от 23 Декабрь 2010, 09:04:23
Сейчас удалил APN из PupDial и все равно удалось подключиться.
А если удалить APN из /etc/wvdial.conf?
Название: Re: Два GPRS-модема
Отправлено: rodin.s от 23 Декабрь 2010, 10:40:23
Получается, что APN храниться в памяти модема и его не нужно каждый раз туда вводить. По идее можно убрать строку инициализации из wvdial.conf и он будет использовать APN из памяти. Попробую это сделать в скрипте ppp.
Название: Re: Два GPRS-модема
Отправлено: Pro от 23 Декабрь 2010, 10:53:23
ну хршо, а если симка меняется в этом модеме то что происходит со строкой инициализации?
она стирается? кто ее тогда  будет туда записывать и чем?
Название: Re: Два GPRS-модема
Отправлено: rodin.s от 23 Декабрь 2010, 11:36:30
Работает и без APN через скрипты PPP. Слегка быстрее подкючается. При замене SIM APN остается старый. Для другой симки скорее всего нужно вводить другой.  Ну ввести его туда просто:
Код
modem-stats -c 'AT+CGDCONT,"ip","3g.utel.ua"' /dev/ttyUSB0
. Но, вообще, хорошая идея, не вводить APN если он там уже есть и я не меняю симки.
Название: Re: Два GPRS-модема
Отправлено: midnighter от 25 Декабрь 2010, 17:26:09
Я для своих модемов выковырял строку из виндовых драйверов, точнее из *.ini файлов. Да и пупдиал сам определил её вполне корректно.
Название: Re: Два GPRS-модема
Отправлено: Леонид Захаров от 17 Январь 2011, 14:42:15
Оптимальный вариант использовать 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"
Модемы будут коннектиться автоматически при их подключении.

Прошу прощения, а этот способ конфигурации подойдёт для Билайновского HSDPA USB ZTE MF180? Если да, то можно ли увеличить макс скорость до 3мб-с?
Название: Re:Два GPRS-модема
Отправлено: Леонид Захаров от 17 Январь 2011, 16:48:11
Попробовал конфиг по этому тексту на Папирусе 1.30 ПапДиал не стартовал вообще. Соответственно модем Билайн не увидел :( . Пришлось родной конфиг на место вернуть. rules оставил, думаю мешаться не будет.