搜档网
当前位置:搜档网 › RG100A路由猫刷openwrt使用3G上网卡与宽带合并教程

RG100A路由猫刷openwrt使用3G上网卡与宽带合并教程

使用3G上网卡与宽带合并
本文仅针对h618b、rg100a路由器,3G上网卡MU350及移动的TD-SCDMA(WCDMA、EVDO未测试),固件OpenWrt。
关于宽带合并,正努力研究中...看到有些人在等这个教程,所以先把已有的成果整理出来吧,大家一起研究。
由于本人只有h618b、rg100a路由,如你有其他等基于BCM5354、BCM6358的路由器,请自行谨慎选择其他固件。
刷机有风险,变砖本人概不负责!!!
一、刷机
1. h618b刷机
h618b刷机很容易,且一般情况不会刷死。
下载OpenWrt固件:https://www.sodocs.net/doc/3d1677841.html,/backfire/10.03/brcm-2.4/openwrt-brcm-2.4-squashfs.trx
再下载一个通用的刷机工具,或者直接用命令行版的tftp。
先把PC网卡IP地址设成路由器同一个网段:192.168.1.x
开一个CMD窗口,PING路由器的默认IP:ping 192.168.1.1 -t,暂时不要关闭该CMD。
运行刷机工具,路由器IP填上:192.168.1.1,选择我们下载的固件。
然后把路由器关掉,同时观察CMD,当出现Hardware error时,再迅速打开路由器电源,当出现TTL=100的时候,点击刷机工具的“更新固件”按钮。
提示刷新成功后,观察CMD,等了一会,又能PING通192.168.1.1了,固件刷新完成。
2. rg100a刷机
比h618b刷机貌似更容易,呵呵。
先PC连到rg100a的LAN1口,记住一定要是LAN1口,不然刷不上的,且把IP地址改成和路由器同一个网段,即:192.168.1.x
下载OpenWrt固件,和h618b的固件是不一样的,别搞错了。
https://www.sodocs.net/doc/3d1677841.html,/backfire/10.03/brcm63xx/openwrt-rg100a-jffs2-128k-bc310-cfe.bin
把路由器电源关掉,按住reset键不放再打开电源,持续20秒左右,然后浏览器打开192.168.1.1,出现刷机登录页面
用户:telecomadmin 密码:nE7jA%5m,登录进去后就来到了刷机页面。
选择我们下载下来的固件,升级,接下来很简单不多说了。刷新完成后路由会自动重启,过一会 Ping 192.168.1.1 通了,OK固件刷新完成。
我这里刷的是OpenWrt官方版本,你也可以刷第三方中文版,比如:https://www.sodocs.net/doc/3d1677841.html,的固件,有集成一些脱机下载之类的软件。另外如果固件大于8M的,你需要用小于8M(比如官方固件)的固件过度,然后再在OpenWrt管理页面刷大于8M的固件就可以了。
二、OpenWrt的简单设置
现在的OpenWrt固件一般默认都有WEB管理界面了。
直接浏览器192.168.1.1登录。用户名:root,密码:空
OpenWrt默认WEB界面很简单,我们启用更强大的全功能luci-admin-full。(luci是OpenWrt默认的WEB管理插件)
我们telnet 192.168.1.1,OpenWrt默认启用的是luci-admin-mini,我们要把它移除。
输入命令:
opkg remove luci-admin-mini
移除成功,需要重启路由。
输入命令:
reboot
重启后进入WEB界面,这时候已经启用luci-admin-full了,发现比之前强大的多


OpenWrt有很强大的软件管理opkg,为了后面安装软件更方便,我们先让路由器本身能上网。
WEB管理界面Network->General,修改lan口地址。
修改路由器lan口地址为:192.168.0.168,网关192.168.0.1,dns:192.168.0.1,保存。
回到PC上来,我PC有两个网卡,一个网卡连接路由器,一个连接Internet。
我们把与Internet连接的这个网卡共享上网,这样和路由器连接的这个网卡地址就自动变成了192.168.0.1
我们telnet到路由器192.168.0.168,ping https://www.sodocs.net/doc/3d1677841.html,,发现能上网了,目的达到,继续。。。
(PC没有两个网卡的朋友可以把3G上网卡作为共享上网之用。)
接下来安装USB、3G上网卡及拨号等需要的包
在telnet下,先update:
opkg update
再安装包:
opkg install kmod-usb-core kmod-usb-ohci kmod-usb-serial libusb kmod-usb-acm chat comgt usb-modeswitch
如果你的路由器暂时不能上网,可以把这些包用PC下载下来传到路由器上,再本地安装。
h618b对应固件的扩展包在这里:https://www.sodocs.net/doc/3d1677841.html,/backfire/10.03/brcm-2.4/packages/
rg100a对应固件的扩展包在这里:https://www.sodocs.net/doc/3d1677841.html,/backfire/10.03/brcm63xx/packages/
三、vlan设置
首先3G上网是不需要物理wan口的,也就不用设置vlan了,所以如果你不使用ADSL等线路,那可以跳过本节。
1. h618b的vlan设置
h618b刷好官方固件后,wan口还是原来那个,无需设置vlan。如果你需要增加wan口,请往下看:

