展锐UDX710:LAN7800 PHY驱动调试

这篇具有很好参考价值的文章主要介绍了展锐UDX710:LAN7800 PHY驱动调试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前期准备

1.1 调试环境

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

1.2 预置条件

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

1.3 硬件连接

展锐UDX710:LAN7800 PHY驱动调试
将LAN7800 USB口连接到UDX710的Type A(USB3.0)口,然后将RJ45连接到PC的网口供PC上网使用。

2. 驱动适配

2.1 开启内核驱动支持

在内核中按照如下打开编译选项开启内核LAN78XX驱动支持,在kernel目录下执行make menuconfg,然后依次选中Devices_Drivers:展锐UDX710:LAN7800 PHY驱动调试
-> Network device support:
展锐UDX710:LAN7800 PHY驱动调试
-> USB Network Adapters :
展锐UDX710:LAN7800 PHY驱动调试
-> Microchip LAN78XX Based USB Ethernet Adapters:
展锐UDX710:LAN7800 PHY驱动调试
将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设备的接入:
    展锐UDX710:LAN7800 PHY驱动调试
    并可以通过lsusb查询到模块usb总线上已识别到LAN78XX PHY芯片:
    展锐UDX710:LAN7800 PHY驱动调试
  2. dmesg
    可以通过dmesg log查看驱动也已经成功加载到设备LAN7800端口上:
    展锐UDX710:LAN7800 PHY驱动调试
  3. ifconfig
    通过ifconfig命令查看LAN7800在模组UDX710侧枚举出的LAN侧网卡:
    展锐UDX710:LAN7800 PHY驱动调试
    注:为什么是eth0网卡?因为驱动在加载到LAN7800时会有如下log打印,代表LAN7800枚举出的网卡名是eth0:
    展锐UDX710:LAN7800 PHY驱动调试

2.3 配置网络通路

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

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

brctl addbr bridge0

创建成功后可以通过brctl show查看:
展锐UDX710:LAN7800 PHY驱动调试

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

展锐UDX710:LAN7800 PHY驱动调试

  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地址:
    展锐UDX710:LAN7800 PHY驱动调试
  2. PC ping网关
    PC端获取到了192.168.255.30的ip,尝试从PC ping网关192.168.255.1:
    展锐UDX710:LAN7800 PHY驱动调试
  3. 网关ping PC
    展锐UDX710:LAN7800 PHY驱动调试
    可以看到从UDX710到LAN7800数据是通路的,反过来亦然,目标达成。完结撒花。

3. 小结

从上面的测试结果来看,我们的LAN7800已经调试成功,整个数据通路是没有问题的。暂时不做外网测试,如果小伙伴们有需要的话,只需要将UDX710的拨号网卡加入到网桥再拨号,LAN7800也可以访问外网。文章来源地址https://www.toymoban.com/news/detail-456403.html

