本文描述了在imx6q上对百兆网卡RTL8152B进行移植的过程,有相关的疑惑的可参考本文进行移植。

感谢国芯科技的范工 y_fan
的耐心指点,RTL8152B相关移植的资料比较少,范工给予重要调试指导。在此表示非常感谢!他写了很多不错的文章:比如
<华为海思3518EV300工作笔记二:开发板支持USB 网络适配器> 这个也非常有参考价值

1.移植环境:

系统:Linux4.1.15 (其它版本也一样的)
板子:imx6q USB:在板子的usb-otg+rtl8152芯片+RG45
驱动:内核里自带r8152.c,如果出现其它问题,可换最新的驱动,目前可能是r8152-2.14.0,建议换,避免出现没MAC的情况。

RTL8152最新驱动我已上传,没有积分的可私信或留下邮箱
https://download.csdn.net/download/u013921164/13084041

2.内核的配置

RTL8152驱动的勾选

make menuconfig

在配置界面中搜索 ;

/8152

勾选相应的选项;

Symbol: USB_RTL8152 [=y]      │     -> Device Drivers                                               │       -> Network device support (NETDEVICES [=y])                │ │          -> USB Network Adapters (USB_NET_DRIVERS [=y])

USB2.0 或者3.0驱动的配置

这块参考范工的博文修改的 https://blog.csdn.net/qq_22182835/article/details/89457512

→ Device Drivers → USB support →<*> EHCI HCD (USB 2.0) support

可选 EHCI HCD (USB 2.0) support 或 EHCI HCD (USB 3.0) support3.0是向下兼容的;然后

DesignWare USB2 DRD Core SupportDWC2 Mode Selection ->host only mode

usb配置成host模式,不然后面肯定调试不通;

3.设备树的修改

手里得板子,8152接的usb-otg,开始得时候lsusb不显示usb设备;
我担心是硬件得问题(板子自己做的)为此,我去某宝,买了8152的usb转网卡测试,插到usb-hub接口可以用,接到usb-otg接口无法使用,这样就确定了驱动没问题,可能是usb-otg这块设备树文件没有配置好,或者压根就是硬件板子有问题。

imx6q设备树中的部分描述为:

&usbotg {vbus-supply = <&reg_usb_otg_vbus>;pinctrl-names = "default";pinctrl-0 = <&pinctrl_usbotg>; or pinctrl-0 = <&pinctrl_enet1>;disable-over-current;srp-disable;hnp-disable;adp-disable;status = "okay";};.....reg_usb_otg_vbus: regulator@0 {compatible = "regulator-fixed";reg = <0>;regulator-name = "usb_otg_vbus";regulator-min-microvolt = <5000000>;regulator-max-microvolt = <5000000>;gpio = <&gpio3 22 0>;enable-active-high;vin-supply = <&swbst_reg>;};.........pinctrl_usbotg: usbotggrp {fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID       0x17059>;};

​设备树的修改跟硬件图是相关的;
usbotg+8152驱动移植,设备这块只需要考虑usb_otg_vbus引脚和usb_otg_id引脚usb_otg_vbus 这个引脚看图纸怎么接的,如果我的板子就是给从设备供电;那正点原子的usb-otg供电部分就是直接外部电源5v提供;usb_otg_id:该引脚需要复用,该引脚控制usbotg的模式,是host模式的话,usb_otg_id需拉低

  dmesg |grep usb我记得会提示:usb_otg_vbus is disabing

我移植过程的问题:

lsusb 一直找不到8152的usb;原因在于MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059其中 0x17059 的第14位 15位 描述的是100K上拉

问题就在这,把usb_otg_id引脚拉低 即设置为usb host模式即可

    pinctrl_usbotg: usbotggrp {fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID       0x13059>;};

4.测试

然后lsusb 即出现相关设备

ifconfig 即出现eth1

ifconfig eth1 xxx.xxx.xxx.xx设置下IP,即可ping通。

