3G-модемы, в частности, AnyData ADU-520A

В данном форуме предлагается обсуждать темы связанные с любым "железом", а также его работой под Linux
688
Заглянувший
Сообщения: 17
Зарегистрирован: 07 авг 2009, 14:15

3G-модемы, в частности, AnyData ADU-520A

Сообщение 688 »

Пытался настроить сей девайс под Fedora 11 x86_64. Следовал инструкциям отсюда: http://www.opennet.ru/base/modem/skylink_linux.txt.html. Результата - ноль целых, ноль десятых. Никакого устройства ttyUSB0 или подобного в системе после выполнения первого скрипта не появляется, мало того, usb_modeshitch ругается на то, что устройство вернуло какой-то код ошибки. Скачал rpm-пакет usm_modeswitch специально для моего дистрибутива, установил. Внимательно ознакомился с содержимым /etc/usb_modeswitch.conf. Оказалось, что нужно задать параметр модуля ядра usb-storage "option_zetro_cd=2". Ок... Перезагружаемся, запускаем usb_modeswitch снова - ошибки не выдает (точный вывод команды привести не могу т. к. пишу с другого компьютера), пишет, что команда модему успешно отправлена. Разумеется, все делается в консоли после su root. Запрос PIN на R-UIM отключен из-под винды. Но... Устройства ttyUSB0 по-прежнему нет... Равно, как и и ttyACM0 и т. п. Под Win XP модем работает без проблем.
Последний раз редактировалось 688 13 янв 2010, 10:41, всего редактировалось 1 раз.

sogenius
Заглянувший
Сообщения: 1
Зарегистрирован: 01 янв 2010, 01:41

Re: EV-DO модем AnyData ADU-520A от Velcom+Fedora

Сообщение sogenius »

Да, к сожалению не все так гладко, как хотелось бы, с подобными девайсами. У меня с AnyData ADU-500A была подобная проблема. Ок, попробуем разобраться с вашим девайсом, тем более, как я думаю, мое решение подойдет и к вашему модему.

Судя по всему, программа usb_modeswitch у вас уже установлена и в файле /etc/usb_modeswitch.conf строки, относящиеся к вашему модему, вы расскоментировали. Теперь смотрим версию ядра командой uname -r.
Для версии ниже 2.6.30, вам нужно запустить usb_modeswitch с опцией полного сброса устройства (-R). Это можно сделать, например, добавив в файл /etc/usb_modeswitch.conf перед расскоментированными вами строками строку ResetUSB=1. Для примера вот содержимое моего usb_modeswitch.conf, который подойдет и вам:

Код: Выделить всё

ResetUSB=1
########################################################
# AnyDATA ADU-500A, ADU-510A, ADU-510L, ADU-520A
#
# This ID gets an "Option" treatment by newer kernels.
# Use module option "option_zero_cd=2" with usb-storage.
# A kernel patch to fix the problem is pending
#
# Contributor: Vladimir Poluektov, Gabriel Smolar

DefaultVendor=  0x05c6
DefaultProduct= 0x1000

TargetVendor=   0x16d5
TargetProduct=  0x6502

# only for reference and 0.x versions
# MessageEndpoint=0x08

MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
########################################################
Теперь запускаем usb_modeswitch, ждем пока отработает программа и запускаем её еще раз. Всё, модем должен определиться.
Можно сделать проще. Создаем скрипт такого содержания: (взято с какого-то форума)

Код: Выделить всё

#!/bin/bash 
sudo /usr/bin/usb_modeswitch -R 1 -v 05c6 -p 1000 -V 16d5 -P 6502 -m 0x00000008 \
-M 5553424328932a86000000000000061b000000020000000000000000000000
sleep 5
sudo /usr/bin/usb_modeswitch -v 05c6 -p 1000 -V 16d5 -P 6502 -m 0x00000008 \
-M 5553424328932a86000000000000061b000000020000000000000000000000
Пояснение:
1. После 1-й команды у нас в системе появится флешка модема с дровами под оффтопик.
2. sleep 5 - системе надо дать время на осознаие этого факта, иначе никак
3. А вот это уже собственно смена режима работы нашего девайса.

