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

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