MT7621方案 LED 灯控制 (基于OpenWrt平台)

2023-05-16

注:出处不明,最开始是在这里看到的,图竟然没有。。。没有。。。相关资料也几乎木有。。。datasheet里也没有寄存器配置说明。。。。。。MT7621还真是坑爹啊!

目前市面上大部分路由器方案是基于MT7620的,LED的控制比较简单,直接修改dts文件,系统会自动生成相应的文件系统节点,从而可以很方便的控制,当然这些LED控制都是基于CPU的GPIO来控制,包括LAN灯、WIFI灯。但MT7621方案开始,对于LED灯的控制有所区别,LAN灯直接由芯片内部的SWITCH(MT7503)直接控制,而且预定义是自动配好的,有数据收发时会自动闪烁,插上网线会自动亮,拔掉会自动灭,这部分LED控制完全是硬件自动实现,不再赘述。

USB2.0和USB3.0灯是由CPU直接控制的,可以增加dts的LED节点即可:

gpio-leds { 
  compatible = "gpio-leds"; 
  usb2 { 
  label = "green:usb2"; 
  gpios = <&gpio0 14 1>; 
  }; 
  usb3 { 
  label = "green:usb3"; 
  gpios = <&gpio0 17 1>; 
  }; 
  };

内核解析完dts文件后,会在/sys/devices/platform/gpio-leds/leds 目录下生成两个目录,分别为green:usb2 和green:usb3,进入这两个文件夹,可以通过echo命令来操作LED灯:

操作USB灯(例如USB2.0灯):

cd  sk:green:usb2
echo 1 > brightness   // 开启usb2.0 灯
echo 0  > brightness  // 关闭usb2.0 灯

MT7621方案,一般会由两个射频芯片和MT7621相连,一个是MT7612e (5G WIFI) ,一个是MT7602e(2.4G WIFI,也有用MT7603的) ,我的demo板是MT7612e + MT7602e 。 5G WIFI 和 2.4G WIFI 指示灯 分别由 这两个芯片控制(区别于MT7620由CPU的GPIO控制):
【我猜此处应有图】
在OpenWrt中的公版驱动中,这两个芯片的驱动是通用的,所以控制方式一致。我是通过操作芯片的LED_CTRL寄存器直接控制的,对于WIFI指示灯,对应该寄存器中的LED2对应的几个bit:
【我猜此处应有图】
通过测试 ,发现LED灯是由 电平脉冲 形式触发,LED2_KICK置为1,则表示产生一个脉冲。LED2_TX_BLINK_MODE置为1,表示有数据发送时,LED灯会自动闪烁。LED2_POL表示LED极性。
对于本单板:

LED2_KICK = 1 , LED2_POL = 0 ,                 LED灯常亮           (LED_CTRL写 0x800000)
LED2_KICK = 1 , LED2_POL = 1,                 LED灯常灭           (LED_CTRL写 0x820000)
LED2_KICK = 1,LED2_TX_BLINK_MODE   ,     LED自动闪烁        (LED_CTRL写 0x840000)  

MT76x2的寄存器读写,可通过openwrt 的mt76x2驱动提供的调试命令实现,例如要实现MT7612E LED常亮:

cd      /sys/kernel/debug/ieee80211/phy0/mt76
echo  0x770 > regidx    //设置相对偏移地址
echo  0x800000 > regval    //写寄存器

