展锐UDX710:LAN7800 PHY驱动调试

  • 1. 前期准备
    • 1.1 调试环境
    • 1.2 预置条件
    • 1.3 硬件连接
  • 2. 驱动适配
    • 2.1 开启内核驱动支持
    • 2.2 驱动加载验证
    • 2.3 配置网络通路
  • 3. 小结

1. 前期准备

1.1 调试环境

内核:Linux 4.14.98
Modem:展锐UDX710
驱动:LAN78XX PHY驱动
USB PHY:LAN7800

1.2 预置条件

将展锐UDX710 Type A(USB3.0)配置为主模式,确保可以识别从设备LAN7800 PHY:

1.3 硬件连接


将LAN7800 USB口连接到UDX710的Type A(USB3.0)口,然后将RJ45连接到PC的网口供PC上网使用。

2. 驱动适配

2.1 开启内核驱动支持

在内核中按照如下打开编译选项开启内核LAN78XX驱动支持,在kernel目录下执行make menuconfg,然后依次选中Devices_Drivers:
-> Network device support:

-> USB Network Adapters :

-> Microchip LAN78XX Based USB Ethernet Adapters:

将Microchip LAN78XX Based USB Ethernet Adapters设置为< M >后退出并保存会生成.config,将现在的.config与修改menuconfig之前生成的.config进行比较,把差异项合入kernel4.14_orca/arch/arm64/configs/sprd_orca_defconfig,然后编译内核即可,会生成.ko文件。(在menuconfig修改后,需执行make mrproper,方可重新编译kernel)
差异项:

CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_LAN78XX=m

2.2 驱动加载验证

将LAN7800 USB端插入UDX710的Type A(USB3.0)口,UDX710将可以识别设备LAN7800,我们可以通过如下方式去验证设备识别和驱动加载:

  1. lsusb
    通过串口可以确认UDX710已按照USB Host模式启动,总线上也可以检测到LAN7800设备的接入:

    并可以通过lsusb查询到模块usb总线上已识别到LAN78XX PHY芯片:
  2. dmesg
    可以通过dmesg log查看驱动也已经成功加载到设备LAN7800端口上:
  3. ifconfig
    通过ifconfig命令查看LAN7800在模组UDX710侧枚举出的LAN侧网卡:

    注:为什么是eth0网卡?因为驱动在加载到LAN7800时会有如下log打印,代表LAN7800枚举出的网卡名是eth0:

2.3 配置网络通路

  1. 创建网卡
    为了让LAN7800 RJ45口连接的PC可以通过模块访问外网,需要将LAN7800在模块侧枚举出的网卡eth0和模块拨号后进行数据业务的网卡通过网桥的方式进行连接。

可以通过如下命令创建网桥bridge0:

brctl addbr bridge0

创建成功后可以通过brctl show查看:

  1. 添加eth0到网桥
    通过brctl addif bridge0 eth0命令将LAN7800在模块侧枚举出的网卡eth0加入网桥:
  2. 给网桥配置ip
    在网桥中beidge0作为网关,将数据从eth0转发给其他网桥内的网卡(如外网)。因此给bridge0配置网关IP,为了不和sipa_usb0冲突,不能配置未225.x,配置ip如下:
ifconfig bridge0 192.168.255.1

  1. 启动dnsmasq服务
    由于LAN7800为UDX710 LAN侧,因此ip地址需要由UDX710来分配IP并配置路由,因此我们启动dnsmasq进程来实现LAN侧设备ip的分配和路由的配置,具体启动配置如下:
dnsmasq --conf-file=/etc/dnsmasq.conf --dhcp-leasefile=/var/run/dnsmasq.leases --pid-file=/var/run/dnsmasq.pid --resolv-file=/etc/resolv.conf -i bridge0 -I lo -z --dhcp-range=bridge0,192.168.255.20,192.168.255.60,255.255.255.0,43200  --dhcp-option-force=6,192.168.255.1 --dhcp-script=/bin/dnsmasq_script.sh
  1. LAN侧PC分配到ip
    当dnsmasq服务启动后,LAN侧连接的PC会自动发起dhcp请求获取到ip地址:
  2. PC ping网关
    PC端获取到了192.168.255.30的ip,尝试从PC ping网关192.168.255.1:
  3. 网关ping PC

    可以看到从UDX710到LAN7800数据是通路的,反过来亦然,目标达成。完结撒花。

3. 小结

从上面的测试结果来看,我们的LAN7800已经调试成功,整个数据通路是没有问题的。暂时不做外网测试,如果小伙伴们有需要的话,只需要将UDX710的拨号网卡加入到网桥再拨号,LAN7800也可以访问外网。

