背景

MS2130,虽然价格只有几十元,但是在1080p下的性能还是很不错的。我有一个MS2130和一个MS2131,但是使用的时候发现他们在设备上的显示名都叫“HDMI TO USB”,一个很不优雅的名字...每次看到这个名字,强迫症就犯了,于是就决心改掉他。
设备大都是通过EDID来获取显示器元数据信息,EDID共有128字节,里面包含了显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串等,具体可参见:什么是EDID,EDID能做什么,EDID基本介绍EDID - 维基百科
那么,只要修改采集卡的EDID信息,便也许能够实现伪装/模拟成其他显示器的效果。

实践

第一步要做的是,需要导出采集器的固件,这步网络上有不少教程,总结步骤如下

  1. 打开固件刷写工具
  2. 界面上选择对应的芯片(MS2130/31)
  3. 按实际填入VID和PID,一般来说默认的VID是345F;MS2130的PID是2310,MS2131的PID是2131;可以通过iChipGenius功能查看
  4. 点击Connect连接采集卡
  5. 选择Flash选项框
  6. 点击Read读取固件
  7. 点击SaveTo Bin保存固件

2024-09-04T08:20:18.png

更具体可参考B站大佬教程:【图吧小白教程】MS2130国产采集卡刷校色4K输出固件+备份教程

第二步,用任意Hex浏览工具(如WinHex)打开导出的固件文件,搜索EDID的header,果然能找到EDID信息:

2024-09-04T07:37:04.png

解析下EDID信息,便看到了那个不顺眼的"HDMI TO USB":

2024-09-04T07:39:08.png

将这128字节数据保存下来

用各类edid修改器(如EEditGold)修改下型号信息,替换掉固件中的EDID信息,然后用刷写工具刷入修改后到固件,再重新拔插下采集卡,可以看到这次设备将采集卡识别为修改后的型号了:
2024-09-04T07:44:09.png

工具化

以上整套流程下来,时间大多耗费在找EDID解析修改器,重新拼接固件上,步骤很繁琐。于是便写了个工具实现对固件中EDID的一次性修改。
工具原理如下:

  1. 解析固件,查找EDID的header
  2. 解析EDID
  3. 按需修改EDID
  4. 重新计算EDID校验码,替换原固件中的EDID,并保存修改后的固件到指定的位置。

工具中对EDID的解析是使用了github.com/anoopengineer/edidparser这个package,为了实现EDID的修改,魔改了这个package,目前能够实现对如下基础参数的修改:

程序整体使用方法如下:

  1. 使用固件刷写工具备份采集卡固件
  2. 按如下步骤生成修改后的固件
 ms213x-rename -m <ManufacturerId> -p <ProductCode> -s <SerialNumber> -y <YearOfManufacture> -w <WeekOfManufacture> -d <MonitorName> -o <修改后固件保存位置> <备份的固件位置>

举例:

  ms213x-rename -m LEN -p 6666 -s 2333 -y 2022 -w 20 -d XianShiQi -o ./modify.bin ./firmware.bin
  # 修改firmware.bin的EDID,并输出位modify.bin

示例:
2024-09-04T08:33:13.png

  1. 刷写修改后的固件到采集卡中即可。

如果只是想查看固件中的edid信息,执行ms213x-rename <固件位置>即可,如果需要更详细的信息,加上-v参数:ms213x-rename -v <固件位置>

工具代码和编译release文件见:https://github.com/starainrt/ms213x-rename

将这个修改工具、用于查看VID和UID的ChipGenius、Edid修改器以及固件刷写工具整体打包到我的Onedrive(刷写需谨慎):https://rapid.b612.me/s/NlJf1 密码:5ftw3q

其他问题与解决方法

使用修改EDID的固件后,在win 10/11上不显示“显示器音频”

这是windows自身的问题,问题复现方法如下:

  1. 使用旧固件,采集windows系统,windows上音频设备能看到“HDMI TO USB显示器音频”
  2. 刷写修改EDID后的固件,再次采集同一个windows系统,采集功能正常,但windows上音频设备无法看到这个采集卡的音频输出

使用非windows设备测试或在首次使用此采集卡的windows系统上测试,不会出现此问题,MS2131的录音与音频功能也没有失效。
具体原因可能与通过修改注册表强制更新Windows中显示器音频设备名的方法 这篇文章中记录的原理有关,但使用文中的方法无法解决这个问题,目前也没有能找到这个问题的解决方案,待进一步跟踪。

更新:EDID的问题,重刷一遍就好了

刷写固件当中报错

包括或不限于不小心拔掉了采集卡,或者写入固件时报校验失败或者写入了不合适的EDID。