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

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在OpenWrt添加识别USB驱动,可以按照以下步骤进行操作: 1. 确认OpenWrt系统中已经安装了USB驱动,可以通过以下命令进行检查: ``` opkg list-installed | grep kmod-usb ``` 如果没有安装,可以使用以下命令进行安装: ``` opkg update opkg install kmod-usb-core kmod-usb2 kmod-usb3 ``` 2. 连接USB设备到OpenWrt系统,使用以下命令检查USB设备是否已经被识别: ``` dmesg | grep usb ``` 如果USB设备已经被识别,可以看到类似如下的输出: ``` [ 424.702000] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 424.942000] usb-storage 1-1:1.0: USB Mass Storage device detected [ 424.948000] scsi host2: usb-storage 1-1:1.0 [ 425.954000] scsi 2:0:0:0: Direct-Access XXXXXXXX XXXXXXXX PQ: 0 ANSI: 0 CCS [ 425.962000] sd 2:0:0:0: [sda] 30253056 512-byte logical blocks: (15.5 GB/14.4 GiB) [ 425.970000] sd 2:0:0:0: [sda] Write Protect is off [ 425.974000] sd 2:0:0:0: [sda] Mode Sense: 03 00 00 00 [ 425.974000] sd 2:0:0:0: [sda] No Caching mode page found [ 425.979000] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 425.986000] sd 2:0:0:0: [sda] No Caching mode page found [ 425.990000] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 426.056000] sda: sda1 [ 426.062000] sd 2:0:0:0: [sda] No Caching mode page found [ 426.067000] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 426.071000] sd 2:0:0:0: [sda] Attached SCSI removable disk ``` 3. 如果USB设备没有被识别,可以通过以下命令查看系统日志来查找问题: ``` logread | grep usb ``` 根据日志信息,可以尝试安装对应的USB驱动或者调整系统配置来解决问题。 注意:添加USB驱动需要对系统有一定的了解和操作技能,如果不熟悉系统操作,建议寻求专业人士帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值