精华内容
下载资源
问答
  • Linux USB网卡驱动安装
    2020-12-21 16:41:52

    USB网卡需要相关的驱动才能使用

    2. 解压 编译 安装

    tar xjvf AX88772C_772B_772A_760_772_178_Linux_Driver_v4.23.0_Source.tar.bz2 #解压

    cd AX88772C_772B_772A_760_772_178_Linux_Driver_v4.23.0_Source

    make

    sudo make install # 安装到 /lib/modules/4.4.0-112-generic/kernel/drivers/net/usb/asix.ko

    3. 动态加载模块 insmod

    sudo insmod  /lib/modules/4.4.0-112-generic/kernel/drivers/net/usb/asix.ko

    报错:

    Unknown symbol in module

    查看错误信息:

    dmesg |tail

    [1494771.981543] asix: Unknown symbol generic_mii_ioctl (err 0)

    [1494771.981562] asix: Unknown symbol mii_ethtool_gset (err 0)

    [1494944.261810] asix: Unknown symbol mii_ethtool_sset (err 0)

    [1494944.261829] asix: Unknown symbol mii_link_ok (err 0)

    [1494944.261881] asix: Unknown symbol mii_nway_restart (err 0)

    [1494944.261906] asix: Unknown symbol generic_mii_ioctl (err 0)

    [1494944.261926] asix: Unknown symbol mii_ethtool_gset (err 0)

    查看模块asix.ko的依赖信息:

    modinfo asix|grep depends

    depends:        mii # 依赖模块mii

    4.加载内核模块mii

    modprob mii

    然后 在insmod axis 模块

    lsmod  列出已经加载的模块,

    lsmod | grep asix

    asix                   61440  0

    mii                    16384  2 asix

    最后 ifconfig 查看已有的网卡:

    enx000ec6b493bf Link encap:Ethernet  HWaddr 00:0e:c6:b4:93:bf

    inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0

    inet6 addr: fe80::1525:8b8b:d3b4:a1c3/64 Scope:Link

    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

    RX packets:572 errors:0 dropped:0 overruns:0 frame:0

    TX packets:54 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 txqueuelen:1000

    RX bytes:53267 (53.2 KB)  TX bytes:9396 (9.3 KB)

    更多相关内容
  • linux系统下 usb网卡驱动安装

    千次阅读 2022-04-29 16:15:46
    本文分享一种思路去解决linux下不能直接识别usb网卡的方案 尤其针对没有内核-头文件的内核系统 首先确认系统版本: uname -a

    如果对你有帮助,可以点赞收藏

    本文分享一种思路去解决linux下不能直接识别usb网卡的方案

    1.总体思路:

    1.通过lsusb 查看usb 对应的vid:pid 如0bda:a192

    2.复制这段代码到google git 上查找相关的驱动信息

    3.下载驱动文件到linux 系统的某一文件夹中编译成符合linux 内核的ko驱动文件

    遵从这个思路可以解决大部分的网卡驱动的情况。

    但是有些情况比较特殊

    尤其针对没有内核-头文件的内核系统

    本文中使用的wifi:mercury MW310UH 驱动芯片rtl8192fu

    1.1 找到驱动文件

    首先通过lsusb确认驱动对应的id

    lsusb
    

    列举出所有已经接再linux 上的usb设备,并且可以看到相应的id

    格式为

    idVendor:idProduct
     例如0bda:a192

    如果你的usb wifi网卡直接显示为WLAN Adapter 的话那你可以直接去安装驱动,再有驱动编译的问题可以看第二部分

    1.2 usb网卡的工作模式切换:

    如果你的usb wifi 网卡为Disk 后缀,或者corp 结尾的状态,那么你可以继续参考本文下面所写的内容。

    针对市面上的随身usbwifi插入windows后为cd 状态,安装完驱动才会开启wifi功能

    对于zeroCD的这种usb 设备有专门的软件来解决他,就比如这种usb 网卡,带有windows 驱动,但是对于linux 而言他就是没有意义的。所以被称为zeroCD,相关内容可以搜索usb_modeswitch可以看到更多内容,或者点击本文最后的链接为该项目(usb_modeswitch)的官网,不是很建议去官网的方式安装,因为秃头成分严重。

     先查看usb列表,显示为cd状态

    $ lsusb
     [...]
     Bus 001 Device 013: ID 0bda:a192 Realtek Semiconductor Corp. Disk

    对于这种disk 后缀得到我们都需要对他进行模式切换

    最简单的方法安装usb_modeswitch

    ps:换源小妙招

    sed -i "s@http://deb.debian.org@https://mirrors.aliyun.com@g" /etc/apt/sources.list

    安装usb_modeswitch

    sudo apt-get install -y usb-modeswitch

    更改相应文件

    sudo vim /lib/udev/rules.d/40-usb_modeswitch.rules

    这种状态后就可以开始安装驱动,但是不要着急,先将usb的模式设置为默认wifi状态

    进入目录:

    sudo vim /lib/udev/rules.d/40-usb_modeswitch.rules

    shirt+G 直接到最后一行加入到LABEL之前

    # Realtek 8192F Wifi AC USB
    ATTR{idVendor}=="0bda", ATTR{idProduct}=="a192", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p a192"
    
    LABEL="modeswitch_rules_end"

    需要手动再次执行

    sudo usb_modeswitch -KW -v 0bda -p a192

    1.3 usb-wifi模式自动切换的方案 

    方法一:解决poweroff 后需要输入命令的情况   直接看优化

    cd /lib/udev/rules.d/
    sudo vim 40-usb_modeswitch_rtl8192.rules
    

    输入以下内容:

    ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="a192", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p a192"
    ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="a192", RUN+="/bin/bash -c 'modprobe 8192fu && echo 0bda f192 > /sys/bus/usb-serial/drivers/option1/new_id'"

     以上方法不再需要输入命令,还是需要拔插一次usb wifi 才可以自动变成wifi模式

    (不够完美)

    经过优化:已经达到开机可用状态

    在这个目录下的rules.d 文件中进行修改后实现了开机就可以用的状态

     执行下面的代码

    sudo vim /etc/udev/rules.d/50-usb-realtek-net.rules
    

     最后一行输入:

    ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="a192", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p a192"
    ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="a192", RUN+="/bin/bash -c 'modprobe 8192fu && echo 0bda f192 > /sys/bus/usb-serial/drivers/option1/new_id'"

    安装完驱动断电后开机,等待30秒左右(正常开机)既可以ssh 通过WiFi的ip进行管理

     这里代表usb网卡的cd模式已经切换为wifi工作模式

    首先确认内核版本:

    uname -a

    我的内核版本如下:

    Linux flygemini 5.10.85-sunxi64 #trunk SMP Tue Apr 12 13:21:58 CST 2022 aarch64 GNU/Linux

    编译驱动首先要获取内核头文件,如果没有就直接看2吧。有的话马上就装完。直接看3

    sudo apt install -y linux-headers-$(uname -r)

    2.没有头文件的情况:

    没有头文件的情况,需要自己制作相似的内核系统头文件,并且更改vermagic版本号,最终实现制作和内核版本一致的ko驱动文件,步骤如下

    2.1没有找到内核头文件那就先找一份相似的,并且放置好头文件的位置 

    内核网站: (仅仅作为示范:展示一个armbian的源网站)

    http://armbian.tnahosting.net/apt/pool/main/l/

    最相近的如图所示:

    下载后传输/复制到linux 中

    进入.deb 所在目录后

    安装命令

     sudo dpkg -i linux-headers-current-sunxi64_21.08_arm64.deb

    安装后可以在这个目录里中找到 

    cd /usr/src/
    cd /usr/src/linux-headers-5.10.60-sunxi64/

     首先在linux内核头文件目录下生成一个build文件夹(因为没有找到匹配的头文件,所以新建一个)

    cd /usr/lib/modules/5.10.85-sunxi64/
    sudo mkdir build
    

     复制找到的最相近的内核文件的头文件(刚刚的安装目录上面给过👆)

    sudo cp -r /usr/src/linux-headers-5.10.60-sunxi64/. /usr/lib/modules/5.10.85-sunxi64/build

    进入这个文件夹中

    cd /usr/src/linux-headers-5.10.60-sunxi64/arch/

     创建一个新的aarch64 文件夹并将arm64下的文件都复制进去

    sudo cp -r arm64/. aarch64

     好了,目前完成了用来编译的内核文件的源文件基础部分的构建

    2.2下面我们需要修改vermagic的版本号

    通过修改ko文件的版本号,从而实现驱动报错的情况:

    为什么要修改呢?

    因为make命令后生成的驱动文件是你自己下载的对应内核版本,

    所以要修改伪装成是当前的内核版本

    第一个文件:utsrelease.h

    sudo vim /usr/lib/modules/5.10.85-sunxi64/build/include/generated/utsrelease.h

    第二个文件:

    sudo vim /usr/lib/modules/5.10.85-sunxi64/build/include/config/kernel.release

     好了,伪装 工作全部完成

    3.安装驱动

    接下来开始在所下载的驱动文件夹下进行安装(这一步一般都在驱动项目中给了)

    git clone https://gitee.com/BrightXu/rtl8192fu.git
    cd rtl8192fu
    make -j$(nproc)

    这里会有类似报错:

     如何解决以及解决思路,待更新(按照伪造内核头文件的方法,这里不会有报错)

    sudo make install
    sudo modprobe 8192fu

     如果安装过程中没有一次报错,那么恭喜你,wifi应该就可以用了

    检验wifi驱动是否挂载成功

    usb-devices | grep "Vendor=0bda ProdID=f192" -B2 -A5

    测试下

     如果不是none 那么就是安装成功了

    dkms的支持需要看驱动git页面进行设置,本文不做赘述。

     参考文章:

    1.自动将usb 网卡的disk模式切换为wifi芯片systemd - Automatically use usb_modeswitch for Wifi USB - Ask Ubuntuhttps://askubuntu.com/questions/1080944/automatically-use-usb-modeswitch-for-wifi-usb/1082418#1082418

     2.修改ko驱动文件的版本号为当前的内核版本

    linux 修改 ko文件内核版本号_whatday的博客-CSDN博客当需要一个ko在一个内核下编译,insmod到另一个内核时,1、include/config/kernel.release文件中为内核版本号,将其改为所需版本。2、include/generated/utsrelease.h文件中 #define UTS_RELEASE “XXX” 将xxx改为自己所需内核版本号 。3、include/linux/vermagic.h文件改为与另一内核相同。注意:这样修改并保存后,编译出来的.ko文件里面的版本信息就更改了,但是重新编译内核时会变回.https://blog.csdn.net/whatday/article/details/1122468313.rtl8192fu驱动对应0dba:f192 的linux驱动安装教程

    rtl8192fu: 8192fu Linux USB无线网卡驱动 - Gitee.comhttps://gitee.com/BrightXu/rtl8192fu/tree/master4.usb_modswitch 的拓展阅读

    Draisberghof - Software - USB_ModeSwitchhttps://www.draisberghof.de/usb_modeswitch/#trouble

    5. Getting a Huawei E352s-5 to work with Linuxhttps://www.bytefish.de/blog/huawei_e352s5.html

    展开全文
  • open回调函数的主要代码如下:……usb_fill_bulk_urb(dev->rx_urb, //构造读请求的URBdev->udev,usb_rcvbulkpipe(dev->udev, 6), //指定读端点dev->rx_skb->data,512,read_bulk_callback, //使用read...

    open回调函数的主要代码如下:

    ……

    usb_fill_bulk_urb(dev->rx_urb, //构造读请求的URB

    dev->udev,

    usb_rcvbulkpipe(dev->udev, 6), //指定读端点

    dev->rx_skb->data,

    512,

    read_bulk_callback, //使用read_bulk_callback做为URB的

    dev //回调函数。

    );

    if((result = usb_submit_urb(dev->rx_urb, GFP_KERNEL))){ //将URB发送给

    …… //USB Core

    }

    netif_start_queue(netdev); //使能网络传输队列

    ……

    当读请求URB完成时,意味着主机收到了一个数据包或该URB超时,此时read_bulk_callback将会被内核调用。无论是哪种情况,为了将来可能到来的数据包能够及时得被主机读取,驱动程序都应该再发送一个读请求URB给USB Core。而在主机收到数据包的情况下,read_bulk_callback函数构造一个skb_buff数据结构来描述数据包,并调用 netif_rx函数,把该数据包交给上层协议,从而完成一次接受过程。

    与接受过程相比,发送数据包的过程简单了很多。当网络子系统准备发送一个数据包时,上层协议将会构造一个skb_buff数据结构来描述数据包,并且调用网络驱动程序注册的hard_start_xmit回调函数来发送该数据包。由于该函数被调用时内核持有xmit_lock自旋锁,因而驱动程序可以不必考虑对设备写操作的同步问题。hard_start_xmit函数根据数据包的长度将其拆分为USB设备可以传输的长度,然后构造相应的写请求 URB,发送至USB Core即可。

    hard_start_xmit回调函数的主要代码如下:

    ……

    usb_fill_bulk_urb(dev->tx_urb, //构造写请求的URB

    dev->udev,

    usb_sndbulkpipe(dev->udev, 2), //指定写端点

    skb->data,

    512,//count,

    write_bulk_callback, //使用write_bulk_callback做为URB的回调函数。

    dev

    );

    if((result = usb_submit_urb(dev->tx_urb, GFP_ATOMIC))){ //将URB发送给

    …… //USB Core

    }

    写请求URB完成时,write_bulk_callback回调函数被内核调用。该函数判断写请求URB是否成功完成。根据URB的完成情况,驱动程序需要更新网络接口的相应统计数据,例如成功/失败发送包的数目等。

    5. 小结

    本文从工程应用出发,介绍了Linux的体系结构及其网络子系统,并结合USB设备在Linux下的访问机制,研究了USB驱动程序实现异步通知的方法,并给出了USB网络驱动程序的设计框架和实例。在实际测试中,本文分析的驱动程序运行稳定,并且达到了预期的网络传输速度。

    参考文献:

    [1] J. Corbet, A. Rubini, and G. Kroah-Hartman. Linux Device Drivers, Third Edition. 2005, O'Reilly Media, Inc.

    [2]毛德操 胡希明. Linux内核源代码情景分析. 2001. 浙江大学出版社.

    [3]Daniel P. Bovet, M. Cesati. Understanding the Linux Kernel, Second Edition. 2002, O'Reilly Media, Inc.

    [4]李少甫 何小庆 江文瑞.The Development of Embedded Wireless LAN Application System Based on MontaVista Linux.微计算机信息. 2002年11期49-51

    展开全文
  • 做了简单Linux下安装USB网卡驱动翻译,并根据错误提示加以完善。Linux 版本#uname -aLinux zy-laptop 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux1. 插入USB网卡后,# lsusb.......

    做了简单Linux下安装USB网卡驱动翻译,并根据错误提示加以完善。

    Linux 版本

    #uname -a

    Linux zy-laptop 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux

    1. 插入USB网卡后,

    # lsusb

    ....

    Bus 005 Device 003: ID 0fe6:8101

    ....

    2. 解压dm9601.tgz

    # tar xzvf dm9601-2.6.tgz

    # ls dm9601-2.6

    dm9601.c  dm9601.h  Makefile  readme.txt

    3. 尝试编译

    # cd dm9601-2.6

    # make

    make -C /lib/modules/2.6.28-11-generic/build M=/root/dm9601-2.6 LDDINCDIR=/root/dm9601-2.6/../include modules

    make[1]: Entering directory `/usr/src/linux-headers-2.6.28-11-generic'

    scripts/Makefile.build:46: *** CFLAGS was changed in "/root/dm9601-2.6/Makefile". Fix it to use EXTRA_CFLAGS.  Stop.

    make[1]: *** [_module_/root/dm9601-2.6] Error 2

    make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-11-generic'

    make: *** [default] Error 2

    4. 修改 dm9601.h

    # vim dm9601.h

    在最后添加下面两行

    DM9601_DEV( "SUNRISING USB Ethernet", 0x0fe6, 0x8101,

    DEFAULT_GPIO_RESET )

    5. 编辑Makefile

    # vim Makefile

    将CFLAGS修改为EXTRA_CFLAGS

    6. 编辑dm9601.c

    # vim dm9601.c

    将#include 修改为#include

    7. 开始编译

    #make

    此时,还有几个警告,不管它,最后会生成dm9601.ko

    #ls

    dm9601.c  dm9601.h  dm9601.ko  dm9601.mod.c  dm9601.mod.o  dm9601.o  Makefile  Module.markers  modules.order  Module.symvers  readme.txt

    8.将新生成的dm9601.ko覆盖掉当前内核的dm9601.ko

    #cp dm9601.ko /lib/modules/2.6.28-11-generic/kernel/drivers/net/usb/dm9601.ko

    不知为什么,开机dm9601.ko未启动。

    若重启机器后未启动(# lsmod|grep dm9601),手动加载dm9601.ko

    #insmod /lib/modules/2.6.28-11-generic/kernel/drivers/net/usb/dm9601.ko

    9. 配置USB网卡

    #vim /etc/network/interfaces

    auto eth1

    iface eth1 inet static

    address 192.168.1.2

    netmask 255.255.255.0

    gateway 192.168.1.1

    10. 为USB网卡配置MAC地址

    #ifconfig eth1 hw ether 01:23:45:67:89:ab

    11.激活USB网卡

    #ifconfig eth1 up

    展开全文
  • 一直使用无线网,竟然没发现我的有线网卡Atheros AR8162竟然没有驱动,在此小记:ubuntu 12.04 以及 基于ubuntu的mint13 maya 都有这个问题在linux下查看硬件信息(网卡为例其他大同小异)lspci | grep Ethernetdmesg | ...
  • linuxUSB驱动移植

    2021-05-16 15:42:50
    一、代码修改在这里把include前面的#给删了,希望有帮助/*add by lfc*/#include #include #include #include /*end add*//**********************add by lfc*******************************...hcd_info usb_sbc...
  • 嵌入式Linux移植USB网卡驱动

    千次阅读 2014-07-25 19:44:11
    硬件平台:realARM 6410 操作系统:fedora kernel 2.6.33.3-85.fc13.i686.PAE 交叉编译器:arm-none-linux-gnueabi gcc version 4.3.2 WIFI 模组:磊科 NW336 芯片 realtek 8188cus
  • 胜为USB转RJ45 网卡驱动;其中包含Apple、Windows驱动;不包含linux下驱动;win vista、win xp、win 7 、win 8 、win 10;mac各个版本
  • 摘要:Linux系统下安装USB无线网卡驱动方法具体安装过程分了如下步骤进行:确认 usb-wifi 设施型号 , 根据确认结果选择驱动信息。安装驱动 mt7601u ,假如已经自带跳过此步骤配置驱动启动后无限加载。重启验证能否...
  • 文章目录概述基本信息寻找驱动安装驱动完成概述​ 之前修好后的MacBook Pro (13-inch, Mid 2010),去年开始就发现偶尔找不到自带的无线网卡,用着也还经常死机。屏蔽了无线功能后,一直只能有线上网。最近终于忍不住...
  • Linux网卡驱动安装总结(亲测避坑) 前言: 本人电脑安装的是windows10+Ubuntu18.04双系统,不是Linux虚拟机!!!!(虚拟机的网络问题需要看别的文章了) 本人的电脑是微星B560M MOTAR主板,该主板的网卡是2.5G的...
  • linux下安装usb无线网卡驱动成功 但是ping不通网关。。。情况如下:利用服务器的有线网卡和无线网卡分别连接了有线网络和提供了无线网络,又用iptable进行了桥接,使得服务器实现了有线和无线网络的过渡。这样主要是...
  • 展开全部确认usb-wifi设备型号 , 根据确认结果选择驱动信息。安装驱动 mt7601u , 如果已经自带跳过此步骤配置驱动启动后自动加载。重启验证是否成功的自动加载驱动模块。确认usb-wifi设备型号 , 根据确认结果选择...
  • 一、下载驱动网卡采用USB 2.0转以太网控制芯片AX88772B, android 2.3 和4.0下的通用网卡驱动不支持这款芯片, 需要从网上下载最新的linux 下AX88772B驱动二、将下载的驱动源码编译进kernel image.下载的驱动解包后有6...
  • usb网卡9700驱动

    2013-11-21 17:18:10
    jp2081 jp1081 qf9700等usb网卡驱动在android下的代码基本完全一样,光盘里的代码只是改了下名称,大多只支持linux2.6.24-2.6.29,根据项目需要,现在linux2.6.37下做了移植
  • 亲测完全可用,另外请到我的CSDN查看安装教程,安装流程以及碰到的坑均详解有说明,~~~
  • lsusb 当你得到芯片之后接下来查看内核,如果内核已经有芯片模块就不用再装了,如果不支持的话,那么接下来就到芯片官网 下载Linux驱动http://www.realtek.com.tw/default.aspx **虽然我的无线网卡是fast 生产的 ...
  • 开发Linux下的设备驱动程序是...从具体的USB设备驱动的开发流程出发,描述了Linux系统 下USB设备驱动程序的几个主要开发细节和注意点。以能够提供给大家一个开发LinuxUSB设备驱动程序的向导。 关键词USB驱动程序Linux
  • Linux系统安装R8169网卡驱动的方法http://www.realtek.com.tw/downlo … D=3&GetDown=false#2下载得到的版本号:ftp://202.65.194.212/cn/nic/r8168-8.003.00.tar.bz2把驱动文件下载到 U盘。把U盘插到 机器的 ...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼ubuntu12.04 安装有线网卡驱动make时报错:make[1]: 正在进入目录 `/usr/src/linux-headers-3.2.0-57-generic-pae'CC [M] /home/virus/下载/compat-wireless-2012-12-18/...
  • rd9700 usb网卡驱动

    2021-05-11 17:21:22
    rd9700 usb网卡驱动是一款简易好用的驱动工具,rd9700 usb2.0网卡驱动帮助您解决无法连接网络问题,支持微软winxp、win7、win8/8.1、win10的32位和64位系统。能自动帮你检测电脑驱动情况,推荐安装适合你电脑的驱动...
  • 文章目录概述基本信息寻找驱动安装驱动完成概述​ 之前修好后的MacBook Pro (13-inch, Mid 2010),去年开始就发现偶尔找不到自带的无线网卡,用着也还经常死机。屏蔽了无线功能后,一直只能有线上网。最近终于忍不住...
  • 上网查找原因为驱动问题,也有很多人抱怨过Realtek瑞昱网卡linux驱动难弄。 这里记录下解决过程,给其他人一点方便。其实安装方法还算简单,网上是有这款网卡的开源驱动的。只要输入以下命令就能完成安装:(我...
  • linux usb网卡支持The USB standards have evolved to 3.1 and the supported throughput have been increased too. On Linux, the support to USB standards are following the standards development. In this ...
  • linux下几款usb无线网卡的使用

    千次阅读 2021-05-13 01:25:06
    linux下几款usb无线网卡的使用我最近要在龙芯福龙的盒子上使用无线网卡,盒子的接口很少,可以用的只有usb接口。市面上的usb无线网卡很多,下面只是几个简单的例子:1:TP-LINK TL-WN322G+ 54M无线usb网卡ubuntu默认...
  • 3、配置内核支持USB WIFI网卡 使用WIFI网卡相关概念并利用工具iw(STA模式) 使用WIFI网卡准备工作 对于我们的手机一般来说都会连着理由器的WIFI,此时手机为STA模式,而路由器为AP模式(也叫热点),因为我们可以让...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,690
精华内容 676
热门标签
关键字:

linux usb有线网卡驱动