参照文档:

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

步骤:

1、安装必要的包:

opkg update
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、查看设备:

lsusb
lsusb -t

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

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

# unknown band card
TargetVendor=0x12d1
TargetProduct=0x1506
SierraMode=1

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

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不见了,所以写了以下脚本检测并复位

#!/bin/sh
aa=`ls /dev/ttyUSB* | wc -l`
echo tty device : $aa
if [ $aa -eq 0 ]; then
# reboot
usbreset 12d1:1506
sleep 5
fi
bb=`route -n | grep "^0.0.0.0" | grep 3g | wc -l`
echo route : $bb
if [ $bb -eq 0 ]; then
ubus call network.interface.3G down
echo reconnecting
sleep 5
ubus call network.interface.3G up
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. TeslaManage 运行日志

    “TeslaManage.exe”(Win32): 已加载“F:\TeslaManageProject\TeslaManage\x64\Debug\TeslaManage.exe”.已加载符号.“Te ...

  2. Python - Django - AJAX 实现 POST 请求

    index.html: <input type="text" id="i1">+ <input type="text" i ...

  3. [LeetCode] 142. Linked List Cycle II 链表中的环 II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...

  4. SpringBoot系列教程web篇之Freemaker环境搭建

    现在的开发现状比较流行前后端分离,使用springboot搭建一个提供rest接口的后端服务特别简单,引入spring-boot-starter-web依赖即可.那么在不分离的场景下,比如要开发一个后 ...

  5. php_mvc实现步骤六

    shop34-1-目录布局 存在项目的根目录 shop34 框架代码与应用程序代码划分 框架代码: 在各个应用程序间可以通用的代码. 应用程序代码: 当前项目的业务逻辑实现的代码. 分别创建两个子目录 ...

  6. IDEA修改Servlet的代码生成模板

    file--->settings,打开settings面板

  7. [转帖]JAVA BIO与NIO、AIO的区别(这个容易理解)

    JAVA BIO与NIO.AIO的区别(这个容易理解) https://blog.csdn.net/ty497122758/article/details/78979302 2018-01-05 11 ...

  8. Mybatis中实体类属性与数据库列表间映射方法介绍

               这篇文章主要介绍了Mybatis中实体类属性与数据列表间映射方法介绍,一共四种方法方法,供大家参考.         Mybatis不像Hibernate中那么自动化,通过@Co ...

  9. 数组转JSON对象

    代码: function arrayToJson(arr){ var js={}; for(var i=0;i<arr.length;i++){ js[arr[i].name]=arr[i].v ...

  10. PAT(B) 1045 快速排序(C)

    题目链接:1045 快速排序 (25 point(s)) 参考博客:1045 快速排序 (25 point(s))繁星蓝雨 题目描述 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一 ...