rk3399 的 HDMI 热插拔的问题

news2024/9/20 22:32:10

问题: 客户的3399 的板子上,烧写ubuntu 发现, 没有热插拔。

测试情况: 系统在第一次烧写完成之后,是有热插拔的,但是第二次启动就没有了。

还有一个情况,就是 ,如果我一开始 上电的时候就不接上 HDMI 的话,等系统启动之后,再 街上HDMI , 那么 这时候 就有了 热插拔了。很奇怪。

开始我的调试:

先来看看网上的资料,这个资料给了我很多的启发。

    firefly@firefly:/etc/udev/rules.d$ cat /usr/local/bin/hdmi-toggle
    #!/usr/bin/env bash
     
    USER="$(who | grep :0\) | cut -f 1 -d ' ')"
    export XAUTHORITY=/home/$USER/.Xauthority
    export DISPLAY=:0
     
    ########### Settings ###########
     
    # Use 'xrandr' to find these
    DP="DP-1"
    VGA="VGA-1"
    HDMI="HDMI-1"
    INTERNAL_DISPLAY="LVDS-1"
     
    # Check /sys/class/drm for the exact location
    DP_STATUS="$(cat /sys/class/drm/card0-DP-1/status)"
    VGA_STATUS="$(cat /sys/class/drm/card0-VGA-1/status)"
    HDMI_STATUS="$(cat /sys/class/drm/card0-HDMI-A-1/status)"
     
    # Do no change!
    EXTERNAL_DISPLAY=""
     
    # Check to see if the external display is connected
    if [ "${DP_STATUS}" = connected ]; then
    	EXTERNAL_DISPLAY=$DP
    fi
    if [ "${VGA_STATUS}" = connected ]; then
    	EXTERNAL_DISPLAY=$VGA
    fi
    if [ "${HDMI_STATUS}" = connected ]; then
    	EXTERNAL_DISPLAY=$HDMI
    fi
     
    # The external display is connected
    if [ "$EXTERNAL_DISPLAY" != "" ]; then
    	# Set the display settings
    	xrandr
    	xrandr  --output $EXTERNAL_DISPLAY --auto
    else
    	# Restore to single display
    	xrandr --output $EXTERNAL_DISPLAY --off
    fi
     
    exit 0

------------------------------------------------------------------------------------------------------------------

什么是 lightdm  , startx  , xrandr

这个我单独写一篇文章, 不混在一起。

------------------------------------------------------------------------------------------------------------

什么是 systemctl , systemd  , 自启动脚本。

这个我单独写一篇文章, 不混在一起。

------------------------------------------------------------------------------------------------------

我自己对于硬件的测试。

这里涉及到 HPD 这个引脚。

这个脚 ,当我插入HDMI 的时候, 为5V,当我 拔掉HDMI 的时候为0V。

无论 热插拔 是正常,还是不正常,都是这个情况。

所以可能跟硬件是没有关系的。

所以我去看一下,源码中的 Linux 的设备树吧。

这里就没有热插拔 什么事儿。可能3399 本身就不支持热插拔。

也去看一下, uboot 的设备树吧。

uboot 里面的设备树 也是一样的。

---------------------------------------------------------------------------------------------------------------

我自己对于永远 默认插上HDMI 的源码修改。

我参考的是网上的资料

我就是这么改的。

-----------------------------------------------------------------------------------------------------------------------

我自己的调试。

我尝试 重启一下, lightdm 发现竟然有了热插拔。

情况是这样的,

已经没有热插拔了。

我重启 lightdm , 屏幕点亮。

然后继续插拔接口, 发现有了热插拔。

然后断电重启,有没有了热插拔。

那问题就简单了,直接写个 自启动脚本那就可以了。

自启动脚本是我从网上抄的。

无论我 插上HDMI ,还是 拔出HDMI 永远都是 connected .

我本想使用xrandr 查看一下 系统的屏幕, 但是系统有这个命令,但是 无法执行。

这是我的自启动服务。

[Unit]
After=multi-user.target

[Service]
Type=oneshot
User=root
ExecStart=/usr/bin/openttyTHS1.sh

[Install]
WantedBy=multi-user.target

这是那个脚本。

为什么这里有个 sleep 函数呢?

我发现如果没有这个函数的话,即便是 启动了,服务, 也不会有 重启桌面的这个操作。

所以干脆延时,知道系统完完全全的启动,在启动这个服务。

这样 问题就解决了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2135930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[论文精读]Polarized message-passing in graph neural networks

论文网址:Polarized message-passing in graph neural networks - ScienceDirect 论文代码:he-tiantian/PMP-GNNs:极化消息传递图神经网络的 Pytorch 实现,发表在 Artificial Intelligence,2024 年。 (github.com) 英…

红日靶场通关

