Openwrt 3G拨号上网

一、添加VID、PID

在linux_src/drivers/usb/serial/option.c 文件中的
static const struct usb_device_id option_ids[]的id 列表中增加如下语句:
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },

openwrt-1407在如下位置:
build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620n/linux-3.10.49/drivers/usb/serial/option.c


二、内核的编译配置

包括USB串口驱动和PPP拨号相关的配置项:

1、USB 串口驱动相关的配置项:
   CONFIG_USB_SERIAL=y
   CONFIG_USB_SERIAL_OPTION=y
   CONFIG_USB_SERIAL_WWAN=y

make kernel_menuconfig

Device Drivers --->
  USB support --->
    USB Serial Converter support ---> (默认是M,且不能设为*)

习惯上=y 使得编译进内核而不是作为模块,那么得配置好一些USB相关
<*>  Support for Host-side USB (默认M,选择* 方便USB Serial可以=y)
<*>  USB announce new devices
[*]  Enable USB persist by default
<*>  EHCI HCD(USB 2.0) support
[*]  Root Hub Transaction Translators
[*]  Improved Transaction Translator scheduling
<*>  OHCI HCD support
<*>  USB Modem (CDC ACM) support
<*>  USB Printer support
<*>  USB Wireless Device Management support

USB Serial Converter support --->
  <*>  USB driver for GSM and CDMA modems

退出后保存,git status查看会修改target/linux/ramips/mt7620n/config-3.10 这里便是内核的默认编译配置文件

2、PPP 拨号的相关配置项:
   CONFIG_PPP=y
   CONFIG_PPP_MULTILINK=y
   CONFIG_PPP_FILTER=y
   CONFIG_PPP_ASYNC=y
   CONFIG_PPP_SYNC_TTY=y
   CONFIG_PPP_DEFLATE=y
   CONFIG_PPP_BSDCOMP=y

make kernel_menuconfig

Device Drivers --->
  [*] Network device support --->
      <*> PPP (point-to-point protocol) support
      <*> PPP BSD-Compress compression
      <*> PPP Deflate compression
      [*] PPP filtering
      [*] PPP multilink support
      <*> PPP MPPE compression (encryption)
      [*] PPP multilink support
      <*> PPP over Ethernet
      <*> PPP support for async serial ports
      <*> PPP support for sync tty ports


三、其它配置

make menuconfig

1、界面LuCI配置(web页面管理程序)
LuCI --->
  1. Collections --->
       <*> luci
  3. Applications --->
       <*> luci-app-commands
       <*> luci-app-ddns
       <*> luci-app-ntpc

2、网络配置
Netmowrk --->
  File Transfer --->
    <*> wget
  SSH --->
    <*> openssh-client
    <*> openssh-sftp-server

3、工具配置
Utilities --->
  <*> comgt


四、添加ppp0网络节点

target/linux/ramips/base-files/etc/uci-defaults/02_network

+       m201)
+               ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
+               ucidef_set_interfaces_3g "ppp0"
+               ;;
+
        ur-336un)

package/base-files/files/lib/functions/uci-defaults.sh

+ucidef_set_interface_ppp0() {
+       local ifname=$1
+       
+       uci batch <<EOF
+set network.ppp0='interface'
+set network.ppp0.ifname='$ifname'
+set network.ppp0.proto='3g'
+set network.ppp0.apn='3gnet'
+set network.ppp0.service='umts'
+set network.ppp0.dialnumber='*99#'
+set network.ppp0.device='/dev/ttyUSB0'
+EOF
+}

+ucidef_set_interfaces_3g() {
+       local ppp0_ifname=$1
+       
+       ucidef_set_interface_ppp0 "$ppp0_ifname"
+}
+

package/network/config/firewall/files/firewall.config

config zone
+       option network          'wan ppp0'

调试的时候可以手动设置(我这里是华为MU709s-2 WCDMA 联通3G):
进入etc/config/修改network,增加一个3G 网络节点

config interface 'ppp0'
        option ifname 'ppp0'
        option proto '3g'
        option apn '3gnet'
        option service 'umts'
        option dialnumber '*99#'
        option device '/dev/ttyUSB0'

注:联通apn:3gnet 电信apn:ctnet 移动apn:cmnet/cmwap
联通dialnumber:3G为*99# 电信:3G为#777 移动为:*99***1# LTE为:*99#


拨号成功:
ifconfig
3g-ppp0   Link encap:Point-to-Point Protocol  
          inet addr:10.229.7.143  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:844 (844.0 B)  TX bytes:854 (854.0 B)

五、参考资料
openwrt官网

Use 3g/UMTS USB Dongle for WAN connection:
http://wiki.openwrt.org/doc/recipes/3gdongle

