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