параметры простые: -v и -p это DevID того, что у нас в системе после втыкания модема (посмотреть можно lsusb)
-V -P - DevID, которые мы хотим получить
-m -M - собственно команды девайсу на переключение, зависят от модема, варианты есть в файле usb_modeswitch.conf
-R - аппаратный сброс девайса

Теперь для ядра выше 2.6.31.
Все тоже самое, только опция -R не нужна, соответственно убираем её(если есть) из файла /etc/usb_modeswitch.conf или из скрипта, если используется он.
Теперь нужно удалить из каталога /lib/udev файл modem-modeswitch, иначе при переключении устройства будет вываливаться ошибка, после удаления нужно рестартнуть систему. Теперь можно переключать модем или с помощью скрипта

Код: Выделить всё

#!/bin/bash 
sudo /usr/bin/usb_modeswitch -R 1 -v 05c6 -p 1000 -V 16d5 -P 6502 -m 0x00000008 \
-M 5553424328932a86000000000000061b000000020000000000000000000000
или запустить программу usb_modeswitch в терминале(в отличие от первого варианта для ядра меньше 2.6.30, тут она запускается один раз) которая по умолчанию использует /etc/usb_modeswitch.conf, а далее само подключение к сети с помощью, например, Network Manager..., я использую GnomePPP.

Кстати, эти действия по переключению режима производятся только один раз и не требуются больше до потери питания устройством, т.е. если выдернуть шнурок девайса, или если исчезнет напряжение, то при следующей загрузке OS нужно будет только единожды переключить режим устройства.

PS/ после переключения режима, по команде lsusb устройство модем у меня определяется так:
Bus 005 Device 002: ID 16d5:6502 AnyDATA Corporation

688
Заглянувший
Сообщения: 17
Зарегистрирован: 07 авг 2009, 14:15

Re: EV-DO модем AnyData ADU-520A от Velcom+Fedora

Сообщение 688 »

sogenius, большое спасибо за направление действий. Приведенный Вами скрипт (ядро 2.6.29) не сработал. Но после определенных "танцев с бубнами" пришел к такой последовательности:
1. Перед подключением модема отмонитируем и извлекаем USB-флешки, если они подключены.
2. Отключаем (если нужно) и снова вставляем модуль usb_storage, но с требуемым параметром:

Код: Выделить всё

[root@mycomputer ~]# modprobe -r usb_storage
... несколько секунд паузы ...
[root@mycomputer ~]# modprobe usb_storage "option_zero_cd=2"
3. Подключаем модем (вставляем кабель в разьем USB). В этот момент KDE ругается на какую-то ошибку в ядре, но в дальнейшем все работает. Такая же ошибка может возникнуть при отключении от сети.
4. Ждем, пока на модеме загорится желтый светодиод.
5. Выполняем команду аппаратного сброса модема (она выдает ошибку, но, тем не менее, при этом устройство переводится в нужный режим):

Код: Выделить всё

[root@mycomputer ~]# /usr/bin/usb_modeswitch -R 1 -v 05c6 -p 1000 -V 16d5 -P 6502 -m 0x00000008 -M 5553424328932a86000000000000061b000000020000000000000000000000                                                                                 

 * usb_modeswitch: tool for controlling "flip flop" mode USB devices
 * Version 0.9.6 (C) Josua Dietze 2009                              
 * Works with libusb 0.1.12 and probably other versions             

Looking for target devices
 No target device found   
Looking for default devices
 Found default devices (1) 
Prepare switching, accessing latest device
Looking for active default driver to detach it
 No driver found. Device probably not initialized. Trying to continue ...
Setting up communication with device                                     
Trying to send the message                                               
 Sending the message returned error -19, trying to continue ...          
Resetting usb device .....................................................................................................                                                                                                                        
 Reset failed. Can be ignored if device switched OK.                                                                     