Wired WAN + 3G dongle:
http://wiki.openwrt.org/doc/howto/wired.wan.with.3g.dongle

Get your WAN interface up using ifup wan (or /etc/init.d/network restart if you changed more stuff; a reboot if you changed even more).



小笔记:

1、使用cat /sys/kernel/debug/usb/devices 看USB的VID, PID
2、gcom -d /dev/ttyUSB0 info
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
20120905版4M固件: 1. 720N固件,基于703N修改。TP-Link原厂固件请刷factory,已经是OpenWrt了就刷sysupgrade。 且刷此固件后可直刷OpenWrt 703N、OpenWrt 720N、TP-Link 703N、TP-Link 720N固件,不用改固件头。 2. 4M固件,当然8M的flash也可以刷。 3. 支持MentoHUST(锐捷认证)、3G、NAS(仅支持ext4,不支持ntfs)、共享手机网络、MWAN2负载均衡、打印服务器、 远程唤醒、8187 3070、瑞银网卡,剩余200多K空间,具体见截图。 因试过4M空间集成脱机、NAS等有难度,故不再出4M的脱机固件,请用extroot扩展后自行安装。 4. MentoHUST没有条件测试,如不能自动获取IP,请把Web界面的DHCP script的值由“udhcpc -i”改成“udhcpc -renew”试试。 5. 关于extroot(既用U盘引导系统),没想到现在这么简单了。 简单说下:先把U盘在电脑里格式化成ext3或ext4。插上U盘,命令行运行blkid得到U盘的UUID值,复制到管理界面的相应UUID, 挂载选项“rw,sync”删掉后面的umask=000。然后勾上extroot和启用,文件系统选对应的ext3或ext4,保存应用OK。 重启下,看看剩余空间大了没,呵呵。 (umask=000只是为了让samba可写而加的参数。挂载USB存储设备时,如果不用samba请删之。) 6. 按住reset键30秒后led闪烁,60秒之前松开reset键则恢复出厂设置。 7. LAN/WAN两个网口正常。 8. 默认开启WiFi,无密码。 9. 支持模式切换开关,定义如下: AP: 开启共享手机网络、开启无线 3G: 关闭共享手机网络、开启无线 Router:关闭共享手机网络、关闭无线 10.解释下共享手机网络,OpenWrt官方称为USB Tethering,指openwrt路由器通过USB连接智能手机, 而智能手机的网络共享给openwrt使用。 目前固件只支持Android系统共享网络功能,而支持iPhone需要集成的软件太多,空间有限,如果出8M固件 再考虑吧。 Android本来就支持WiFi热点,可能有点画蛇添足吧,呵呵。我是偶然发现openwrt还支持这个功能, 所以就研究了下,也许在某些情况下这个功能还是有用的吧。 使用方法: a. 路由器模式开关切换至AP位置。 b. 用USB线连接路由器与手机。 c. 手机USB连接管理里面,选择 除了“内存卡读取”的其他模式,比如:选择“仅充电”; 然后在“设置”--“系统”里面找到“共享手机网络”,开启“USB绑定”就好了。 回到openwrt界面,会发现有个usb0的接口,已经自动获取了IP,这样openwrt就能使用手机 的网络了。 11.关于MWAN2负载均衡,效率还不错,还支持基于session的负载均衡,使用方法见/etc/config/mwan2里面的注释。 mwan2的作者新出了mwan3,有兴趣可以去看看:https://forum.openwrt.org/viewtopic.php?id=39052 12.703n可刷本固件,但是刷完后lan口不能用。需先用无线连接,然后编辑/etc/config/network , 删除其中wan口配置,把lan的eth0改成eth1后,lan就可以用了。 如703n原厂固件web界面请刷factory,且需要先把固件标识改成07030101才能刷。 13.再说下打印服务器,没有测试,不知道这个版本能不能用,但20120803版有人试过可用,有需求请自行下载。trunk就是不稳定啊, 没办法~~ 14.刷机有风险,变砖本人概不负责。 吐糟一下,如3G有掉线问题,请看日志中是否出现“No response to 5 echo-requests”。 而解决这个问题,除了降低无线功率或者干脆关闭无线外,我是没找到其他更好的办法(可能和3G网卡有关)。 曾经尝试过换电源增强供电、用带外接电源的usb-hub,包括尝试TP-LINK原厂固件也一样掉线。还有修改/etc/ppp/options里 的lcp-echo-interval,把值改大点后是不掉线了,但是3G其实已经断流了,没什么意义。我用MU350网卡试过FW300R、FWR171-3G 还有720N这几个路由都是这样。不知道是TP-Link设计问题,还是td-scdma这种垃圾芯片功率过高的问题,或者Atheros芯片 的设计缺陷? 百撕不得骑姐啊!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值