(VLan原理图)

如上图,eth0、eth1、eth2就好比是3个网卡,eth0是有线网卡,eth2是无线网卡,eth1保留。
再来看端口从port0一直到port5,把port5当成cpu。把前5个端口划分为2个vlan,即port0属于vlan 1,port1——port4属于vlan 0。
我们可以认为vlan 1就是wan口,vlan 0就是lan口了。
运行命令看下:
cat /etc/config/network
config switch_vlan
option device eth0
option vlan 0
option ports "1 2 3 4 5*" #port1、2、3、4和cpu 5属于vlan 0
config switch_vlan
option device eth0
option vlan 1
option ports "0 5*" #port0和cpu 5属于vlan 1
config interface lan
option type bridge
option ifname eth0.0 #把vlan 0配置成lan口,即port1、2、3、4都是lan口了。
option proto static
option ipaddr 192.168.0.168
option netmask 255.255.255.0
option gateway 192.168.0.1
option dns 192.168.0.1
option nat 1
config interface wan
option ifname eth0.1 #把vlan 1配置成wan口,即port0就是wan口了。
option proto dhcp
上面是只有一个wan口的默认设置,如果要增加一个wan口,那就要再多分一个vlan出来。
可以这样:
config switch_vlan
option device eth

0
option vlan 0
option ports "1 2 3 5*" #port1、2、3、4和cpu 5属于vlan 0
config switch_vlan
option device eth0
option vlan 1
option ports "0 5*" #port0和cpu 5属于vlan 1
config switch_vlan
option device eth0
option vlan 2
option ports "4 5*" #port4和cpu 5属于vlan 2
config interface wan2
option ifname eth0.2 #把vlan 2配置成wan2口,即port4就是wan2了
option proto dhcp
至于port0——port4和物理的lan1、lan2、lan3、lan4以及wan是怎么一一对应的,就需要自己去试了。
h618b刚好是port0对应其物理的wan口,port1对应物理lan1口,port2对应lan2...
另外:在Web管理页面Network->Switch也可以直观的配置vlan.

2. rg100a的vlan设置
rg100a刷好官方固件后,默认是没有wan口的,我们需要设置vlan来划分wan和lan。
vlan原理清楚了,就不多说了,只要注意rg100a的“有线网卡”是eth1就行了。
编辑 /etc/config/network
vi /etc/config/network
按“i”键进入插入模式
改成如下:
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option type bridge
option ifname eth1.0
option proto static
option ipaddr 192.168.0.168
option netmask 255.255.255.0
option gateway 192.168.0.1
option dns 192.168.0.1
option nat 1
config interface wan
option ifname eth1.1
option proto dhcp
config switch eth1
option reset 1
option enable_vlan 1
config switch eth1
option reset 1
option enable_vlan 1
config switch_vlan
option device eth1
option vlan 0
option ports "1 2 3 5*"
config switch_vlan
option device eth1
option vlan 1
option ports "0 5*"
改完后,按“ESC”键退到命令行模式
:qw
保存退出。

再次申明:如果你只用3G上网卡来上网,是不需要设置vlan的。vlan为什么要讲这么多,因为这个与多wan合并息息相关,当然只是双3G上网卡合并也是不需要vlan的。
重启后,lan1口已经变成wan口了,记得把网线换到其他lan口,我们继续...

四、OpenWrt下识别3G上网卡
我们进到WEB管理页面设置管理密码System->Admin Password,设置密码后也就启用了强大的SSH,随之telnet服务也被关闭了。
3G上网卡我这里以MU350为例,由于MU350可以硬件关闭存储模式,所以可以更简单,不需要使用usb-modeswitch。
下载这个软件:FUN_P902M2V1.00.06
https://www.sodocs.net/doc/3d1677841.html,/xiefh/dirid/4720707 这个地址有,以前51NB也有的,自己搜搜之前的帖子。
安装,运行该软件,“关闭自启动并打开升

