参照文档:

https://soha.moe/post/make-4g-wifi-ap-with-openwrt.html

步骤:

1、安装必要的包:

  1. opkg update
  2. opkg install chat comgt kmod-usb-serial kmod-usb-core kmod-usb2 libusb-1.0 luci-proto-3g usbutils libpthread librt zlib usbreset usb-modeswitch

2、查看设备:

  1. lsusb
  2. lsusb -t

lsusb主要作用是查看:venid和proid (下面以华为的3G手指为例:venid : 0x12d1 和proid:0x1506)

把查到的venid和proid分别写入/etc/usb_modeswitch.d/12d1:1506文件中:

  1. # unknown band card
  2. TargetVendor=0x12d1
  3. TargetProduct=0x1506
  4. SierraMode=1

另外,还要修改:/etc/modules.d/usb-serial

  1. usbserial vendor=0x12d1 product=0x1506

lsusb -t主要作用是查看经过usb-modeswitch后的设备是否正常

3、重启路由器使上面配置生效

4、使用comgt -d /dev/ttyUSB0等命令查找USB对应的口

5、回到WEB界面,新增一个网卡,协议选UTMS/GPRS/EV-DO,Modem设备选刚才找到的/dev/ttyUSB0,服务类型选UMTS,APN参数填3gnet(联通适用的APN),然后保存即可

6、使用过程中发现有时会莫明奇妙ttyUSB0~ttyUSB3不见了,所以写了以下脚本检测并复位

  1. #!/bin/sh
  2. aa=`ls /dev/ttyUSB* | wc -l`
  3. echo tty device : $aa
  4. if [ $aa -eq 0 ]; then
  5. # reboot
  6. usbreset 12d1:1506
  7. sleep 5
  8. fi
  9. bb=`route -n | grep "^0.0.0.0" | grep 3g | wc -l`
  10. echo route : $bb
  11. if [ $bb -eq 0 ]; then
  12. ubus call network.interface.3G down
  13. echo reconnecting
  14. sleep 5
  15. ubus call network.interface.3G up
  16. fi

7、理论上上述配置过程同样适用4G手指

openwrt使用3G拔号的实践笔记的更多相关文章

  1. OPENWRT路由3G拔号实验

    以下摘自:http://www.right.com.cn/forum/thread-155168-1-1.html 首先下载 Barrier Breaker 14.07 固件 配置好网络,可以访问到i ...

  2. git实践笔记

    title: git实践笔记 date: 2016-10-15 18:40:26 tags: [Git] categories: [Tool,Git] --- 概述 本文记录常用 git 的功能和命令 ...

  3. 《python编程从入门到实践》读书实践笔记(一)

    本文是<python编程从入门到实践>读书实践笔记1~10章的内容,主要包含安装.基础类型.函数.类.文件读写及异常的内容. 1 起步 1.1 搭建环境 1.1.1 Python 版本选择 ...

  4. hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse

    生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...

  5. openwrt使用3G上网卡

    尊敬的大大.感谢你抽空指导我 我的设备是db120 mu350 和广东无限卡 版本是OpenWrt Backfire 10.03.336 DIY full 一.        没有安装到kmod-us ...

  6. Python编程从入门到实践笔记——异常和存储数据

    Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...

  7. Python编程从入门到实践笔记——文件

    Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...

  8. Python编程从入门到实践笔记——类

    Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...

  9. Python编程从入门到实践笔记——函数

    Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...

随机推荐

  1. LeetCode 993. Cousins in Binary Tree(判断结点是否为Cousin)

    993. Cousins in Binary Tree In a binary tree, the root node is at depth 0, and children of each dept ...

  2. Puppeteer最大化显示,分辨率自适应

    Puppeteer自适应分辨率,可以将defaultViewport设为null, 启动的时候还是半屏显示,点击最大化按钮,可以最大化显示. 这样分辨率能够自适应操作系统. 具体可看:https:// ...

  3. saltstack执行state.sls耗时长的坑

    一直用的 jenkins + saltstack 自动化构建发布项目,一共也就不超过20台服务器,奈何运行时间越来越慢,并且负载越来越高(这里大部分都是使用state模块),但是不用state模块效率 ...

  4. python初级(302) 1 环境搭建及简单使用

    一.安装anaconda(python环境) 1 地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=A 选择Ana ...

  5. Python3 queue队列类

    class queue.PriorityQueue(maxsize=0) 优先级队列构造函数. maxsize 是个整数,用于设置可以放入队列中的项目数的上限.当达到这个大小的时候,插入操作将阻塞至队 ...

  6. 解决在manjaro下,vscode无法将chrome作为默认浏览器打开

    Same issue. The solution is simple. Find the name of the exec command, for google chrome in arch lin ...

  7. 【Tools】UltraISO官网最新板+注册码

    官网最新UltraISO 9.7版本安装文件,非注册机,亲测可用,若注册码失效,评论会删除. 土豪赏逼地址: https://download.csdn.net/download/qq_1818716 ...

  8. Windows10不能进入睡眠

    问题 有时候暂时不使用计算机(Windows10笔记本),既想省电,又想回来之后快速启动,一般会选择让计算机进入睡眠状态.睡眠状态下,基本上只有内存通电,保存着之前的工作状态,可以快速恢复. 但是最近 ...

  9. Java线程 : 线程同步与锁

    一.同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏. 例如:两个线程ThreadA.ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据. public ...

  10. C++中print和printf的区别

    print与printf的区别 1,print 中不能使用%s ,%d 或%c: 2,print 自动换行,printf 没有自动换行.