LINUX驱动开发(三)USB虚拟网卡
1. 简述
之前见过其他项目组的开发板,发现他们没有网口,但是可以通过IP进行ssh连接和scp文件传输到开发板,百度发现他们用的是USB虚拟网卡,于是我在我的开发板进行测试。
主机:windows
开发板:imx8mq
firefly参考文档
2. 配置内核
linux$ make menuconfig
> Device Drivers > USB support > USB Gadget Support
<M> Ethernet Gadget (with CDC Ethernet support)
[*] RNDIS support
3. 开发板
/* 1. 安装g_ether.ko */
root@imx8mqevk:/lib/modules/5.4.3# find -name g_ether.ko
./kernel/drivers/usb/gadget/legacy/g_ether.ko
root@imx8mqevk:/lib/modules/5.4.3# cp ./kernel/drivers/usb/gadget/legacy/g_ether.ko ./
root@imx8mqevk:/lib/modules/5.4.3# depmod
root@imx8mqevk:/lib/modules/5.4.3# modprobe g_ether
root@imx8mqevk:/lib/modules/5.4.3# ifconfig -a
eth0 Link encap:Ethernet HWaddr fe:00:f6:8e:96:47UP BROADCAST MULTICAST MTU:1500 Metric:1RX packets:127 errors:0 dropped:15 overruns:0 frame:0TX packets:92 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:13938 (13.6 KiB) TX bytes:11535 (11.2 KiB)lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 Metric:1RX packets:122 errors:0 dropped:0 overruns:0 frame:0TX packets:122 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:9320 (9.1 KiB) TX bytes:9320 (9.1 KiB)usb0 Link encap:Ethernet HWaddr 76:9c:2a:8b:11:94BROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
/* 2. 设置ip */
root@imx8mqevk:/lib/modules/5.4.3# ifconfig usb0 up
root@imx8mqevk:/lib/modules/5.4.3# ifconfig usb0 172.31.111.35
4. 主机设置
C:\Users\llj> netsh interface ipv4 add address name="以太网 4" 172.31.111.36 255.255.255.0 172.31.111.1
5. 测试
C:\Users\llj> ping 172.31.111.35
root@imx8mqevk:/lib/modules/5.4.3# ping 172.31.111.36
如果主机能ping通开发板,开发板ping不同主机,把主机防火墙关闭。
172.31.111.35、172.31.111.36都是虚拟ip,能互相ping通。
6. 使用
LINUX驱动开发(三)USB虚拟网卡相关推荐
- Linux 驱动开发 三:字符设备驱动框架
一.参考 (3条消息) Linux 字符设备驱动结构(一)-- cdev 结构体.设备号相关知识解析_知秋一叶-CSDN博客 (3条消息) linux设备驱动框架_不忘初心-CSDN博客_linux设 ...
- Linux 驱动开发 三十五:Linux 内核时钟管理
参考: linux时间管理,时钟中断,系统节拍_u010936265的博客-CSDN博客_系统节拍时钟中断 Linux内核时钟系统和定时器实现_anonymalias的专栏-CSDN博客_linux内 ...
- Linux 驱动开发 三十四:Linux 内核定时器原理
参考文档: <Cortex -A7 MPCore Technical Reference Manual> 中 Chapter 9:Generic Timer. <ARM ® Arch ...
- [Linux驱动开发五]实现ioctl函数
目录 一.前言 1.1 ioctl用来做什么? 1.2 ioctl和unlock_ioctl区别? (1)ioctl()主要用于应用层系统调用 (2)unlock_ioctl主要用于驱动层系统调用 1 ...
- 嵌入式Linux驱动开发【学习小结】
文章目录 前言 一.嵌入式Linux驱动程序和单片机裸奔有啥区别? 二.为什么需要嵌入式Linux驱动开发 三.驱动程序框架大致演变过程 总结 前言 随着去嵌入式设备资源不断丰富,主频不断升高,搭载操 ...
- Linux驱动开发(十八)---网络(网卡)驱动学习
前文回顾 <Linux驱动开发(一)-环境搭建与hello world> <Linux驱动开发(二)-驱动与设备的分离设计> <Linux驱动开发(三)-设备树> ...
- 【正点原子Linux连载】第三十八章 根文件系统构建 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
- 【正点原子Linux连载】第三十七章 Linux内核移植 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
- win10下安装华为Atals USB虚拟网卡驱动
1. 用USB连接电脑和HUAWEI Atlas 200 进入设备管理器,查看设备驱动安装情况 2. 安装驱动 (1) 在RNDIS上点击右键,选择更新驱动程序 (2) 接下来选择浏览我的电脑以查找驱 ...
最新文章
- js室内地图开发_如何使用JS来开发室内三维地图的轨迹回放功能
- java 中lock,java中lock获取锁的四种方法
- python3.6 安装Scrapy
- ThreadLocal用法详解和原理
- java peek方法_Java ArrayDeque peek()方法与示例
- 第512章 河系量子计算机,第512章 河系量子计算机
- CSS中box-sizing: border-box;的作用
- 女程序员在这里落脚啦
- linux内核开源不能仿照_Linux内核开发,开源生产力工具,使用Google应用程序创建自动日历等
- 详解IOS开发应用之并发Dispatch Queues
- Web安全实践(11)用户名枚举
- Spring源码分析笔记--AOP
- [4G+5G专题-145]: 一体化小基站- 5G小基站软件建议架构概述
- MR分析(一):SNP数据质控
- 【物联网方案】智慧鸡舍功能及特点
- 计算机专业综合改革举措,数学与应用数学专业综合改革的举措数学论文(9页)-原创力文档...
- 「LOJ6198」谢特-SA+可持久化Trie+启发式分裂
- 软件设计师备考笔记(炸薯条的视频)
- 大数据建模 需要了解的八大定律
- 分享个免费的货币汇率API