级功能”就把MU350的存储模式关闭了,这样MU350在OpenWrt下就会直接被识别为modem了。
另外:MU350的拨号软件里面,设置->安全设置->关闭U盘和SD卡,效果也是一样的。
中兴的网卡是否都可以关闭存储模式,请各位验证。
网卡准备好了,接下来需要用到一个软件:WinSCP,可以用很方便的通过SSH连接到路由器,上传下载文件,执行命令等操作。
运行WinSCP后出现登录界面,填上路由器IP,文件协议选SCP,输入用户名密码。

(WinSCP设置图)

登录后提示更新密匙,点击“更新”,再弹出两个错误提示直接忽略就ok了。
编辑/etc/modules.d/60-usb-serial 把MU350的信息加进去,不管是否已经关闭了上网卡的存储模式或者其他3G卡都需要加入这个信息。
每个网卡不一样,请根据实际情况改成你的,其实就是usb-modeswitch里的了
usbserial vendor=0x19d2 product=0x0003 # ZTE MU350
重启路由,插上MU350,WinSCP连接到路由,打开终端输入命令查看是否MU350已被识别。
dmesg | grep usb
如出现下面类似信息,就OK了
usbserial.c: Generic converter detected
usbserial.c: Generic converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
usbserial.c: Generic converter detected
usbserial.c: Generic converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
usbserial.c: Generic converter detected
usbserial.c: Generic converter now attached to ttyUSB2 (or usb/tts/2 for devfs)
usbserial.c: Generic converter detected
usbserial.c: Generic converter now attached to ttyUSB3 (or usb/tts/3 for devfs)
设备/dev/usb/tts/0就是我们的MU350猫了。
还有设备不一定被挂载在/dev/usb...
也有可能是:/dev/ttyUSB0这样的,mu350在rg100a下就是这样
也有可能是:/dev/ttyACM0这样的...
上面是讲的3G上网卡的识别。如你的3G上网卡不能关闭存储模式,那就要用到usb-modeswitch了,这个软件前面我们已经装了。
我们直接新建/etc/usb-modeswitch.conf,内容如下:
# ZTE MU350
#
# Contributor: Dale Lane
DefaultVendor= 0x19d2;
DefaultProduct= 0x0003
# choose one of these:
DetachStorageOnly=0
MessageContent=5553424312345678000000000000061b000000020000000000000000000000
再执行usb_modeswitch -W,就能把MU350切换到modem模式了。
3G网卡的识别最重要的是/etc/usb-modeswitch.conf的创建,相关网卡的信息需要大家一起研究和收集了。
另外如果华为的卡用usb-modeswitch不能被识别,可以试试安装这个包:huaweiaktbbo
opkg install huaweiaktbbo
然后直接运行命令:huaweiaktbbo
huaweiaktbbo
五、使用3G上网卡拨号
登录到路由WEB界面,3G拨号之前,我们先把路由lan口地址改回192.168.1.1
3G拨号软件前面我们已经装好了,现在只要添加3G拨号接口就行了。
Network->Interfaces,我们添加一个接口td01:

(使用3G上网卡拨号图)
(使用3G上

网卡拨号具体设置图)

我们看到上图Service type有3个可选:UTMS/GPRS、CDMA、EV-DO
UTMS/GPRS使用脚本:/etc/chatscripts/3g.chat
CDMA、EV-DO使用脚本:/etc/chatscripts/evdo.chat
3G拨号是依靠comgt完成的,由于td-scdma只是我们国家的国际标准,这里不能被直接支持,我们需要把拨号脚本替换成td的,这里我替换掉UTMS/GPRS拨号脚本:/etc/chatscripts/3g.chat
请把附件3g.chat替换到/etc/chatscripts/3g.chat
修改完成后就自己开始拨号,也可以手动拨号,成功拨号后td01就会获得IP了.

