openwrt添加USB网卡驱动(SIERRA)
从SIERRA公司搞了一个7455的LTE模块和对应的DEVKIT,DEVKIT接口是USB3.0,可以通过USB3.0连接我另一个openwrt开发板,然后openwrt开发板加载相应的驱动,虚拟网卡和串口,实现了USB网卡的功能,废话不多说,下面是添加步骤:
到sierra官网找到7455USB驱动并下载,地址如下:
https://source.sierrawireless.com/devices/em-series/em7455/
添加USB网卡驱动:
1、在package/kernel下创建gobinet目录,进入gobinet目录,创建Makefile和src目录,Makefile内容如下:
#
# Copyright (C) 2008 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
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:=gobinet for sierra
DEPENDS:=+kmod-usb-core kmod-usb-net //记得添加依赖
FILES:=$(PKG_BUILD_DIR)/gobinet.ko
KCONFIG:=
AUTOLOAD:=$(call AutoLoad,50,gobinet) //自动加载
endef
define KernelPackage/gobinet/description
Kernel module for Sierra USB
endef
EXTRA_KCONFIG:= \
CONFIG_GOBINET=m
EXTRA_CFLAGS:= \
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
MAKE_OPTS:= \
ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
$(EXTRA_KCONFIG)
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
$(MAKE_OPTS) \
modules
endef
$(eval $(call KernelPackage,gobinet))
2、进入src目录,将从官网下载的源码GobiNet复制到src目录下,将Makefile内容修改如下:
obj-${CONFIG_GOBINET} += gobinet.o
gobinet-objs := GobiUSBNet.o QMIDevice.o QMI.o usbnet_2_6_32.o usbnet_3_0_6.o \
usbnet_2_6_35.o usbnet_3_10_21.o usbnet_3_12_xx.o usbnet_4_4_xx.o
创建Kconfig文件,内容如下:
config SIERRA-NET
tristate "net for sierra USB"
添加USB串口驱动:
添加步骤和网卡驱动类似,注意Makefile依赖改为
DEPENDS:=+kmod-usb-core kmod-usb-serial //记得添加依赖
3、返回主目录,make menuconfig,选择如下
保存make完成后,可以在./build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7621/gobinet/ipkg-ramips_24kec/kmod-gobinet/lib/modules/3.10.14/ 目录下找到gobinet.ko和gobiserial.ko驱动文件,将文件复制到开发板后,insmod成工后,将7455模块与开发板通过usb3.0连接成功后,dmesg可以看到
代表挂载成功。
然后可以通过网页:
看到多出两个网卡,添加相应接口即可使用啦。
顺便说一句,sierra的技术支持真的好慢。。。
上一篇: HBuilderX - 使用自定义代码块创建页面模板
下一篇: 联合体union内存分配详解