淘宝购买一个HDMI欺骗器、显示模拟器(价格5元以内)。
硬件部分:
做法是加热A1 引脚(AT24 EEPROM 的引脚 2)并将其抬起以将其与 PCB 断开(使用细针作为杠杆可能会有所帮助),然后将电线焊接到 VCC 引脚(AT24 EEPROM 的 引脚8 )。如下图:
![](https://img.haomeiwen.com/i23859079/fc8c432902699bd9.png)
软件部分:
基本思路:amlogic BootROM 在 EEPROM 地址 0x52、偏移 0xf8 (248) 处读取 8 个字节。如果 8bytes 内容是boot@USB它将强制 USB 启动模式。
要测试看看是什么模式,您可以将 HDMI显示模拟器连接到您的笔记本电脑(如果采用HDMI 转 DP 适配器或 HDMI 转 Type-C 适配器之后,它可能无法成功识别)或直接连接到 Amlogic 板上,并使用命令i2cdetect在所有 i2c 总线上,例如:
sudo i2cdetect -y -r 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- 52 -- -- -- -- -- -- -- 5a -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
如果出现0x50,则不是usb启动,如果出现0x52,则是usb启动!
更改启动模式需要改 EEPROM(Linux 内核需要启用 CONFIG_EEPROM_AT24 以使 eeprom 节点在下面可用),只需在 linux 运行时将其连接到 HDMI 端口,并在 hdmi i2c 端口上添加一个新的 i2c 设备:
cd /sys/bus/i2c/devices/i2c-0
echo 24c02 0x52 > new_device
cd *-0052
echo -n "boot@USB" | dd of=eeprom bs=1 seek=248 count=8
dd if=eeprom bs=1 skip=248 | hexdump
在原作者测试中,最后一个字节没有正确写入......所以执行了:
echo -n "B" | dd of=eeprom bs=1 seek=255 count=1
使用办法:
盒子开机前把HDMI刷机器插到HDMI口,然后按照一般的晶晨线刷教程操作即可,无需短接,十分方便。
参考链接:https://github.com/superna9999/linux/wiki/Amlogic-HDMI-Boot-Dongle#the-logic
网友评论