至此,MT7621方案的LED控制完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MT7621方案 LED 灯控制 (基于OpenWrt平台) 的相关文章

  • Oracle数据库常见对象-索引、视图、存储过程、函数和触发器

    转发来源 xff1a https blog csdn net someonemh article details 80773582 以下总结常见的数据库对象 xff0c 供自己复习 如有错误希望指出 xff0c 共同学习 xff01 一 索
  • 数据治理

    全球数据战略公司董事总经理Donna Burbank说 xff1a 人工智能只有建立在优质的数据基础上才能成功 xff0c 从而推动了数据治理的发展 Thomas C Redman博士说 xff1a 估计80 的人工智能 xff08 AI
  • B端产品的输入与选择组件

    二者的定义 xff1b 作用是什么 xff1f 二者的定义 输入组件是让用户自行输入 xff0c 范围不确定 xff0c 想输什么就可以进行填写在输入的过程中通常使用到键盘 也就意味着输入的难度较大 一般会用于名称 手机号 地址 邮箱等 x
  • HDFS上传文件的命令使用

    打开Hadoop xff0c sbin start all sh 上传文件 xff1a bin hadoop fs put home xleer 1 txt user hadoop input1 查看HDFS中的文件 xff1a bin h
  • java list倒序输出及复制list集合

    有时我们需要把java list集合倒序输入 xff0c java list倒序输出其实很简单 xff0c 就一行代码就可以把原有的list倒序过来了 如原来有一个集合list xff0c list里面是有数据的 xff0c 现在如果把li
  • hbase命令集(shell 命令,如建表,清空表,增删改查)

    两篇可以参考的文章 xff0c 讲的不错 http www cnblogs com nexiyi p hbase shell html http blog iyunv com wulantian article details 410112
  • 关于纯净的win7旗舰版安装后无无线网驱动问题

    由于经济问题 xff0c 笔者的本本从11年一直用到现在 xff0c 之前也因为月咏越卡 xff0c 重装过很多次的系统 xff0c 这次听说安装纯净版的系统汇比较快 xff0c 于是乎上网搜了一下 xff0c 下载了微软的win7旗舰版的
  • 可用性和可靠性的区别

    可用性和可靠性区别简介 可用性 xff08 Availability xff09 是关于系统可供使用时间的描述 xff0c 以丢失的时间为驱动 xff08 Be Driven By Lost Time xff09 可靠性 xff08 Rel
  • linux平台上的TCP并发服务

    实验一 xff1a linux平台上的TCP并发服务 xff08 4学时 xff09 题目 掌握基本套接字函数使用方法 TCP协议工作原理 并发服务原理和编程方法 实验内容 xff1a 在linux平台上实现1个TCP并发服务器 xff0c
  • Oracle通过Navicat建表查询时表不存在的问题解决

  • 检验数据集是否服从正态分布

    1 图示法 1 p p图 以样本的累积频率作为横坐标 xff0c 以正太分布计算的响应累积概率作为纵坐标 xff0c 把样本值表现为执教坐标系中的散点 若数据集服从正太分布 xff0c 则样本点应围绕第一象限的对角线分布 1 2 QQ图 以
  • Linux下实现C语言的http请求实现

    1 前言 Linux下的http请求有许多种方式 xff0c 其中curl库是C语言封装的一个强大的库 xff0c 使用curl比封装socket更加方便 cJSON是一个小型的json封装库 xff0c 可以把数据封装成json格式 本文
  • http请求详解

    1 简介 HTTP HyperText Transfer Protocol xff0c 超文本传输协议 是一套计算机通过网络进行通信的规则 计算机专家设计出HTTP xff0c 使HTTP客户 xff08 如Web浏览器 xff09 能够从
  • Python使用subprocess执行shell命令

    import subprocess import time cmd 61 34 XX 34 svnlog1 61 subprocess Popen cmd shell 61 True stdin 61 subprocess PIPE std
  • CMake undefined reference to 问题

    Simples app src main cpp ffmpeg 3 3 3 build android arm64 v8a lib libavcodec a utils o In function 96 avcodec string 39
  • C/C++:struct 和 class 的区别

    汇总 struct 是值类型 xff0c class 是对象类型struct 默认的访问权限是 public xff0c 而class 默认的访问权限是 private struct 总是有默认的构造函数 xff0c 即使是重载默认构造函数
  • RT-DETR的学习笔记

    1 RT DETR GitHub PaddleDetection tree develop configs rtdetr 2 复现训练流程 2 1 原文使用设备 2 2 环境要求 4 v100 cuda gt 61 11 7 1 nccl
  • 【Zotero】《纯操作讲解,GPT配置,Zotero标注可视化》- 知识点目录

    纯操作讲解 xff0c GPT配置 xff0c Zotero标注可视化 1 快捷键 github 2 API设置 github Temperature分布在 0 1 0 1
  • 【OpenAI】《Zotero GPT | 如何调教你的GPT》- 知识点目录

    Zotero GPT 如何调教你的GPT 此教程讲述了tag的代码构成 xff0c ZoteroGPT中tag的效果就有点像浏览器中的插件 xff1b TimeContent0 51一个tag的基本组成5 32tag的工作原理6 33删除和
  • WinForm控件自适应(实现不同像素自适应,字体自适应,改变窗体大小自适应)

    今天给大家上一道硬菜 本来不爱鸡汤 xff0c 今天说两句 xff1a winform开发有一个缺陷就是不能实现界面的自适应 xff0c 切换不同的分辨率 xff0c 或者窗体大小改变就会出现窗体显示不全的问题 这就需要自己写一个方法来实现

随机推荐