Openwrt Support MINI-PCIE EC20 (6)
1 Scope of Document
This document describes MINI PCIE usb hardware design, for EC20 4G module
2 Requiremen
2.1 Function Requirement
Support ec20 ppp diag under openwrt
2.2 Performance Requirement
Connect to 4G network
3 Hardware Overview
NA
4 Functional Description
4.1 Functional Block Diagram
NA
5 Porting
5.1 Kernel porting
We want to enumerate ec20 module through usb option driver
So we need to add ec20 pid and vid into option_ids , and other private modification
Index: trunk/target/linux/ramips/patches-3.18/999-support-ec20.patch
===================================================================
--- trunk/target/linux/ramips/patches-3.18/999-support-ec20.patch (nonexistent)
+++ trunk/target/linux/ramips/patches-3.18/999-support-ec20.patch (revision 9)
@@ -0,0 +1,69 @@
+--- a/drivers/net/usb/qmi_wwan.c
++++ b/drivers/net/usb/qmi_wwan.c
+@@ -819,7 +819,7 @@ static const struct usb_device_id produc
+ {QMI_GOBI_DEVICE(0x05c6, 0x9225)}, /* Sony Gobi 2000 Modem device (N0279, VU730) */
+ {QMI_GOBI_DEVICE(0x05c6, 0x9245)}, /* Samsung Gobi 2000 Modem device (VL176) */
+ {QMI_GOBI_DEVICE(0x03f0, 0x251d)}, /* HP Gobi 2000 Modem device (VP412) */
+- {QMI_GOBI_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */
++ //{QMI_GOBI_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */
+ {QMI_GOBI_DEVICE(0x05c6, 0x9265)}, /* Asus Gobi 2000 Modem device (VR305) */
+ {QMI_GOBI_DEVICE(0x05c6, 0x9235)}, /* Top Global Gobi 2000 Modem device (VR306) */
+ {QMI_GOBI_DEVICE(0x05c6, 0x9275)}, /* iRex Technologies Gobi 2000 Modem device (VR307) */
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -647,6 +647,10 @@ static const struct option_blacklist_inf
+ };
+
+ static const struct usb_device_id option_ids[] = {
++ #if 1 // add by panzidong
++ { USB_DEVICE(0x05C6,0x9215)},
++ { USB_DEVICE(0x2C7C,0x0125)},
++ #endif
+ { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MZ382) },
+ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
+ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
+@@ -1873,6 +1877,9 @@ static struct usb_serial_driver option_1
+ .suspend = usb_wwan_suspend,
+ .resume = usb_wwan_resume,
+ #endif
++#if 1 // add by panzidong
++ //.reset_resume = usb_wwan_resume,
++#endif
+ };
+
+ static struct usb_serial_driver * const serial_drivers[] = {
+--- a/drivers/usb/serial/qcserial.c
++++ b/drivers/usb/serial/qcserial.c
+@@ -90,7 +90,7 @@ static const struct usb_device_id id_tab
+ {USB_DEVICE(0x03f0, 0x241d)}, /* HP Gobi 2000 QDL device (VP412) */
+ {USB_DEVICE(0x03f0, 0x251d)}, /* HP Gobi 2000 Modem device (VP412) */
+ {USB_DEVICE(0x05c6, 0x9214)}, /* Acer Gobi 2000 QDL device (VP413) */
+- {USB_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */
++ //{USB_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */
+ {USB_DEVICE(0x05c6, 0x9264)}, /* Asus Gobi 2000 QDL device (VR305) */
+ {USB_DEVICE(0x05c6, 0x9265)}, /* Asus Gobi 2000 Modem device (VR305) */
+ {USB_DEVICE(0x05c6, 0x9234)}, /* Top Global Gobi 2000 QDL device (VR306) */
+--- a/drivers/usb/serial/usb_wwan.c
++++ b/drivers/usb/serial/usb_wwan.c
+@@ -470,6 +470,21 @@ static struct urb *usb_wwan_setup_urb(st
+ usb_fill_bulk_urb(urb, serial->dev,
+ usb_sndbulkpipe(serial->dev, endpoint) | dir,
+ buf, len, callback, ctx);
++ #if 1
++ //Added by panzidong for zero packet
++ if (dir == USB_DIR_OUT) {
++ struct usb_device_descriptor *desc = &serial->dev->descriptor;
++ if (desc->idVendor == cpu_to_le16(0x05C6) && desc->idProduct == cpu_to_le16(0x9090))
++ urb->transfer_flags |= URB_ZERO_PACKET;
++ if (desc->idVendor == cpu_to_le16(0x05C6) && desc->idProduct == cpu_to_le16(0x9003))
++ urb->transfer_flags |= URB_ZERO_PACKET;
++ if (desc->idVendor == cpu_to_le16(0x05C6) && desc->idProduct == cpu_to_le16(0x9215))
++ urb->transfer_flags |= URB_ZERO_PACKET;
++ if (desc->idVendor == cpu_to_le16(0x2C7C))
++ urb->transfer_flags |= URB_ZERO_PACKET;
++ }
++ #endif
++
+
+ return urb;
+ }
<*> kmod-usb-serial..................... Support for USB-to-Serial converters
<*> kmod-usb-serial-option................... Support for Option HSDPA modems
-*- kmod-usb-serial-wwan..................... Support for GSM and CDMA modems
<*> luci-proto-3g............................................. Support for 3G
5.2 System configure
If we want to use ec20, we can manual change /etc/config/network
Then /etc/init.d/network restart, pppd deamon will be up.
In the nodewrt2p we can change the config_generate file, when system fisrt time bootup
ec20 relate ppp configure will be auto write to /etc/config/network file, get the right ipaddr ,
Normal access to the Internet , here are the changes made:
Index: trunk/package/base-files/files/bin/config_generate
===================================================================
--- trunk/package/base-files/files/bin/config_generate (revision 15)
+++ trunk/package/base-files/files/bin/config_generate (revision 16)
@@ -17,9 +17,30 @@
delete network.globals
set network.globals='globals'
set network.globals.ula_prefix='auto'
EOF
}
+generate_4g_network() {
+ uci -q batch <<EOF
+set network.mobile=interface
+set network.mobile.proto='3g'
+set network.mobile.device='/dev/ttyUSB2'
+set network.mobile.service='utms'
+set network.mobile.apn='3gnet'
+EOF
+}
@@ -167,4 +189,8 @@
json_get_keys keys led
for key in $keys; do generate_led $key; done
+generate_4g_network
uci commit
Openwrt Support MINI-PCIE EC20 (6)的更多相关文章
- Openwrt Support RESET Button (5)
1 Scope of Document This document describes how to support reset button under openwrt system2 Requir ...
- AM335x 添加 HUAWEI MU609 Mini PCIe Module,并用pppd 启动相关设备
kernel 的配置 kernel 3.2.0 make menuconfig Device Drivers ---> [*] USB support ---> <*> USB ...
- Jetson TK1刷机+配置Mini PCI-e无线网卡
最近买了台4K电视,觉得可以当显示器用,但没主机,不知怎的想到了Jetson TK1,于是一冲动买了.因为没网线,而Jetson TK1没有无线网卡,所以也折腾了一番,记录一下,给万一也有像我一样没有 ...
- kernel 4.4.12 移植 HUAWEI MU609 Mini PCIe Module
首先请参考 http://www.cnblogs.com/chenfulin5/p/6951290.html 上一章刚讲了 kernel 3.2.0 移植 MU609 这一章记录新版kernel 的移 ...
- am335x system upgrade kernel ec20 simcom7600ce(十一)
1 Scope of Document This document describes 4G hardware design, support quectel ec20 4G module/ ...
- Ubuntu下LimeSDR Mini使用说明
本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 淘宝店铺名称:开源SDR实验室 LimeSDR链接:https://item.taobao.com/item.htm?spm=a230r.1 ...
- Fusion-io ioDrive Duo Enterprise PCIe Review
原文地址:http://www.storagereview.com/fusionio_iodrive_duo_enterprise_pcie_review As part of StorageRevi ...
- Openwrt Udev Configure(3)
1 Scope of Document This document describes how to write udev script, when enum usb device mayb ...
- 科普:PCI-E插槽都有哪些样子?
主板上的扩展插槽曾经是多种多样的,例如曾经非常流行的组合就是PCI插槽搭配AGP插槽,其中AGP插槽主要用在显卡上,而PCI插槽的用途则更广一些,不仅有用在显卡上,还能用于扩展其它设备,如网卡.声卡. ...
随机推荐
- 2018-2019-1 20189218《Linux内核原理与分析》第七周作业
task_struck数据结构 在Linux内核中,通过task_struct这个结构体对进程进行管理,我们可以叫他PCB或者进程描述符.这个结构体定义在include/linux/sched.h中. ...
- C++ 单例模式(转载)
转载:http://www.cnblogs.com/cxjchen/p/3148582.html 转载:http://blog.csdn.net/hackbuteer1/article/details ...
- IDEA开发常用快捷键
以下快捷键均为初始快捷键,可以进行自定义. 查询快捷键CTRL+N 查找类 CTRL+SHIFT+N 查找文件 CTRL+SHIFT+ALT+N 查找类中的方法或变量 CIRL+B 找变量的 ...
- dubbo 配置属性
1,服务方 <dubbo:application name="demo-provider" /> <!-- 使用zookeeper注册中心暴露服务地址 --> ...
- SublimeText3常用快捷键和优秀插件(亲测)
SublimeText3常用快捷键和优秀插件 SublimeText是前端的一个神器,以其精简和可DIY而让广大fans疯狂.好吧不吹了直入正题 -_-!! 首先是安装,如果你有什么软件管家的话搜一下 ...
- c# 、 Asp.net 获取本地IP和MAC地址
using System; using System.Management; using System.Net; public class Program { static void Main(str ...
- MVC ---- DBHelper.ttinclude
在通过T4模版引擎之基础入门 对T4有了初步印象后,我们开始实战篇.T4模板引擎可以当做一个代码生成器,代码生成器的职责当然是用来生成代码(这不是废话吗).而这其中我们使用的最普遍的是根据数据库生成实 ...
- hdu 4352 XHXJ's LIS 数位dp+状态压缩
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4352 XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others ...
- mysql处理时间戳
select name,telphone,FROM_UNIXTIME(add_time,'%Y-%m-%d %H:%i') as add_time from tf_apply_join order b ...
- re.sub
1.re.sub主要功能实现正则的替换. re.sub定义: sub(pattern, repl, string, count=0, flags=0) 意思为:对字符串string按照正则表达式pat ...