-> See /proc/bus/usb/devices (or call lsusb) for changes. Bye
6. Ждем секунд 10.
7. Создаем новое соединение с помощью nm-connection-editor (вкладка "Мобильное широкополосное соединение", в качестве устройства выбираем "AnyDATA AnyData CDMA Products"), указываем номер дозвона #777, имя пользователя mobile, пароль internet (это для Велкома, для белсела - diallog/cdma).
8. Подключаемся.
9. Расход трафика с момента подключения можно узнать через ifconfig ppp0 в консоли.
10. После отключения от интернета отключить модем от компьютера (иначе подключиться повторно может не получиться).
11. В случае необходимости подключиться повторно повторяем шаги 1-8. Новое соединение создавать каждый раз обязательно т. к. модем может определяться на разных устройствах (у меня были ttyUSB1 и ttyUSB2).
Немного неудобно, но пользоваться можно.
P.S.
Протестировано в течении примерно 2-х часов с несколькими отключениями/повторными подключениями и парой перезагрузок системы. Ошибка при подключении возникла только один раз, после физического отключения/подключения модема не повторялась.

Но возникают два вопроса:
1. Не приведет ли частый аппаратный сброс модема к появлению проблем (например, повреждению прошивки) в перспективе?
2. Есть ли возможность принудительно перевести модем в режим 1x и обратно?

688
Заглянувший
Сообщения: 17
Зарегистрирован: 07 авг 2009, 14:15

Re: EV-DO модем AnyData ADU-520A от Velcom+Fedora

Сообщение 688 »

В "федоре" все-таки начались глюки - на следующее утро при попытке подключиться по указанной методике система намертво подвисла. Установил пиратскую Mandriva Power Pack 2009.1 (все лучше, чем винда), в ней приведенный sogenius скрипт сработал без проблем, только пришлось отключить слишком "умный" NetApplet, который распознавал устройство как GPRS-модем и пытался автоматически его настроить. Единственное, что при включении кабеля в один и тот же разъем модем безо всякой закономерности оказывается то устройством ttyUSB2, то ttyUSB3. После настройки пользуюсь EV-DO в сумме уже около 6-7 часов, подключался и отключался несколько раз - полет нормальный.

688
Заглянувший
Сообщения: 17
Зарегистрирован: 07 авг 2009, 14:15

Re: EV-DO модем AnyData ADU-520A от Velcom+Fedora

Сообщение 688 »

Кстати, полезная информация для тех, кто имеет параллельно установленную Windows. Если загрузиться под Windows, запустить родную для модема утилиту подключения (соединение после того, как модем найдет сеть, можно отменить), а затем, не вынимая модем из разъема и не выключая компьютер, перезагрузиться под Linux, модем можно использовать без usb_modeswitch - он уже будет переключенным в нужный режим - работает со многими (но не всеми) 3G модемами, однако, зависит от BIOS (у меня в Fedora 11 заработало только после отключения загрузки с CD-ROM, с некоторыми материнскими платами не работает вообще) - данным методом и пользуюсь. И еще - по неподтвержденной информации, в Fedora 12 Russian Remix без установки драйверов и софта, отсуствующих на установочном DVD, модемы от AnyData при подключении сразу определяются как компакт-диски и, после их "извлечения" (не только одного размонтировния!!!) в гномовком наутилусе, автоматически переключаются в нужное состояние. В связи с этим, по объявлению на онлайнере уже заказал закачку этого дистрибутива, через неделю отпишусь о результатах.

=== А вот и результаты ===
Fedora Russian Remix 12 (x86_64) - никакого нового диска при подключении модема, как с опцией модуля usb_storage option_zero_cd=2, так и без нее, в системе не появляется (ни на рабочем столе, ни в виде /dev/sr1 и т. п.). usb_modeswitch последней версии пишет, что команда модему успшено отправлена (пробовал в том числе и с опцией -R 1), но модем при этом не переключается (не зависимо от указанной выше опции модуля ядра). Установил тот пакет, который пытался использовать в Fedora 11 - кеды на ошибки ядра не ругаются, но соединение (установленное с помощью NetworkManager) стабильно обрывается через несколько минут, после чего в системе появляется диск с драйверами под windows. Его "извлечение" результата не дает - через максимум 5 минут все повторяется.

Mandriva 2009.0 (x86_64) - примерно то же самое, что и в предыдущем случае (только ядро не поддерживает опцию option_zero_cd модуля usb_storage, переключение (с помощью пакета usb_modeswitch для этого дистрибутива) происходит, но через максимум 5 минут разрыв и невозможность подключения до физического извлечения-вставки модема в USB-порт). Для настройки соединения использовался KPPP. Переключение из-под винды и перезагрузка не помогают.

Fedora 11 Russian Remix (x86_64) - ошибки ядра при вставке модема в разъем (даже без установленного в системе usb_modeswitch и изменения каких-либо параметров модлей ядра), модем переключается c использованием usb_modeswitch, но при попытке подключения Kernel Panic. Переключение из-под винды и перезагрузка - тоже не помогают.

Mandriva 2009.1 - проблем с модемом нет, но... Нет звука (касается моего железа) в приложениях, не использующих Phonon, под гномом вместо музыки в наушниках треск и шипение. Вникать в конфигурацию PulseAudio не стал.

Мое железо:
настольный компьютер, AMD Sempron LE1200, материнская плата от Biostar (чипсет nVidia, модель не помню, сейчас пишу с работы), жесткий диск SATA на 250 Гб, 2 Гб оперативной памяти, из них 256 под встроенное видео.), видео, звук на плате.

P.S. Если у кого-то есть опыт использования под Linux модемов из пакета МТС Коннект (http://mts.by/phones/1386/35191/) и аналогичного предложения (WEB500+модем бесплатно) от Velcom, пожалуйста, отпишитесь (обязательно указав свой дистрибутив).

Аватара пользователя
invox
Неотъемлемая часть форума
Сообщения: 395
Зарегистрирован: 12 сен 2002, 17:53
Откуда: Минск
Контактная информация:

Re: 3G-модемы, в частности, AnyData ADU-520A

Сообщение invox »

Древний ноут с USB и AnyData ADU-520A, настраивалось в прошлом году

Linux debian 2.6.26-2-686 #1 SMP Wed Nov 4 20:45:37 UTC 2009 i686 GNU/Linux
usb-modeswitch 1.0.2-1

Все, что требовалось, чтобы завести модем - почитать документацию.
Насколько помню, достаточно было правки /etc/usb_modeswitch.conf и /etc/udev/rules.d/usb_modeswitch.rules
Настройка конекта и сети - уже на выбор администратора

вывод /var/log/syslog при подключении модема:

Код: Выделить всё

Jan 26 01:09:49 debian kernel: [3815121.808079] usb 1-1: new full speed USB device using uhci_hcd and address 6
Jan 26 01:09:49 debian kernel: [3815121.976025] usb 1-1: configuration #1 chosen from 1 choice
Jan 26 01:09:49 debian kernel: [3815121.977487] scsi3 : SCSI emulation for USB Mass Storage devices
Jan 26 01:09:49 debian kernel: [3815121.977487] usb 1-1: New USB device found, idVendor=05c6, idProduct=1000
Jan 26 01:09:49 debian kernel: [3815121.977487] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 26 01:09:49 debian kernel: [3815121.977487] usb 1-1: Product: USB MMC Storage
Jan 26 01:09:49 debian kernel: [3815121.977487] usb 1-1: Manufacturer: AnyDATA Corporation
Jan 26 01:09:49 debian kernel: [3815121.977487] usb 1-1: SerialNumber: 000000000002
Jan 26 01:09:49 debian kernel: [3815121.977487] usb-storage: device found at 6
Jan 26 01:09:49 debian kernel: [3815121.977487] usb-storage: waiting for device to settle before scanning
Jan 26 01:09:50 debian kernel: [3815122.800466] usb 1-1: USB disconnect, address 6
Jan 26 01:09:51 debian kernel: [3815124.032089] usb 1-1: new full speed USB device using uhci_hcd and address 7
Jan 26 01:09:52 debian kernel: [3815124.190868] usb 1-1: configuration #1 chosen from 1 choice
Jan 26 01:09:52 debian kernel: [3815124.194039] option 1-1:1.0: GSM modem (1-port) converter detected
Jan 26 01:09:52 debian kernel: [3815124.194294] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
Jan 26 01:09:52 debian kernel: [3815124.197370] option 1-1:1.1: GSM modem (1-port) converter detected
Jan 26 01:09:52 debian kernel: [3815124.197621] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
Jan 26 01:09:52 debian kernel: [3815124.200328] option 1-1:1.2: GSM modem (1-port) converter detected
Jan 26 01:09:52 debian kernel: [3815124.200573] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
Jan 26 01:09:52 debian kernel: [3815124.203595] scsi4 : SCSI emulation for USB Mass Storage devices
Jan 26 01:09:52 debian kernel: [3815124.216831] usb 1-1: New USB device found, idVendor=16d5, idProduct=6502
Jan 26 01:09:52 debian kernel: [3815124.216864] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 26 01:09:52 debian kernel: [3815124.216877] usb 1-1: Product: AnyDATA CDMA Products
Jan 26 01:09:52 debian kernel: [3815124.216887] usb 1-1: Manufacturer: AnyDATA Corporation
Jan 26 01:09:52 debian kernel: [3815124.218169] usb-storage: device found at 7
Jan 26 01:09:52 debian kernel: [3815124.218195] usb-storage: waiting for device to settle before scanning
Jan 26 01:09:57 debian kernel: [3815129.218044] usb-storage: device scan complete
Jan 26 01:09:57 debian kernel: [3815129.221693] scsi 4:0:0:0: CD-ROM            AnyDATA  CD-ROM           1.00 PQ: 0 ANSI: 2
Jan 26 01:09:57 debian kernel: [3815129.275929] sr0: scsi3-mmc drive: 0x/0x caddy
Jan 26 01:09:57 debian kernel: [3815129.276356] sr 4:0:0:0: Attached scsi CD-ROM sr0
Jan 26 01:09:57 debian kernel: [3815129.276527] sr 4:0:0:0: Attached scsi generic sg0 type 5
Содержимое /etc/ppp/peers/evdo

Код: Выделить всё

/dev/ttyUSB0 230400 crtscts modem
noccp novj
connect "/usr/sbin/chat -e -v -f /etc/chatscripts/pap -T '#777'"
noauth user mobile
# remotename mtsconnect
usepeerdns
defaultroute
debug updetach
строка в /etc/ppp/chap-secrets

Код: Выделить всё

"mobile" * "internet"
Часть /etc/network/interfaces

Код: Выделить всё

iface 3g inet ppp
provider evdo
# NAT for LAN
post-up iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
post-down iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
все чудно работает через ifup/ifdown 3g
в случаях, когда приходится переключаться с проводного internet

688
Заглянувший
Сообщения: 17
Зарегистрирован: 07 авг 2009, 14:15

Re: 3G-модемы, в частности, AnyData ADU-520A

Сообщение 688 »

Кое-как получилось завести этот девайс под OpenSUSE 11.0 (32-bit). Но стабильность соединения ощутимо хуже, чем под Windows, чего не скажешь о GPRS/EDGE через обычный телефон. Так что отложил модем на полку до лучших времен (тем более, что платить 80 тыс. за 2 Гб в месяц накладно) и вернулся на более привычную "федору".

688
Заглянувший
Сообщения: 17
Зарегистрирован: 07 авг 2009, 14:15

Re: 3G-модемы, в частности, AnyData ADU-520A

Сообщение 688 »

Ubuntu 10.10 - с моим модемом полет нормальный, жаловаться не на что.

Ответить