展锐UDX710:LAN7800 PHY驱动调试相关推荐

  1. 网络驱动->PHY驱动调试

    1. Linux 系统网络协议层架构 网络协议框架图: 网络子系统是 linux 操作系统里很重要的一部分.关于这部分有很多的参考资料.这里主要说明一下 phy 芯片在整个子系统里的位置.从这个结构里 ...

  2. PHY驱动调试之 --- PHY控制器驱动(二)

    1. 前言 内核版本:linux 4.9.225,以freescale为例. 2. 概述 PHY芯片为OSI的最底层-物理层(Physical Layer),通过MII/GMII/RMII/SGMII ...

  3. 展锐UDX710:MMC概述、SD Card驱动解析及调试

    一.MMC概述 相关定义 符合MMC协议接口的存储器,都称为MMC存储体 MMC总线,类似于I2C.SPI总线的一种总线结构 使用MMC接口规范(HCI, Multimedia Card Interf ...

  4. Marvell 88Q1010百兆PHY驱动调试

    文章目录 1. 概述 2. 调试 2.1 调试源码 2.2 调试方法 2.2.1 mii cmd 参考 1. 概述 为了降成本,千兆PHY改为了百兆PHY,Marvell 88Q2112换成了88Q1 ...

  5. 展锐UDX710:TTS SDK移植

    简介 TTS(Text To Speech)又称语音合成,是一种将文本转化成相应语音的技术. 本文大致介绍在UDX710上合入科大讯飞TTS SDK的流程 移植及调试 首先需要将其提供的Resourc ...

  6. linux网卡phy地址修改,【基础技能】Linux PHY驱动调试方法

    https://gitee.com/lee790608/linuxPhyDriver STEP1 准备硬件环境 1. 开发环境,可以修改内核代码,编译 2. 硬件开发板,可以进入系统调试,可以传送代码 ...

  7. 展锐UDX710:u-Boot 初始化流程分析

    一.mk文件说明 UDX710平台的uBoot文件夹位于u-boot15_orca中,device/sprd/orca/udx710_4h10下AndroidBoard.mk 定义了生成uboot:u ...

  8. 展锐UDX710:5G LAN数据流通图

    宏观 详细

  9. 展讯8910DM:LED驱动调试,支持一线脉冲调节

    LED采用艾为电子的AW36404DNR,模组原理图如下: AW36404是一款低压降电流吸收器LED驱动器,支持闪光灯和手电筒模式.集成在芯片中的电流调节接收器使LED电流在输入时能够保持恒定电压, ...

最新文章

  1. Monkey测试1——Monkey的使用
  2. 2019_BUAAOO_第一单元总结
  3. hibernate中merge/attachDirty/attachClean
  4. java三年工作经验工资_工作三年还是只会增删改查,Java 程序员如何进阶?
  5. IEnumerableT和IQueryableT区分
  6. 小汤学编程之JavaScript学习day05——DOM、事件
  7. Precedence Problems of C Operators
  8. 语音识别芯片原理是什么 语音识别芯片有哪些【详解】
  9. python打开浏览器全屏_python 打开浏览器的两种方式
  10. SqlServer事务回滚
  11. Linux期末考试题库(超全)
  12. Android Studio 4.1中的模板插件
  13. mysql可以用表情符号_让MySQL支持emoji表情符号存储
  14. 考研英语语法_Day05_状语和状语从句
  15. 万顿思电商:拼多多推广是如何收费的?
  16. 长沙市民吴先生乘坐滴滴D1后,取消了买特斯拉的计划
  17. 基于JAVA线上动漫周边商城计算机毕业设计源码+数据库+lw文档+系统+部署
  18. Word2016中添加目录
  19. 计算机与信息与计算科学的论文,信息与计算科学专业论文参考文献
  20. 练习-输入M行N列的矩阵A和B,编程计算并输出矩阵A与B之和

热门文章

  1. php 随机数 小数点,Php随机数生成
  2. mysql 查询前两名_Mysql:查询每门课程成绩的前两名
  3. ftl文件黑体字没有显示和提示
  4. DatabaseMetaData 获取数据表字段注释内容
  5. 想看你的名字用1000种字体怎样写吗?
  6. Modbus TCP 入门学习
  7. 入网小助手IsAgent卸载
  8. seo 优化工作者的心境和工作
  9. 62354-43-2,标记肽vLK-对硝基苯胺
  10. Aurora HDR 2019 for Mac 1.0.1高级 HDR 软件。