外设问题¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
为什么DSI显示屏不亮?¶
检查是否为Quectel Pi H1支持的显示屏;
检查显示屏供电是否正常;
例如,微雪8寸MIPI屏供电接口及电压可参考 MIPI,可根据实际接口使用万用表量取相应电压是否满足5 V要求。
检查MIPI排线是否连接牢固,确认排线方向是否正确;
排查背光:
# 1. 是否存在背光设备节点
ls -l /sys/class/backlight/
# 2. 检查亮度(brightness为0说明背光未开启)
cat /sys/class/backlight/*/brightness
cat /sys/class/backlight/*/max_brightness
# 3. 拉满背光测试(用max_brightness的值,不要硬编码255)
echo $(cat /sys/class/backlight/*/max_brightness) | sudo tee /sys/class/backlight/*/brightness
检查内核日志,确认系统是否正确识别到该屏幕。可执行以下命令进行过滤排查:
dmesg -T | grep -iE 'drm|panel|dsi|mdss|dpu|backlight'
摄像头无法加载怎么办?¶
检查是否为设备支持的摄像头;
检查MIPI排线是否连接牢固,确认排线方向是否正确;
检查内核日志,确认系统是否正确识别并打印probe信息。执行如下命令进行排查:
dmesg -T | grep -i cam | grep -i probe
例如,以下日志说明IMX577和IMX219传感器已成功上电probe:
CAM_INFO: CAM-SENSOR:cam_sensor_driver_cmd: 938: Probe success,slot:0,slave_addr: 0x34,sensor_id:0x577, is always on:0
CAM_INFO: CAM-SENSOR:cam_sensor_driver_cmd: 938: Probe success,slot:1,slave_addr: 0x20,sensor_id:0x219, is always on:0
若无probe信息,需检查传感器I2C地址、上电时序、主时钟MCLK、设备树中CCI节点未使能等是否有误。
检查 cam-server 服务是否正常。可执行以下命令查询服务状态:
# 查询服务状态,正常状态是active (running)
systemctl status cam-server
# 若不正常,重启服务
sudo systemctl restart cam-server
显示屏分辨率异常怎么办?¶
检查硬件是否能正确识别显示器¶
如果是HDMI/ DP/ eDP等外接屏,首先需确认内核是否成功读取显示器的EDID(扩展显示器识别数据),这是分辨率协商的基础。
# 1. 查看所有显示接口的连接状态
for p in /sys/class/drm/card0-*/status; do echo -n "$p: "; cat "$p"; done
# 2. 查看EDID是否成功读取(文件大小非0表示识别成功),假设读取HDMI接口(connected)
cat /sys/class/drm/card0-HDMI-A-1/edid > /tmp/edid-dsi.bin
wc -c /tmp/edid-dsi.bin
如果EDID文件大小为0,说明显示器未正确提供EDID信息。此问题常见于非标准显示器、HDMI线缆质量差或接口接触不良。
查看当前可用的分辨率模式¶
# 1. 查看所有显示接口的连接状态
for p in /sys/class/drm/card0-*/status; do echo -n "$p: "; cat "$p"; done
# 2. 查看内核DRM层当前支持的模式,假设读取HDMI接口(connected)
cat /sys/class/drm/card0-HDMI-A-1/modes
如果输出中不包含目标分辨率(如1920 x 1080),说明:
(1)EDID中未提供该模式(HDMI/ DP/ eDP屏);
(2)内核设备树中的面板时序配置错误或或驱动未正确解析(DSI屏)。
分析日志定位故障原因¶
dmesg -T | grep -Ei "drm|hdmi|msm|dpu|edid|mode|dsi|dp|panel|gdm|weston|wayland"
journalctl -b | grep -Ei 'drm|hdmi|msm|dpu|edid|mode|dsi|dp|panel|gdm|weston|wayland' | tail -n 100
摄像头无法识别怎么办?¶
检查MIPI排线是否连接牢固,确认排线方向是否正确。
检查内核日志,确认系统是否正确识别并输出probe信息。可执行以下命令进行排查:
dmesg -T | grep -i cam | grep -i probe
例如,以下日志说明IMX477和IMX219传感器已成功上电probe:
CAM_INFO: CAM-SENSOR:cam_sensor_driver_cmd: 938: Probe success,slot:0,slave_addr: 0x34,sensor_id:0x477, is always on:0
CAM_INFO: CAM-SENSOR:cam_sensor_driver_cmd: 938: Probe success,slot:1,slave_addr: 0x20,sensor_id:0x219, is always on:0
若无probe信息,需检查传感器I2C地址、上电时序、主时钟MCLK、设备树中CCI节点未使能等是否有误。
(1)示波器测量MIPI引脚PIN22电源引脚电压是否为3.3 V;
(2)示波器或逻辑分析仪测量MIPI引脚PIN20/21 I2C SCL/SDA, I2C寻址和读取ID时序是否正确。
若为自行添加的摄像头传感器,请咨询移远通信技术支持获取指导。
没有声音怎么办?¶
检查硬件与连接¶
检查扬声器或耳机是否连接牢固。
确认声卡硬件识别状态¶
执行以下命令,列出系统识别到的所有声卡:
# 列出所有声卡
cat /proc/asound/cards
# 如果该文件输出为空,根因是高通ADSP固件未正确加载、APR/ GPR通信异常或设备树(DTS)声卡节点匹配失败。可使用以下命令查看内核驱动报错日志
dmesg -T | grep -iE 'qcom-soundcard|apr|q6dsp|wcd'
查看输出设备设置是否正确¶
# 查看默认输出设备
pactl info | grep -i default
# 设置默认输出设备
pactl set-default-sink low-latency0
# 切换到扬声器输出
pactl set-sink-port low-latency0 speaker
# 或者切换到耳机输出
pactl set-sink-port low-latency0 headset
# 设置非静音(0:非静音,1:静音)
pactl set-sink-mute low-latency0 0
# 设置音量80 %
pactl set-sink-volume low-latency0 80%
# 若PulseAudio音量已调高仍无声音,请执行alsamixer,按F6选择高通声卡,确认底层硬件DAC增益通道及功放使能开关(PA Switch)未处于静音([MM])状态。
播放测试音频¶
gst-launch-1.0 audiotestsrc num-buffers=200 ! pulsesink