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的技术支持真的好慢。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章