Превращаем D-Link DIR-825 в 3G-роутер с помощью Huawei E1750 и OpenWRT 2


Имея в наличии роутер D-Link под управление с usb-портом на борту и -модем , почему бы не попробовать их объединить? Тем более, прекрасно работает в Linux. Таким образом можно получить очень функциональный 3G-роутер или резервный канал доступа в интернет.

Итак, что нам для этого понадобится:

[email protected]:~$ opkg update
[email protected]:~$ opkg install kmod-usb-acm kmod-usb-core kmod-usb-ohci kmod-usb-serial \
kmod-usb-serial-option kmod-usb-storage kmod-usb-uhci kmod-usb2  usb-modeswitch comgt

После этого — подключаем модем, должны увидеть примерно следующее:

[email protected]:~$ dmesg
...
sb 2-1: new full speed USB device using ar71xx-ohci and address 2
usb 2-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
scsi1 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
usb-storage: device scan complete
scsi 1:0:0:0: Direct-Access     HUAWEI   SD Storage       2.31 PQ: 0 ANSI: 2
usb-storage: device scan complete
sd 1:0:0:0: [sda] Attached SCSI removable disk

Настроим usb-modeswitch, чтобы получить, собственно, модем. Для этого создаем файл /etc/usb-modeswitch.conf:

########################################################
# Мegafon 3G Modem E1750
# Use device /dev/ttyUSB0 for connecting 
DefaultVendor=0x12d1
DefaultProduct=0x1446
MessageContent="55534243000000000000000000000011060000000000000000000000000000"

Инициализируем модем:

[email protected]:~$ usb_modeswitch -c /etc/usb-modeswitch.conf
Warning: TargetProductList overrides TargetProduct!
Looking for target devices ...
No devices in target mode or class found
Looking for default devices ...
Found devices in default mode or class (1)
Accessing device 006 on bus 002 ...
Using endpoints 0x01 (out) and 0x81 (in)
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
OK, driver found ("usb-storage")
OK, driver "usb-storage" detached
SCSI inquiry data (for identification)
-------------------------
Vendor String: HUAWEI
Model String: Mass Storage
Revision String: 2.31
-------------------------
USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
Product: HUAWEI Mobile
Serial No.: not provided
-------------------------
Setting up communication with interface 0 ...
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
Device seems to have vanished right after sending. Good.
Device is gone, skipping any further commands
Checking for mode switch (max. 20 times, once per second) ...
Original device is gone already, not checking
Searching for target devices ...
Searching for target devices ...
Searching for target devices ...
Searching for target devices ...
Searching for target devices ...
Found correct target device
Mode switch succeeded. Bye.

После этого получаем заветные девайсы:

[email protected]:~$ dmesg
...
usb 2-1: new full speed USB device using ar71xx-ohci and address 2
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usb 2-1: configuration #1 chosen from 1 choice
usbserial_generic 2-1:1.0: generic converter detected
usb 2-1: generic converter now attached to ttyUSB0
usbserial_generic 2-1:1.1: generic converter detected
usb 2-1: generic converter now attached to ttyUSB1
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
...

Выполнять такие манипуляции каждый раз при перезагрузке или подключении модема не очень то хочется, от этого нас избавит udev:

[email protected]:~$ opkg update
[email protected]:~$ opkg install udev

Создаем файл /etc/udev/rules.d/40-usb_modeswitch.rules:

ACTION!="add", GOTO="modeswitch_rules_end"
SUBSYSTEM!="usb", GOTO="modeswitch_rules_end"
# Most known install partitions are on interface 0, one on 5, one on 9
ATTRS{bInterfaceNumber}!="0[059]", GOTO="modeswitch_rules_end"
# only storage class devices are handled; negative
# filtering here would exclude some quirky devices
ATTRS{bDeviceClass}=="08", GOTO="modeswitch_rules_begin"
ATTRS{bInterfaceClass}=="08", GOTO="modeswitch_rules_begin"
GOTO="modeswitch_rules_end"
LABEL="modeswitch_rules_begin"
# Huawei, newer modems
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'"
LABEL="modeswitch_rules_end"

Приступим к конфигурации интерфейса, добавим в /etc/config/network (APN указана для МегаФона, у других операторов может отличаться):

config 'interface' 'wan2'
option 'ifname' 'ppp0'
option 'peerdns' '1'
option 'defaultroute' '1'
option 'proto' '3g'
option 'device' '/dev/ttyUSB0'
option 'apn' 'internet'
option 'pincode' '1234'

И подключаемся:

[email protected]:~$ ifup wan2
SIM ready
PIN set successfully
[email protected]:~$ ifconfig 3g-wan2
3g-wan2   Link encap:Point-to-Point Protocol  
inet addr:10.237.xxx.xxx  P-t-P:10.64.xxx.xxx  Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3 
RX bytes:56 (56.0 B)  TX bytes:44 (44.0 B)

Переходим к настройкам межсетевого экрана. В /etc/config/firewall добавляем:

config 'zone'
option 'output' 'ACCEPT'
option 'name' 'wan2'
option 'network' 'wan2'
option 'input' 'REJECT'
option 'forward' 'REJECT'
option 'masq' '1'
option 'mtu_fix' '1'
config 'forwarding'
option 'dest' 'wan2'
option 'src' 'lan'

Перезачитываем конфиг:

[email protected]:~$ /etc/init.d/firewall relad

Устройство полностью готово к работе!


2 мыслей про “Превращаем D-Link DIR-825 в 3G-роутер с помощью Huawei E1750 и OpenWRT

  • garynych

    шпаргалка ,хорошая,но нафига этому модему пакет kmod-usb-acm — он для cdma и для мобильников,да и зачем оба сразу kmod-usb-ohci и kmod-usb-uhci ? наверно всё-таки,что то одно 😉 kmod-usb-storage-а этот для usb накопителей ,но что то я не вижу пакета под какую нибудь ф.с. 😉 usb-modeswitch и без этого можно обойтись,если предварительно перевести устройство, в режим только модем (в терминалке послать устройству AT команду AT^U2DIAG=0 ) ну или просто переключить,через его оболочку в винде 😉

  • леонид

    стоит попробавать!!!!!!!!!!!
    не хочу слушать жужания компа ночьюпри скачивании

Комментарии закрыты