原官方链接:https://openwrt.org/docs/guide-developer/build-image-with-3g-dongle-support
准备构建环境
首先,您需要一个完整的构建环境,无论是物理系统还是虚拟系统,如《OpenWrt开发人员指南》中所述。
您需要在构建系统上克隆OpenWrt git存储库,并将所有软件包提要与配置文件同步。
确保了解构建过程以防止构建失败。
配置软件包
选择目标架构和配置文件
运行make menuconfig
。
选择要在其上放置已编译的OpenWrt映像的体系结构。然后根据您的硬件类型选择目标配置文件。
如果您为目标系统,目标配置文件和目标图像选择了正确的值,请转到下一步。
选择内核模块以支持USB网络。
转到Kernel Modules → USB Support
。
按下y
以选择以下模块,以将模块包括在编译映像中。
Kernel Modules -> USB Support
<*> kmod-usb2
<*> kmod-usb-ohci
<*> kmod-usb-uhci
<*> kmod-usb-acm # For ACM based modem, such as Nokia Phones#用于基于ACM的调制解调器,例如诺基亚电话
<*> kmod-usb-net # For tethering and rndis support#用于网络共享和rndis支持
kmod-usb-net →支持USB网络接口。
如果要完美支持USB网络接口(包括Android和iPhone网络共享),请选择所有子集。一些较新的4g加密狗使用usb网络接口(rndis)代替了传统的串行协议。
<*> kmod-usb-net............... Kernel modules for USB-to-Ethernet convertors 用于USB到以太网转换器的内核模块
<*> kmod-usb-net-asix...... Kernel module for USB-to-Ethernet Asix convertors USB至以太网Asix转换器的内核模块
<*> kmod-usb-net-cdc-eem..................... Support for CDC EEM connections 支持CDC EEM连接
-*- kmod-usb-net-cdc-ether.............. Support for cdc ethernet connections 支持cdc以太网连接
<*> kmod-usb-net-cdc-mbim..................... Kernel module for MBIM Devices MBIM设备的内核模块
-*- kmod-usb-net-cdc-ncm..................... Support for CDC NCM connections 支持CDC NCM连接
<*> kmod-usb-net-cdc-subset...... Support for CDC Ethernet subset connections 支持CDC以太网子集连接
<*> kmod-usb-net-dm9601-ether........ Support for DM9601 ethernet connections 支持DM9601以太网连接
<*> kmod-usb-net-hso.. Kernel module for Option USB High Speed Mobile Devices USB高速移动设备的内核模块
<*> kmod-usb-net-ipheth..................... Apple iPhone USB Ethernet driver Apple iPhone USB以太网驱动程序
<*> kmod-usb-net-kalmia................... Samsung Kalmia based LTE USB modem 基于三星Kalmia的LTE USB调制解调器
<*> kmod-usb-net-kaweth.. Kernel module for USB-to-Ethernet Kaweth convertors USB到以太网Kaweth转换器的内核模块
<*> kmod-usb-net-mcs7830
<*> kmod-usb-net-pegasus
<*> kmod-usb-net-qmi-wwan.................................... QMI WWAN driver
<*> kmod-usb-net-rndis......................... Support for RNDIS connections 支持RNDIS连接
<*> kmod-usb-net-sierrawireless.......... Support for Sierra Wireless devices 支持Sierra无线设备
<*> kmod-usb-net-smsc95xx. SMSC LAN95XX based USB 2.0 10/100 ethernet devices 基于SMSC LAN95XX的USB 2.0 10/100以太网设备
kmod-usb-serial →支持旧版3g软件狗。
选择所有子集以确保您的加密狗正常工作。大多数3g软件狗使用选件驱动程序或通用串行驱动程序来工作。请注意,与通用USB串行驱动程序相比,选件驱动程序具有更好的区分调制解调器串行接口和存储接口的能力。
<*> kmod-usb-serial..................... Support for USB-to-Serial converters 支持USB到串行转换器
<*> kmod-usb-serial-ark3116........ Support for ArkMicroChips ARK3116 devices 支持ArkMicroChips ARK3116设备
<*> kmod-usb-serial-belkin........................ Support for Belkin devices 支持Belkin设备
<*> kmod-usb-serial-ch341.......................... Support for CH341 devices 支持CH341设备
<*> kmod-usb-serial-cp210x........... Support for Silicon Labs cp210x devices 支持Silicon Labs cp210x设备
<*> kmod-usb-serial-cypress-m8.............. Support for CypressM8 USB-Serial 支持CypressM8 USB串行
<*> kmod-usb-serial-ftdi............................ Support for FTDI devices 支持FTDI设备
<*> kmod-usb-serial-ipw.................... Support for IPWireless 3G devices 支持IPWireless 3G设备
<*> kmod-usb-serial-keyspan........ Support for Keyspan USB-to-Serial devices 支持Keyspan USB到串行设备
<*> kmod-usb-serial-mct.............. Support for Magic Control Tech. devices 支持魔术控制技术设备
<*> kmod-usb-serial-mos7720.............. Support for Moschip MOS7720 devices 支持Moschip MOS7720器件
<*> kmod-usb-serial-motorola-phone............ Support for Motorola usb phone 支持Motorola USB电话
<*> kmod-usb-serial-option................... Support for Option HSDPA modems 支持选件HSDPA调制解调器
<*> kmod-usb-serial-oti6858...... Support for Ours Technology OTI6858 devices 支持我们的技术OTI6858设备
<*> kmod-usb-serial-pl2303............... Support for Prolific PL2303 devices 支持Prolific PL2303设备
<*> kmod-usb-serial-qualcomm................. Support for Qualcomm USB serial 支持Qualcomm USB串行
<*> kmod-usb-serial-sierrawireless....... Support for Sierra Wireless devices 支持Sierra无线设备
<*> kmod-usb-serial-ti-usb...................... Support for TI USB 3410/5052 支持TI USB 3410/5052
<*> kmod-usb-serial-visor............... Support for Handspring Visor devices 支持Handspring Visor设备
-*- kmod-usb-serial-wwan..................... Support for GSM and CDMA modems 支持GSM和CDMA调制解调器
3g功能所需的其他软件包
ppp, chat, and uqmi
进入Network
部分。选择“ uqmi”以支持qmi接口,选择“ ppp”以支持标准点对点协议。chat
需要建立串行通信以准备PPP链路协商。
Network
<*> chat
<*> ppp
<*> uqmi
mbim
一些加密狗正在使用mbim协议。要使用mbim协议,请安装umbim
软件包。
Network
<*>umbim
comgt和usb-modeswitch
转到Utilities
部分。选择comgt
以提供对3g接口的控制,并usb-modeswitch
提供虚拟cd-rom接口与串行接口之间的模式切换。
Utilities
<*>comgt
<*>usb-modeswitch
minicom,picocom and screen
如果要调试串行通信,则可能需要安装串行终端。串行终端有多种选择,例如minicom,picocom和screen。我推荐,picocom
因为它的体积很小。
Utilities --> Terminal
<*>picocom
屏幕可以用作持久会话管理器。Minicom有一个不错的界面,针对串行通信进行了优化。
Utilities
< >screen
Utilities --> Terminal
< >minicom
对于具有4MB闪存的设备,picocom
是唯一可以安装的串行终端。
Web界面支持
如果要使用Luci Web界面控制3g加密狗,请转到Luci。
Luci
1. Collections
<*> luci
3. Applications
<*> luci-app-multiwan (optional to support multiple 3g dongles) 可选,以支持多个3g加密狗
<*> luci-app-qos (optional to provide QOS support) 可选,以提供QOS支持
6. Protocols
<*> luci-proto-3g
-*- luci-proto-ppp
建立过程
根据需要继续选择软件包。完成后,运行构建过程
time make V=s download &&
time make V=s
通过启用多个构建作业,可以缩短构建时间。如果是四核CPU。
time make -j8 V=s
如果构建过程成功,则固件映像将位于上bin/target-platform/
。
如果找不到特定于硬件的映像名称,则可能是您添加了太多不适合您的硬件闪存的软件包。如果发生这种情况,请尝试减少软件包并重新开始构建过程。