Помогите с реализацией usb_modeswitch
Кто-нибудь знает, как настроить usb_modeswitch
? Я прочитал документацию и не нашел ее очень полезной.
У меня есть следующее устройство:
oshirowanen@laptop:~$ lsusb
Bus 001 Device 003: ID 19d2:0031 ONDA Communication S.p.A. ZTE MF636
я использую Ubuntu 10.04.2
,
По сути, я не хочу, чтобы устройство распознавалось как устройство хранения USB. Мне приходится вручную извлекать устройство, прежде чем оно автоматически распознается как широкополосный модем USB.
2 ответа
Я не уверен, что полностью понимаю вашу проблему, потому что согласно usb_modeswitch ваше устройство находится в режиме модема, то есть идентификатор устройства 0x0031 для модема.
Это из файла device_reference.txt, доступного на сайте usb_modeswitch:
########################################################
# ZTE MF622 (aka "Onda MDC502HS")
# ZTE MF626
# ZTE MF628+ (tested version from Telia / Sweden)
# ZTE MF633
# ZTE MF636 (aka "Telstra / BigPond 7.2 Mobile Card")
# ZTE MF637
#
# Contributor: Joakim Wennergren and others
DefaultVendor= 0x19d2
DefaultProduct= 0x2000
TargetVendor= 0x19d2
TargetProduct= 0x0031
MessageContent="5553424312345678000000000000061e000000000000000000000000000000"
MessageContent2="5553424312345679000000000000061b000000020000000000000000000000"
NeedResponse=1
Как вы можете видеть, идентификатор цели для вашего устройства 0x0031, что означает, что ваше устройство находится в режиме модема.
Так что, если у вас возникла эта проблема при запуске системы, попробуйте подключить устройство после загрузки системы в Ubuntu, а не раньше.
Но если у вас возникли проблемы при повторном подключении устройства, например, если оно было отключено из-за проблем с сетью, вам потребуется отключить и снова подключить устройство.
ОБНОВИТЬ
Я только что установил usb_modeswitch и обнаружил, что все записи в файле конфигурации прокомментированы. Так что откройте /etc/usb_modeswitch.conf и найдите строку, содержащую
;TargetProduct= 0x0031
Удалить точку с запятой (;) в начале следующих строк
;DefaultVendor= 0x19d2
;DefaultProduct= 0x2000
;TargetVendor= 0x19d2
;TargetProduct= 0x0031
# only for reference
# MessageEndpoint=0x01
;MessageContent="55534243123456782000000080000c85010101180101010101000000000000"
Теперь сохраните и закройте этот файл. Для этого вам понадобятся привилегии sudo. Теперь отключите и снова подключите ваше устройство, и я считаю, что оно должно работать. Если это не так, прокомментируйте строку MessageContent и удалите комментарий (удалите точку с запятой) вторую строку MessageContent, которая находится чуть ниже первой.
У меня такие же проблемы с моим модемом на 12.04. Все, что вам нужно сделать, это следующие вещи:
Сначала установите USB_modeswitch на свой компьютер. Попробуйте загрузить его из Центра программного обеспечения или менеджера пакетов Synaptic. Также проверьте для libusb
в синаптических.
Теперь проверьте, есть ли у вас /etc/mod_switch.conf
или же /etc/mod_switch.d
файл. Не беспокойтесь об их содержании, просто проверьте, есть ли они в вашей системе или нет. Если /etc/mod_switch.conf
нет, тогда вы можете создать его вручную.
Теперь проверьте файл в /usr/share/usb_modswitch
в нем вы найдете tar-файл, содержащий некоторую информацию о вашем устройстве. Ищите файл вашего устройства в файле tar, вы получите его там.
Чтобы узнать, какой файл вам нужен, просто запустите команду lsusb
в вашем терминале, чтобы получить vendor id
а также product id
соответственно. В вашем файле вы получите следующую информацию:
TargetVendor= 0x12d1
TargetProductList="140b,1506,150f"
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
Вы будете иметь свой собственный TargetVendor
, Targetid
, TargetMessage
содержание.
Теперь идите в терминал и бегите gedit /etc/mod_switch.conf
и напишите в нем следующие строки:
DefaultVendor= 0x19d2
DefaultProduct= 0x2000
TargetVendor= 0x19d2
TargetProduct= 0x0031
MessageContent="5553424312345678000000000000061e000000000000000000000000000000
Пожалуйста, убедитесь, что вы поставили правильную запись. Поставщик по умолчанию и продукт могут быть получены от lsusb
команда. Целевой поставщик, продукт и содержание сообщения из файла, который я упоминал выше. Сохраните его и закройте файл.
Теперь откройте терминал и выполните следующую команду:
sudo usb_modeswitch -c /etc/usb_modeswitch.conf