当前位置: 首页 > article >正文

SS524V100 RTL8152B(USB转网卡)驱动移植

目录

前言

1. 内核下 USB Host 配置过程

2. 内核下 RTL8152 驱动配置

3. 重新编译内核 

4. 测试USB转网卡 

5. 总结 


前言

本文主要是描述 SS524V100 对 RTL8152B(百兆网卡) 开发、移植的过程。

1. SS524V100 的 USB 2.0 支持 Host 模式;

2. 内核默认自带驱动(linux-4.19.y/drivers/net/usbr8152.c)。一般使用默认驱动即可,若出现异常可尝试更新驱动版本;

3. USB管脚不需要复用,因为只支持USB功能(若是其他方案可根据硬件实际情况,检查是否需要对管脚进行复用)。

1. 内核下 USB Host 配置过程

由于SS524V100板子只有1个eth0网卡,并不能满足实际需求(双网口),因此需要将其中一个独立的USB口转为网卡,考虑到USB模拟网口的不通用性,所以将USB口配置成Host模式,外接USB网络适配器来充当网口,内核配置如下: 

make ARCH=arm CROSS_COMPILE=arm-mix410-linux- menuconfig
Device Drivers  --->
    [*] USB support  --->
	    <*>   xHCI HCD (USB 3.0) support
	    <*>   DesignWare USB2 DRD Core Support
		    DWC2 Mode Selection (Host only mode)  --->)  --->

34827ba30fe741aabe3f8379e161c105.png

33797eeb87f4416cb216254116a06c9c.png

161107268418491ba5ac5c70d268d758.png

e7b8bbbc835044b4a75415744d5cca07.png

注意:USB 必现配置成 Host 模式,不然内核启动后网卡会调试不通。

2. 内核下 RTL8152 驱动配置

Device Drivers  --->
	[*] Network device support  --->
		<*>   USB Network Adapters  --->
			<*>   Realtek RTL8152/RTL8153 Based USB Ethernet Adapters

6c6e75b968284058bb58e325e75959c2.png

69971e401ab3421eb3ec02c246a2decc.png

be446ea9d89b47a1adb38a5ad51ac243.png

3ff26358b5c544ac825544bb87ffd373.png

3. 重新编译内核 

在内核下 USB 配置成 Host 模式和配置 RTL8152 驱动后,需要重新编译 kernel:

make ARCH=arm CROSS_COMPILE=arm-mix410-linux- uImage -j8

4. 测试USB转网卡 

重新烧写 uImage,启动单板,插入USB网络适配器后,USB控制器可以产生中断,可以枚举设备,并且可以产生网络设备,具体操作如下:  

4.1 查看 USB 信息: 

0d7ff6a4acf64c6888a11324e1d76dd2.png

4.2  枚举 USB 设备(8152驱动已正常启动):

558affc9ccd6409a8b80dd7e1842d681.png

4.3 启动 USB 网卡(ifconfig eth1 xxx.xxx.xxx.xx 设置ip): 

065830e9a0f847ca8844e7c0f75d26df.png

4.4 测试网卡能正常 ping 通: 

f01609bf99384b6590e13fec10509719.png

5. 总结 

至此,USB转网卡的配置、移植工作就已经完成了 。希望本章内容对大家有帮助!!  


http://www.kler.cn/a/14670.html

相关文章:

  • 【Java基础】使用Java 8的Stream API来简化Map集合的操作
  • 【LeetCode: 5. 最长回文子串 | 暴力递归=>记忆化搜索=>动态规划 => 中心扩展法】
  • C/C++占位符,%x和%p的区别
  • 和chatgpt学习javascript,第一天,学习背景知识
  • 电源电压监测(SVD)
  • SpringBoot整合ELK做日志(超完整)
  • AR实战-基于Krpano的多场景融合及热点自定义
  • 基于Stackelberg博弈的光伏用户群优化定价模型(Matlab代码实现)
  • 什么是矩阵式项目管理?
  • Go | 一分钟掌握Go | 3 - 学习路线
  • 华为OD机试真题(Java),开元音统计(100%通过+复盘思路)
  • 介绍与评测Intel HLE与RTM技术
  • 如何用链表实现LRU缓存淘汰算法
  • 【android专题】学习android,第一天学习:软件和组件了解
  • AI | 浅谈AI技术以及其今后发展
  • 随机模型预测控制(SMPC)——考虑概率约束(Matlab代码实现)
  • 业内首批!安全狗入选Gartner《云原生应用保护平台市场指南》报告
  • 【小技巧】word文档编辑技巧(一)
  • SD卡恢复怎么做?内存卡数据恢复,3个方法!
  • 手把手教你安装telnet(离线方式+在线方式)