openwrt编译加载龙尚U9300模组上网
硬件平台:MT7628A
openwrt版本:MTK_SDK
1、添加模组信息
/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.180/drivers/usb/serial/option.c
在源码中找到option_ids数组, 添加模组VID、PID: 0x1c9e、 0x9b3c
/* 4G Systems products */
/* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick *
* It seems to contain a Qualcomm QSC6240/6290 chipset */
#define FOUR_G_SYSTEMS_PRODUCT_W14 0x9603
#define FOUR_G_SYSTEMS_PRODUCT_W100 0x9b01 /* Fujisoft products */
#define FUJISOFT_PRODUCT_FS040U 0x9b02 /* iBall 3.5G connect wireless modem */
#define IBALL_3_5G_CONNECT 0x9605 /* Zoom */
#define ZOOM_PRODUCT_4597 0x9607 /* SpeedUp SU9800 usb 3g modem */
#define SPEEDUP_PRODUCT_SU9800 0x9800
/*U9300*/
#define LONGSUNG_VENDOR_ID 0x1c9e
#define LONGSUNG_U9300_PRODUCT_ID 0x9b3c
添加该id到数组,过滤 interface 4
{ USB_DEVICE_INTERFACE_CLASS(LONGSUNG_VENDOR_ID, SPEEDUP_PRODUCT_SU9800, 0xff) },
{ USB_DEVICE_INTERFACE_CLASS(LONGSUNG_VENDOR_ID, LONGSUNG_U9300_PRODUCT_ID, 0xff),
.driver_info = RSVD(4) },
{ USB_DEVICE_INTERFACE_CLASS(LONGSUNG_VENDOR_ID, 0x9801, 0xff),
在 /drivers/network/usb/qmiw_wan.c文件添加 VID
2、编译
配置make menuconfig:
Base system --> udev
Kernel modules --> USB Support --> kmod-usb-acm kmod-usb-net kmod-usb-net kmod-usb-net kmod-usb-net-qmi-wwan kmod-usb-ohci kmod-usb-serial kmod-usb-serial-option
LuCI ---> Protocols ---> luci-proto-3g luci-proto-qmi
Network ---> uqmi
Utilities ---> usb-modeswitch usbutils
配置make kernel_menuconfig:
device drivers ---> usb support --->usb serial converter support--->USB driver for GSM and CDMA modems
device drivers--->Network device support--->usb Network Adapters--->Multi-purpose USB Networking Framework
修改 ENOMSG值改为42
build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.18.84/arch/mips/include/uapi/asm/errno.h
#define ENOMSG 42
编译后, 添加成功 及 驱动正常 会在 /dev/ 目录下生成 ttyUSB0 -- ttyUSB4 5个端口
3、编译龙尚gobinet驱动
将官方驱动解压到 package/gobinet/src/,在package/gobinet 目录下新建 makefile 文件,内容如下:
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=gobinet
PKG_RELEASE:=1 include $(INCLUDE_DIR)/package.mk define KernelPackage/gobinet
SUBMENU:=Other modules
TITLE:=Support Module for gobinet
DEPENDS:=+kmod-usb-core +kmod-usb-net
FILES:=$(PKG_BUILD_DIR)/GobiNet.ko
AUTOLOAD:=$(call AutoLoad,81,GobiNet)
endef define KernelPackage/gobinet/description
This is a gobinet drivers
endef MAKE_OPTS:=ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
SUBDIRS="$(PKG_BUILD_DIR)" define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)/
$(CP) -R ./src/* $(PKG_BUILD_DIR)/
endef define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" $(MAKE_OPTS) modules
endef $(eval $(call KernelPackage,gobinet))
在menuconfig 中将该驱动编译进内核 kernel modules -> Other modules -> kmod-gobinet
编译刷机后查看是否出现新的网卡eth0或者eth1
4、查看模块状态,拨号上网(安装minicom,选择ttyUSB2)
minicom操作:
查询APN
AT+CGDCONT? 配置APN
AT+CGDCONT=1,"IP","CTNET" CTNET(电信)
CMNET(移动)
3GNET(联通)
APN一般模块可以自动识别,无需配置
拨号上网
AT$QCRMCALL=1,1 加入开机启动 rc.local,注意文件需要可执行权限
echo -e "at\$qcrmcall=1,1\r\n" >/dev/ttyUSB2 | cat /dev/ttyUSB2
修改路由配置文件vi /etc/config/network
config interface 'wan'
option device '/dev/cdc-wdm0'
option proto 'qmi'
option apn 'cnnet'
option username 'card'
option password 'card'
option ifname 'wwan0'
WEB页面添加新的wan接口:
登录web页面,network -> interfaces,点击 add new interfaces ,任意起个名字,DHCP CLIENT, interface选择新的网口eth*,firewall 加入wan,刷新后看是否能够自动获取ip,获取ip成功即可联网!
openwrt编译加载龙尚U9300模组上网的更多相关文章
- ue4 plugin的编译加载
插件Plugin: 本来应该是指一种纯以接口与外界打交道的程序模块,在同一接口背后可以有多种实现,更换实现完全不影响客户端代码(不用重编). 但是在ue4的世界里,插件似乎不是这个意思,仅仅是一种可以 ...
- 爱之初体验---编译加载内核模块hello
1. hello.c #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h ...
- Ubuntu16.04下的modules模块编译加载
一.首先编写对应的驱动程序的相关内容:(最简单的hello.c程序) #include<linux/init.h> #include<linux/module.h> MODUL ...
- 龙尚 U9300C wvdial 拨号上网
龙尚 U9300C 7模 4G LTE (国内全网通) 接入linux系统会有4个串口 其中ttyUSB2 为AT指令口 ttyUSB1 为拨号上网口 wvdial 拨号入网参数 [ ...
- openwrt下加载snmp模块
加snmp模块到openwrt中去 1.下载snmp的解压包文件 net-snmp-5.4.2.1.tar.gz 下载地址为:http://www.net-snmp.org/download.html ...
- Qt 5.2中编译加载MySQL数据库驱动问题的总结
背景: 本科毕业设计涉及图形界面与数据库查询.选择使用Qt实现图形界面编程,使用MySQL构建数据库.之前安装了Qt 5.2,后来又安装了MySQL Server 5.6 (FULL完全安装).接着就 ...
- linux下设备驱动的结构&编译&加载
构造和运行模块 insmod modprobe rmmod 用来装载模块到正运行的内核和移除模块的用户空间工具. #include<linux/init.h> module_init(in ...
- C# 动态加载组件后怎么在开发环境中调试
动态加载组件 那就是简单的Assembly.Load动态加载dll而以.这网上资料也有不少.基本的思路基本上就是在本地上一个指定目录如[plugs]存在着一堆dll文件.主程序在初始运行时一般会把指定 ...
- AMD加载器实现笔记(一)
之前研究过AMD,也写过一篇关于AMD的文章<以代码爱好者角度来看AMD与CMD>.代码我是有看过的,基本的原理也都明白,但实际动手去实现却是没有的.因为今年计划的dojo教程<静静 ...
随机推荐
- kafka背着你做了什么?
Kafka中有broker.主题.分区.副本等概念,底层有日志和日志分片. 我们先简单介绍一下这些概念,做个类比. broker可以简单理解为一台物理机,其实一台机器上可以有多个broker进程,但是 ...
- DolphinScheduler源码分析之EntityTestUtils类
1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license ...
- 用powershell实现,管理github自动化
用powershell实现,管理github自动化 搜索关键字如下:PowerShellForGitHub powershell 传教士 原创文章.始于 2021-02-04 允许转载,但必须保留名 ...
- impala支持的数据库里的double(float)类型,通过迁移inceptor后,类型的值都变成了null
impala支持的数据库里的double(float)类型,通过迁移inceptor后,double类型的值都变成了null. 通过查阅日志发现默认将double转换成Decimal(38,10)然而 ...
- AcWing 241 楼兰图腾 (树状数组)
在完成了分配任务之后,西部314来到了楼兰古城的西部. 相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀('V'),一个部落崇拜铁锹('∧'),他们分别用V和∧的形状来代表各自 ...
- CF-559C Gerald and Giant Chess(计数DP)
给定一个 \(H*W\)的棋盘,棋盘上只有\(N\) 个格子是黑色的,其他格子都是白色的. 在棋盘左上角有一个卒,每一步可以向右或者向下移动一格,并且不能移动到黑色格子中.求这个卒从左上角移动到右下角 ...
- pta—紧急救援 (dijkstra)
题目连接:https://pintia.cn/problem-sets/994805046380707840/problems/994805073643683840 题面: 作为一个城市的应急救援队伍 ...
- Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) C. Bouncing Ball (后缀和,枚举)
题意:有一长度为\(n\)的平台,平台有的位置有木桩,可以使小球弹起来,小球必须从第\(p\)个位置开始,而且每次都会向右弹\(k\)个单位,然后有的位置是没有木桩的,你可以在这些的空的位置放一个木桩 ...
- POJ_2112 二分图多重匹配
题意: //题意就是给你k个挤奶池和c头牛,每个挤奶池最多可以来m头牛,而且每头牛距离这k这挤奶池//有一定的距离,题目上给出k+c的矩阵,每一行代表某一个物品距离其他物品的位置//这里要注意给出的某 ...
- 通过修改etcd来设置或修改节点flannel子网信息
在首次启动flannel服务的时候可以手动指定subnet.env文件,配置所在节点的flannel子网网段,如果不指定配置文件,flannel将自动分配一个子网网段并生成配置文件 /var/run/ ...