我正在kext
为其开发内核扩展(),TP-WN722N-v1
因为它不受支持。我设法将固件上传到设备,该固件已被系统识别,并且显然可以在veeery基本支持下使用。我可以在“设置”面板中的“网络”下找到它,但是它被识别为ethernet device
,所以我还不能使用它。我应该从哪里开始使系统将其视为wireless interface
?我是从适当的班级继承下来的吗?
我的课开始像这样:
class TL_WN722N : public IOEthernetController
Apple自己的Wifi驱动程序基于IO80211Controller
的子类,该类是的子类IOEthernetController
。
不幸的是,这不是公开的KPI。曾经有一个“泄漏的”头文件,并且Hackintosh人群一直在努力对它进行反向工程。我不知道是否有人真的有基于此的驱动程序。
我见过的任何制造商提供的第3方wifi驱动程序都已跳过IO80211Controller
,只是IOEthernetController
直接将其子类化,直接在驱动程序中(重新)实现所有wifi特定的东西。用于选择SSID等的任何UI都需要通过自定义应用,并且不能在“网络”偏好设置面板或菜单栏图标中使用Apple自己的wifi UI。这可能需要做很多工作,但是绝对有可能。
请注意,自macOS 10.15 Catalina起,已不建议在kexts中实现USB网络设备驱动程序,任何此类kext都可能在10.16中停止工作。您应该使用DriverKit定位macOS的未来版本。