到了这里,关于展锐UDX710:LAN7800 PHY驱动调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【驱动】TI AM437x(内核调试-06):网卡(PHY和MAC)、七层OSI

    第一层:物理层。 1)需求: 两个电脑之间如何进行通信? 具体就是一台发比特流,另一台能够收到。于是就有了物理层:主要是定义设备标准,如网线的额接口类型、管线的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流,就是从1/0转化为电流强弱来进

    2024年01月17日
    浏览(50)
  • STM32的以太网外设+PHY(LAN8720)使用详解(1):ETH和PHY介绍

    STM32F4系列MCU内部集成了一个以太网外设(ETH),可以通过介质独立接口(MII)或简化介质独立接口(RMII)和外部PHY(如LAN8720)相连实现MCU的联网功能。 STM32F4系列的以太网外设(ETH)框图如下: 以太网外设框图中包含了MII、RMII、SMI三种接口,它们的详细介绍如下: 1.2.1 介

    2024年01月23日
    浏览(39)
  • STM32的以太网外设+PHY(LAN8720)使用详解(3):PHY寄存器详解

    前面介绍到,站管理接口(SMI)允许应用程序通过2线时钟和数据线访问任意PHY寄存器,同时该接口支持访问最多32个PHY,也就是说PHY地址共有5位。 应用程序可以从32个PHY中选择一个PHY,然后从任意PHY包含的32个寄存器中选择一个寄存器,发送控制数据或接收状态信息。任意给

    2024年02月03日
    浏览(38)
  • 搭建openstack前期准备

    使用准备好的centos7.5.1804的版本镜像搭建两台主机,大致配置如下 安装好centos后先关闭防火墙:  配置本地hosts配置: 然后分别把centos7.5的镜像和iaas2.4的镜像挂载上传到/opt/目录下,并配置好yum源:    然后安装ftp 并配置好compute结点的yum: controller和compute安装先电的包:      然后开

    2024年02月14日
    浏览(27)
  • 【ETH】以太网----PHY芯片LAN8720A----电路原理图

    LAN8720A 是低功耗的 10/100M 以太网 PHY 层芯片,I/0 引脚电压符合EEE802.3-2005 标准,支持通过 RMI 接口与以太网 MAC 层通信,内置 10-BASE-T/100BASE-TX 全双工传输模块,支持 10Mbps 和 100Mbps。 LAN8720A 可以通过自协商的方式与目的主机最佳的连接方式(速度和双工模式),支持 HPAuto-MDIX 自动

    2024年02月06日
    浏览(75)
  • MetaGPT前期准备与快速上手

    大家好,MetaGPT 是基于大型语言模型(LLMs)的多智能体协作框架,GitHub star数量已经达到31.3k+。 接下来我们聊一下快速上手 一、环境搭建 python 环境最好是 3.9 1.python 环境 利用 anaconda 创建 python3.9 的虚拟环境 2. MetaGpt 下载 也可以采取以下方式 二、MetaGPT配置 1.调用 ChatGPT API

    2024年01月22日
    浏览(30)
  • IOS逆向前期环境准备笔记

    ios系统由于效验问题,只能升级不能降级,需要特别注意, 刷系统可以在爱思上搞定; 越狱推荐使用u盘镜像及本地启动盘制作: 注意,要进去bios,关闭安全启动,不然直接失败: Checkra1n镜像:https://share.weiyun.com/kr63NENg 其他工具:https://blog.6ziz.com/jailbreakdownload 参考教程:

    2024年02月11日
    浏览(30)
  • 使用 Git&GitHub 的前期准备

    本节包含 SSh Key 的设置,从 GitHub 上创建一个仓库,并 clone 到本地,然后对其进行更改,提交,同步到仓库。需要已经下载好了 Git ,并且已经创建了一个 GitHub 账户 1.1 创建 SSH Key 运行这条命令,然后直接敲两次回车就可以。第一次回车是将 SSH 密匙存放在默认的路径下,第

    2024年01月20日
    浏览(29)
  • 【UE Sequencer系列】01-前期准备

    新建一个工程 在虚幻商城中将我们需要的三种资产导入到新建的工程中 打开工程可以看到导入的资产 新建两个文件夹,一个用来存放音频,一个用来存放所有的Sequencer 导入音频(只支持wav格式) 选中声波,创建一个sound cue 打开“Forge”关卡 改变视口布局 第一个视口选择“

    2023年04月09日
    浏览(27)
  • 番外3:下载+安装VMware(前期准备)

    step1: 查看自己笔记本电脑配置; step2: 下载并安装VMware (下载地址www.kkx.net/soft/16841.html)这里选择本地普通下载; step3: 安装VMware过程中需要填写密钥(本人用的最后一个) ; #UU54R-FVD91-488PP-7NNGC-ZFAX6 #YC74H-FGF92-081VZ-R5QNG-P6RY4 YC34H-6WWDK-085MQ-JYPNX-NZRA2

    2024年02月07日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包