初始准备 首先是网络配置,看教程来的,我配置完的效果如下 windows7:(内:192.168.52.143 / 外:192.168.154.136) windows2003:(内:192.168.52.141)windows2008:(内:192.…

运算放大器选型的关键参数

上图中的顺序是从左上到右下进行选型,小信号看带宽,大信号看压摆率。一般选用电压反馈型的运放,但是涉及到高频特性的时候也会选择电流反馈型的运放。精密运放选用失调电压比较小的运放,一般失调电压在1mv左右。低功耗的情况下需要…

极越造车2.0:01销量回暖,07杀出血路,ASD抢跑FSD

‍‍‍作者 |张马也 编辑 |德新 9月13日,极越公布其第二款车型极越07上市48小时内,订单超过5000台。 对这家造车4年多的车企来说,这意味着新车取得了初步的成功。 懂车帝的数据显示,7月极越01销量1143台,8月销量则翻…

Linux 入门:简单的基础操作

“批判他人总是想的太简单 剖析自己总是想的太困难” 文章目录 前言Linux 入门:从基础操作到 WSL2 安装文章有误敬请斧正 不胜感恩!1. 什么是 Linux?2. Linux 和其他系统有啥不同?3. Linux 的主要组成4. 常见 Linux 发行版5. 基本…

openstack之cinder介绍

概念 cinder 为虚拟机提供管理块存储服务。支持的文件系统:lvm、iscsi、nfs、san、RBD 组件构成及功能介绍 cinder api:在控制节点运行,管理服务的接口,被命令行、其他组件调用; cinder scheduler:类似n…

大数据新视界 --大数据大厂之Kafka消息队列实战:实现高吞吐量数据传输

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

美国税收制度及SAP实施

1. 税制综述 美国是以直接税为主的国家,实行联邦、州和地方(市、县)三级征税制度,属于彻底的分税制国家。美国联邦税以个人所得税和企业所得税为其主要收入来源,州税以销售与使用税为其主要收入来源,地方税以财产税为…

UART 16550的使用

前言 本文从操作系统使用 16550 的角度来学习 16550。主要解析通用的串口寄存器的作用。 16550 串口由一系列寄存器控制串口行为。不同的具体设备寄存器的偏移不同,寄存器的长度可能不同。 例如,在 AXI UART 16550中,各寄存器长度都为 32 b…

overleaf如何下载论文的pdf

用overleaf写完英文论文后,要将论文保存为PDF格式 点击图片中的下载按钮 然后选择一个路径保存论文的PDF格式即可。

测试通用面试题大全

24年软件测试的发展如何? 1、IT行业还会继续升温,高质量人才需求相对还是短缺。 2、要求变高之后,很难再下降了,学历和经验。 3、功能测试之外的东西,接口、性能和自动化要掌握一点。 4、长远来看,软件…

Android Framework(五)WMS-窗口显示流程——窗口布局与计算

文章目录 relayoutWindow流程概览应用端处理——ViewRootImpl::setView -> relayoutWindowViewRootImpl::setViewViewRootImpl::performTraversalsViewRootImpl::relayoutWindow Surface的创建WindowManagerService::relayoutWindow了解容器类型和Buff类型的SurfaceBuff类型…

并发编程 - GCD的栅栏(dispatch_barrier_async)

引言 Grand Central Dispath(GCD)是苹果提供的强大工具,它几乎涵盖了多线程编程的所有方面。通过GCD,我们可以轻松地创建队列、管理线程,并以更优雅的方式处理并发任务。在前面的博客中,我们已经深入探讨了…

基于SpringBoot+Vue+MySQL的校园健康驿站管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 本文设计并实现了一个基于SpringBoot后端、Vue前端与MySQL数据库的校园健康驿站管理系统。该系统旨在通过数字化手段,全面管理学生的健康信息,包括体温监测、疫苗接种记录、健康状况申报等,为…

【Canvas与表盘】绘制黄蓝两色简约表盘

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>黄蓝卡通手表</title><style type"text/css">…

【我的Android进阶之旅】解决CardView四个圆角有白边的问题

文章目录 一、问题描述二、分析CardView出现白边的原因三、如何解决这个问题?3.1 如何修复?3.2 为什么这样可以修复?3.3 示例代码3.4 总结一、问题描述 在实现一个RecycleView的Item时候,样式需要用到卡片式效果,于是想到用CardView来实现,但是最终发现运行出来的效果,…

(微服务项目)新闻头条——Day1

最近发生了很多事情&#xff0c;躺了一阵子&#xff0c;也是终于振作起来做自己的事情了.... 有的人追求精彩而活&#xff0c;而即使瘦若浮游&#xff0c;仍旧痴迷71种滋味&#xff0c;而有的人寿命明却装醉不得自由虚度自己的光阴&#xff0c;年华终究在最后一刻幡然醒悟&…

Android Studio新建工程(Java语言环境)

一、新建工程流程(java语言环境) 1、File->New->New Project 2、选择“Empty Views Activity” -> Next 3、创建项目名称/项目路径/语言环境 1&#xff09;项目名称&#xff1a;使用默认Name 或 修改Name 2) Package name&#xff1a;每个项目的这个名称唯一&…

MySQL 创建数据库和表全攻略

一、MySQL 创建数据库与表的重要性 MySQL 作为广泛应用的关系型数据库管理系统&#xff0c;创建数据库和表具有至关重要的意义。 在数据存储方面&#xff0c;数据库就如同一个巨大的仓库&#xff0c;为各类数据提供了安全、有序的存储环境。通过创建数据库&#xff0c;可以将相…

计算机毕业设计体育资讯个性化推荐网站网站内容留言评论前台注册后台管理/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序

一、网站内容 ‌个性化推荐‌&#xff1a;根据用户浏览历史和兴趣&#xff0c;推送相关体育资讯。‌丰富资讯‌&#xff1a;包含体育赛事直播、新闻报道、专栏评论等。 二、留言评论系统 ‌用户互动‌&#xff1a;允许用户对资讯进行留言和评论&#xff0c;增强社区互动性。…