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插槽的用途则更广一些,不仅有用在显卡上,还能用于扩展其它设备,如网卡.声卡. ...
随机推荐
- 移动页面click延迟引发的touch问题
一.事件捕获与冒泡 先扯一下事件的触发流程,这个之后会用到. DOM2级事件规定事件包括三个阶段: ① 事件捕获阶段 ② 处于目标阶段 ③ 事件冒泡阶段 大概的流程就是事件从最外层一层一层往里面传递( ...
- Problem F: 等式
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 104 Solved: 22[Submit][Status][Web Board] Descriptio ...
- Linux写时拷贝技术【转】
本文转载自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/20/2601655.html COW技术初窥: 在Linux程序中,fork()会产 ...
- 苹果电脑macbook 安装 Burp Suite pro_v1.7.37破解版
1.先去官网下载最新版本 Burp Suite Community Edition v1.7.36安装完成 https://portswigger.net/burp/communitydownload ...
- HDU 5992 Finding Hotels(KD树)题解
题意:n家旅店,每个旅店都有坐标x,y,每晚价钱z,m个客人,坐标x,y,钱c,问你每个客人最近且能住进去(非花最少钱)的旅店,一样近的选排名靠前的. 思路:KD树模板题 代码: #include&l ...
- POJ 3480 John(SJ定理博弈)题解
题意:n堆石头,拿走最后一块的输 思路:SJ定理:先手必胜当且仅当:(1)游戏的SG函数不为0且游戏中某个单一游戏的SG函数大于1:(2)游戏的SG函数为0且游戏中没有单一游戏的SG函数大于1. 参考 ...
- keepalived主从及双主配置
高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...
- SublimeText3常用快捷键和优秀插件(亲测)
SublimeText3常用快捷键和优秀插件 SublimeText是前端的一个神器,以其精简和可DIY而让广大fans疯狂.好吧不吹了直入正题 -_-!! 首先是安装,如果你有什么软件管家的话搜一下 ...
- HDU 6156 Palindrome Function
http://acm.hdu.edu.cn/showproblem.php?pid=6156 题意:$f(n,k)$表示判断n在k进制下是否是回文串,如果是,则返回k,如果不是,则返回1.现在要计算$ ...
- C#修饰符说明
方法不加访问修饰符默认的是 private 类不加访问修饰答默认的是 internal //////////////////////////////////////////////////////// ...