【发布时间】:2020-09-09 19:11:57
【问题描述】:
如果我使用 IOKit 方法列出 USB 设备,我可以得到类似“AirPod Case”的东西,但我不知道如何得到“Francisco 的 AirPods”。我查看了您可以要求的各种键,但没有找到这些“可设置”名称,只有标准“产品名称”。
【问题讨论】:
如果我使用 IOKit 方法列出 USB 设备,我可以得到类似“AirPod Case”的东西,但我不知道如何得到“Francisco 的 AirPods”。我查看了您可以要求的各种键,但没有找到这些“可设置”名称,只有标准“产品名称”。
【问题讨论】:
我不知道答案是事实,但我可以给你一些追查的想法:
自定义名称可能是作为更高级别协议的一部分或通过供应商特定请求而不是通过标准化 USB 设备描述符传输的。通过供应商特定的描述符进行宣传的可能性很小,但这似乎不太可能
我没有任何 AirPods,所以我不知道 AirPod 机箱使用哪种数据协议与 Mac 通信,但您可以尝试查找该协议的文档或源代码,例如以防万一任何人都想出了如何在 Linux 中使用它们并为此编写了一个工具或库。
最后,您可以自行对其进行逆向工程,方法是在使用能够读取您所追求名称的现有软件时记录进出设备的 USB 流量。在 macOS 上,it's possible to do this using Wireshark。开始记录 USB 流量,启动与设备通信的软件,然后浏览日志以查看是否可以发现字符串,然后找出是什么请求导致它被返回。
【讨论】: