Да, к сожалению не все так гладко, как хотелось бы, с подобными девайсами. У меня с 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