Настройка Huawei Hilink E303 на RHEL/Fedora

Документация связанная с установкой, настройкой и работой пользовательского ПО
Ответить
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Настройка Huawei Hilink E303 на RHEL/Fedora

Сообщение Raven » 26 окт 2012, 14:38

Недавно подогнали мне интересный девайс - Huawei Hilink E303 от известного полосатого оператора. Нужно было настроить его для поюзания в Fedora. При ближайшем рассмотрении документации девайс оказался весьма интересен - он определялся в системе не как модем, а как ethernet-интерфейс с собственным шлюзом и типа работающем на нем dhcp-сервером. Но в Linux Он упорно виделся то как кардридер, то как CD-ROM. А старые методы не совсем подходили под ситуацию - minicom было просто некуда цеплять. Однако завести его оказалось проще пареной репы, главное иметь под рукой флешку и интернет-кафе где-нить поблизости. :-D Итак, обо всем по порядку:

Перво-наперво ставим старый, добрый usb_modeswitch (для этого мне и нужны были флеха и интернет-кафе, скачивал из репозитория rpmforge):

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

# rpm -ivh usb_modeswitch-data-20120120-1.el6.rf.noarch.rpm usb_modeswitch-1.2.3-1.el6.rf.i686.rpm 
Правим его конфигу:
/etc/usb_modeswitch.conf

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

# Configuration for the usb_modeswitch package, a mode switching tool for
# USB devices providing multiple states or modes
#
# Evaluated by the wrapper script /usr/sbin/usb_modeswitch_dispatcher
#
# To enable an option, set it to "1", "yes" or "true" (case doesn't matter)
# Everything else counts as "disable"


# Disable automatic mode switching globally (e.g. to access the original
# install storage)

DisableSwitching=0


# Enable logging (results in a extensive report file in /var/log, named
# "usb_modeswitch_<interface-name>" and probably others

EnableLogging=0

DefaultVendor= 12d1
DefaultProduct= 1f01

TargetVendor=  0x12d1
TargetProduct= 0x14db

MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
NoDriverLoading=1
Далее, чтобы не дергать usb_modeswitch постоянно вручную (мне-то влом, а каково домохозяйке - владелице Феди) нужно настроить udev. Идем в /etc/udev/rules.d и проверяем файл 70-persistent-net.rules - после подключения модема к компу в нем должна появиться строка:

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

 USB device 0x12d1:0x14db (usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="58:2c:80:13:92:63", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
в данном случае от udevd требуется определять указаное устройство как сетевуху с именем eth1 (имя интерфейса не принципиально, может варьироваться от eth0 и выше).

Также в директории может появиться файлик 10-Huawei-FlashCard.rules - грохаем его к праотцам. Создаем файл 45-huawei-hl303.rules следующего содержания:

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

ACTION=="add" SUBSYSTEM=="usb", SYSFS{idProduct}=="1f01", SYSFS{idVendor}=="12d1", RUN+="/usr/sbin/usb_modeswitch -c /etc/usb_modeswitch.conf"
Сохраняемся, отключаем модем от компа и перезагружаем машину. Если очень не хочется перезагружаться, то можно выполнить команду

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

# killall -HUP udevd
Но это не самый лучший выход. Итак, перезагрузились, втыкаем флешку на место и смотрим выхлоп dmesg:

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

usb 1-3: new high speed USB device number 18 using ehci_hcd
usb 1-3: New USB device found, idVendor=12d1, idProduct=1f01
usb 1-3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
usb 1-3: Product: HUAWEI HiLink
usb 1-3: Manufacturer: HUAWEI
usb 1-3: configuration #1 chosen from 1 choice
scsi8 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 18
usb-storage: waiting for device to settle before scanning
usb 1-3: usbfs: process 19586 (usb_modeswitch) did not claim interface 0 before use
usb 1-3: USB disconnect, device number 18
usb 1-3: new high speed USB device number 19 using ehci_hcd
usb 1-3: New USB device found, idVendor=12d1, idProduct=14db
usb 1-3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
usb 1-3: Product: HUAWEI HiLink
usb 1-3: Manufacturer: HUAWEI
usb 1-3: configuration #1 chosen from 1 choice
eth1: register 'cdc_ether' at usb-0000:00:1d.7-3, CDC Ethernet Device, 58:2c:80:13:92:63
То есть, появился в системе картридер и пропал, переподключился уже сетевухой. Смотрим вывод ifconfig:

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

eth1      Link encap:Ethernet  HWaddr 58:2C:80:13:92:63
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5001 (4.8 KiB)  TX bytes:16833 (16.4 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:149899 errors:0 dropped:0 overruns:0 frame:0
          TX packets:149899 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:637495155 (607.9 MiB)  TX bytes:637495155 (607.9 MiB)
Вбиваем в браузере http://192.168.1.1 - видим веб-морду. ОК!

Пингуем что-нибудь:

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

# ping mail.ru
PING mail.ru (94.100.191.244) 56(84) bytes of data.
64 bytes from 94.100.191.244: icmp_seq=1 ttl=56 time=82.4 ms
64 bytes from 94.100.191.244: icmp_seq=2 ttl=56 time=75.7 ms
64 bytes from 94.100.191.244: icmp_seq=3 ttl=56 time=74.2 ms
Можно забирать деньги и идти пить пиво *BOYAN*
Я не злопамятный, я просто часто ковыряю логи
Ответить

Вернуться в «Документация *nix»