但还没完,我们继续...
为了让每次重启路由后能自动拨号,我们新建一个文件 /etc/init.d/td01
内容如下:
#!/bin/sh /etc/https://www.sodocs.net/doc/3d1677841.html,mon
START=99
start() {
ifup td01
}
设置可执行权限
chmod +x /etc/init.d/td01
设置可用
/etc/init.d/td01 enable
更完美点,让3G上网卡每次插入USB口后就自动拨号,编辑 /etc/hotplug.d/usb/10-usb
把ifup td01添加进去,如下:
#!/bin/sh
# Copyright (C) 2009 https://www.sodocs.net/doc/3d1677841.html,
case "$ACTION" in
add)
# update LEDs
ifup td01
;;
remove)
# update LEDs
ifdown td01
;;
esac
如果你要用到usb-modeswitch,也可以把usb_modeswitch -W也加到上面的脚本里,这样只要3G上网卡插上去就可以自动被识别了。
六、多网口负载平衡及宽带合并
初步实现了3G上网卡和PPPoE宽带合并,双3G上网卡合并还有些问题。
双PPPoE合并,及其他方式没有条件测试。
3G上网拨号接口我们之前已经添加了,我们来添加PPPoE拨号,直接修改WAN口:
设置很简单,不多说了

接下来设置多WAN口合并,就是我们前面讲过一个组件:
Multi-WAN Load Balancing,地址:https://https://www.sodocs.net/doc/3d1677841.html,/viewtopic.php?id=23904&p=1
我们用它来实现WAN+td01的宽带合并。
先安装该组件:
opkg install ftp://https://www.sodocs.net/doc/3d1677841.html,/multiwan_1.0m.ipk ftp://https://www.sodocs.net/doc/3d1677841.html,/luci-app-multiwan_1.0k.ipk
作者一直在更新,所以请根据前面的地址改成最新版本再安装。

装完重启就会出现Network->Multi-WAN这个菜单
我们进去设置一下
Load Balancer Distribution:负载比例分配,比重越大走的流量越多。
Health Monitor Frequency:健康检测频率,单位秒。就是每隔多少秒检测该WAN是否在线咯。
Health Monitor ICMP Host(s):用来健康检测PING的对象。我这里写的是baidu和163的IP。
Health Monitor ICMP Timeout:很好理解了,健康检测PING超时时间。
Attempts Before WAN Failover:该WAN发生故障了,不在线了?重复检测的次数,以确定真的掉线。
Attempts Before WAN Recovery:恢复该WAN流量前,检测该WAN是否真的在线的次数。晕,有点别扭,自己理解吧。
Failover Traffic Destination:该WAN发生故障后,转移到哪个网口。
最下面的是策略路由,比如可

以让所有80端口的网页流量都走WAN,其他走3G,以优化网页浏览体验。
目前该组件还不太完美,有个小问题(不知道是不是因为有3G才这样的):
当PPPoE和3G都接入后,需要手动把Multi-WAN再启动一次,也就按下Multi-WAN设置页面的“Save & Apply”按钮,合并才会生效。
貌似不是很方面,但是有个解决办法,修改一个脚本/etc/hotplug.d/net/10-net:
case "$ACTION" in
add|register)
case "$PHYSDEVDRIVER" in
natsemi) sleep 1;;
esac
addif
在上面语句后面添加:
sh /usr/bin/multiwan restart
当检测有网络接入时,自动重启Multi-WAN。
经过上面修改后,3G+PPPoE基本上完美了,无需考虑顺序问题了,3G和PPPoE随便插,不管谁先谁后,谁上谁下,随便插好了, 哈哈
总结
我使用的情况是:
MU350在h618b下速度只有40K左右,不知是否USB驱动包有问题,有待测试;(很抱歉,教程出来前,没能仔细测试。)
MU350在h618b下利用usb-modeswitch被正确识别,且使用稳定;
MU350在rg100a下使用稳定,速度能到TD的满速;
MU350+PPPoE宽带合并成功,使用很稳定;
双MU350在h618b下能同时拨号,暂时还不能宽带合并;应该是Multi-WAN的原因吧,启用这个组件后,两个MU350相继掉线...估计需要修改Multi-WAN的脚本;
多PPPoE没条件测试,应该没多大问题;
ET128在h618b下不能被正确识别,原因未知,后来ET128借给别人了;
其他未测试...
其他网友的情况:
ET128、ET128-2、aircard901被正确识别。
EVDO(中兴AC560)、WCDMA(华为E182E)上网正常。
/etc/usb-modeswitch.conf 相关3G网卡信息需要大家一起交流研究,这个是重点,请大家反馈信息。
目前rg100a(同样配置的还有DB120、DCHG-800-A、h108b)作为单纯的3G路由器很稳定,也是最便宜的3G路由方案了。h618b稍微贵一点,但可刷固件比较多。
还有OpenWrt很强大,只要你有颗折腾的心,脱机下载、OpenVPN、PPPoE Server、Web Server等通通不在话下,正所谓你想要什么就装什么,而且安装软件也很简单。
接下来研究usb-modeswitch、双3G网卡宽带合并...


相关主题