linux系统 RTL8152B网卡驱动移植-USB转网卡相关推荐

  1. 嵌入式Linux系统中打印机驱动的移植

    一.开发环境 硬件环境:DM365 打印机型号:HP P1007 虚拟机系统:Red Hat Enterprise Linux 5 交叉编译环境:Ti交叉编译环境安装包 二.详细步骤 1.下载Ghos ...

  2. 瑞萨linux编译环境,瑞萨RZ/A2M Linux4.19系统构建与驱动移植纪实之一:BSP环境搭建...

    瑞萨RZ/A2M Linux4.19系统构建与驱动移植纪实之一:BSP环境搭建 我的系统信息 下载RZ/A Linux-4.19 BSP 编译安装带有SSL模块的Python 2.7 我的系统信息 下 ...

  3. AM335x(TQ335x)学习笔记——Nandamp;amp;网卡驱动移植

    移植完成声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前 ...

  4. linux双网卡驱动配置,linux网卡驱动安装、双网卡绑定

    本次课程包含RAID0/1/5/6/10/50/60配置实验(使用Dell R720服务器实验).Redhat/CentOS/ubuntu/windows操作系统安装.windows/linux网卡绑 ...

  5. 驱动程序之_3_网络设备_3_网卡驱动移植

    驱动程序之_3_网络设备_3_网卡驱动移植 网卡出厂一般都会有驱动程序模板,网卡接到不同的Cpu上,引脚.参数有所不同,移植过程要做的就是根据硬件修改引脚地址.参数 一般来说,需要修改的是片选引脚.中 ...

  6. Linux系统下adb驱动安装步骤 及 问题总结

    Linux系统下adb驱动安装步骤 及 问题总结 一.安装ADB工具 sudo apt-get update sudo apt-get install android-tools-adb 二.adb驱 ...

  7. STM32F1网络编程-W5500网卡驱动移植

    W5500网卡驱动移植 1.W5500介绍 W5500 芯片是硬连线 TCP/IP 嵌入式以太网控制器,可提供与嵌入式系统的更轻松的 Internet 连接. W5500 使用户只需使用嵌入了 TCP ...

  8. Linux系统驱动全吗,linux系统需要给硬件安装驱动程序么?谁推荐一下linux系统阿~要驱动最全...

    需要,不过大部分linux都自带,少量的也都有自动安装文件 比如ati的显卡驱动什么的. 之前还自己写过驱动,linux的驱动比windows的驱动透明度高很多 大部分硬件基本上 都可以识别的 也可以 ...

  9. ar8171 linux网卡驱动下载,ar8171 8175网卡驱动

    ar8171 8175网卡驱动下载.ar8171 8175网卡驱动是一款网卡驱动,适用于win7/8/10系统,ar8171 8175网卡驱动能够快速的进行所需的硬盘驱动,轻松的调用其内的各项功能! ...

最新文章

  1. 只在必要时保存服务器控件视图状态
  2. 虚拟机vmware中将文件拷贝到电脑中
  3. HTTP请求消息数据格式分析以及request和response
  4. [Algorithm] Good Fibonacci
  5. ASP.NET Core Web服务器 Kestrel和Http.sys 特性详解
  6. python初始化函数_当你学会了Python爬虫,网上的图片素材就免费了
  7. 工作211:新的封装组件 秒呀
  8. 消息中间件核心实体(1)
  9. Python《爬虫初实践》
  10. java编写一个邮件程序显示收件箱中所有的邮件列表_如何使用JavaMail获取邮件帐户中的可用文件夹列表...
  11. 程序员1年经验包装成5年,转正时领导:试用期不想过了?
  12. overscroll-behavior称为“滚动链”
  13. Spring.net(一)----Spring.NET框架简介及模块说明
  14. 使用RestTemplate遇到的问题
  15. MapStruct使用指南
  16. 猿创征文|工具在手,天下我有(初入职场必备的黑科技工具)
  17. android 布局如何居中,Android ConstraintLayout约束布局的居中详解
  18. 开源软件的法律风险及防控
  19. 小程序:选举投票问题未知行数输入问题(含代码)
  20. 华为:交付服务体系怎么提升一线作业人员的工作体验?

热门文章

  1. cesium 加载热力图
  2. 用数据分析来挖掘一下大家最喜欢的抖音视频都有哪些...
  3. 2021到2022跨年还有多少天?可用手机便签设置跨年倒数
  4. 自媒体原创文章多平台发布操作方法教程!
  5. 架构设计(Qt项目)
  6. win10 快速窗口切换方式
  7. 复杂网络;社交网络;社区检测;节点重要性(重要节点识别);舆论动力学模型; 传染病模型 ;蓄意攻击 、随机攻击;网络鲁棒性、脆弱性、稳定性
  8. 如何查看mysql数据库名字和密码_如何查看mysql数据库的登录名和密码
  9. 电商平台-搜索模块的设计与架构
  10. android xutils 注解,android Xutils dbutils 注解