Статья чужая. Тема: Debian 5.0 (lenny). Подключение интернета с помощью HSPDA модема Huawai-E1550 3G и программы kppp.
Решено, 10.12.2009.
Исходные данные: оператор — МТС, тариф — безлимитка, модем — неразблокировывался.
При подключении модема, срабатывает автомонтировка, виден CD-ROM с драйверами для MsWindows.
После проделывания описанных ниже манипуляций работает отлично, без сбоев, под своего оператора. Несмотря на то, что модем неразлоченый, соединение с интернетом у меня не рвётся.
1.Проблема - определение модема на портах.
1.1. Вставьте модем в разъём USB2.0 сзади системного блока непосредственно в материнскую плату. Не должно быть никаких хабов и даже удлинителей, иначе модем определяется операционной системой под не нужным кодом продукта (product).
2.2. Выполните в терминале команду: lsusb | grep 12d1 (то что от root, делее не оговариваюсь). Команда означает - посмотреть usb устройства, у которых vendor = 12d1, где 12d1 — есть спец. код (vendor) для всех HSPDA модемов 3G типа Huawai.
Получим строку типа: Bus 05 Device 003: ID 12d1:1003, где 1003 код продукта (product), если у Вас этот код — радуйтесь, модем определиться на usb портах без проблем.
Подробности: код 1003 - это фактический код модема Е220. Важно — чтобы модем определялся именно с кодом product=1003, хотя фактический код продукта для моего модема E1550 равен 1446. Но с этим кодом, как я не выворачивался на изнанку, модем на портах usb так и не определился. Под этим кодом он определялся при включении через хабы, и удлинитель, выведенным на переднюю панель системного блока. Поэтому, если модем определился с кодом 1446, то включите в другой порт, поперезагружайтесь, но добейтесь определения модема с кодом 1003. Между прочим, я сравнил с данными windows, и удивился, когда обнаружил что и там драйвер модема стоит под устройство с кодом 1003. Если не помогает, следуйте далее.
2.Следующая проблема - в модуле usbcore ядра lenny почему-то по молчанию выключена служба или опция - usbserial, которая должна быть задействована в работе с usb-модемами.
Дайте просмотр: lsmod | grep usb
смотри то, что жирным шрифтом:
usbserial 26472 4 option
usb_storage 76032 1
usbhid 35904 0
hid 33184 1 usbhid
ff_memless 4392 1 usbhid
scsi_mod 129356 5 usb_storage,sg,sr_mod,sd_mod,libata
usbcore 118160 7 option,usbserial,usb_storage,usbhid,ehci_hcd,uhc
Если usbserial нет, то можно включить командой:
modprobe usbserial vendor=0x12d1 product=0x1003, и опять та-же команда для просмотра изменений.
Но лучше на будущее открыть файл конфигурации загружаемых модулей /etc/modules и дописать туда строчку usbserial. Сохраняем изменения. У меня там по умолчанию только loop оказался.
Дополнительно открыл /etc/modprobe.conf и прописал строку:
options usbserial vendor=0x12d1 product=0x1003, затем выполнил:
rmmod usbserial
modprobe usbserial
На этом с usbserial всё.
3.Проблема. Huawai — устройство составное (multiple) — MassStorage + CD-ROM + CardReader + Modem. Изначально CD-ROM предназначен для хранения драйверов под MsWindows. В Линуксе наличие этого CD мешает определению модема. Этот привод CD надо выключить.
Для этого есть программа управления режимами работы модемов — usb_modeswitch. Скачал TAR, установиk, мне подошла для i686 версия 1.0.5. к ней идёт ещё libusb 0.1.12.
Далее открываем в редакторе файл конфигурации этой программы - /etc/usb_modeswitch.conf
и находим секцию как-бы нашего модема — Е220
и раскомментируем 4 строчки:
DefaultVendor= 0x12d1;
DefaultProduct= 0x1003
DetachStorageOnly=1
HuaweiMode=1, сохранямся, выходим.
Выполняем команду:
/usr/sbin/usb_modeswitch -W -c /etc/usb_modeswitch.conf
Или команда аналог без использования файла конфигурации:
/usr/sbin/usb_modeswitch -v 0x12d1 -p 0x1003 -d 1 -H 1
Я в Линуксе новичек и не понимаю досконально работы Линукс, поэтому лучше после этого перезагрузиться. А может и не надо.