OpenWrt 4G网卡拨号配置
基础知识
MiniPCI-e, 接口其实就是USB接口, 采用的USB协议.
USB协议中有product id, vendor id.
4G网卡的拨号方式有三种:
PPP (PPP over EV-DO, CDMA, UMTS or GPRS)
QMI (USB modems using QMI protocol)
NCM (USB modems using NCM protocol)
配置USB驱动
检测方法是lsusb, 可以看到这个.
将USB的驱动中加入驱动中.
drivers/usb/serial/option.c
static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(0x161c, 0x9115) },
串口相关配置:
1、USB 串口驱动相关的配置项:
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_WWAN=y
make kernel_menuconfig
Device Drivers —>
USB support —>
USB Serial Converter support —> (默认是M,且不能设为*)
习惯上=y 使得编译进内核而不是作为模块,那么得配置好一些USB相关
<> Support for Host-side USB (默认M,选择 方便USB Serial可以=y)
<*> USB announce new devices
[*] Enable USB persist by default
<*> EHCI HCD(USB 2.0) support
[*] Root Hub Transaction Translators
[*] Improved Transaction Translator scheduling
<*> OHCI HCD support
<*> USB Modem (CDC ACM) support
<*> USB Printer support
<*> USB Wireless Device Management support
USB Serial Converter support —>
<*> USB driver for GSM and CDMA modems
退出后保存,git status查看会修改target/linux/ramips/mt7620n/config-3.10 这里便是内核的默认编译配置文件
2、PPP 拨号的相关配置项:
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
make kernel_menuconfig
Device Drivers —>
[*] Network device support —>
<*> PPP (point-to-point protocol) support
<*> PPP BSD-Compress compression
<*> PPP Deflate compression
[*] PPP filtering
[*] PPP multilink support
<*> PPP MPPE compression (encryption)
[*] PPP multilink support
<*> PPP over Ethernet
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
配置工具PPP需要
Utilities —>
<*> comgt
四、添加ppp0网络节点
target/linux/ramips/base-files/etc/uci-defaults/02_network
+ m201)
+ ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
+ ucidef_set_interfaces_3g "ppp0"
+ ;;
+
ur-336un)
package/base-files/files/lib/functions/uci-defaults.sh
+ucidef_set_interface_ppp0() {
+ local ifname=$1
+
+ uci batch <<EOF
+set network.ppp0='interface'
+set network.ppp0.ifname='$ifname'
+set network.ppp0.proto='3g'
+set network.ppp0.apn='3gnet'
+set network.ppp0.service='umts'
+set network.ppp0.dialnumber='*99#'
+set network.ppp0.device='/dev/ttyUSB0'
+EOF
+}
+ucidef_set_interfaces_3g() {
+ local ppp0_ifname=$1
+
+ ucidef_set_interface_ppp0 "$ppp0_ifname"
+}
+
package/network/config/firewall/files/firewall.config
config zone
+ option network 'wan ppp0'
调试的时候可以手动设置(我这里是华为MU709s-2 WCDMA 联通3G):
进入etc/config/修改network,增加一个3G 网络节点
config interface 'ppp0'
option ifname 'ppp0'
option proto '3g'
option apn '3gnet'
option service 'umts'
option dialnumber '*99#'
option device '/dev/ttyUSB0'
注:联通apn:3gnet 电信apn:ctnet 移动apn:cmnet/cmwap
联通dialnumber:3G为*99# 电信:3G为#777 移动为:*99***1# LTE为:*99#
参考链接
[1] http://blog.****.net/yicao821/article/details/45370669
[2] https://wiki.openwrt.org/doc/uci/network
=============== End