zxystd / AppleIntelWifiAdapter

苹果IO80211Controller调用
188 stars 20 forks source link

Intel Wifi #6

Open ghost opened 4 years ago

ghost commented 4 years ago

Hi, I've stumbled upon your github repo just a while ago and didn't expect someone who is trying to make an intel kext. I've seen other people try it but sadly they have left their project and/or decided to abandon it all. I am also wondering how do you plan to do it? Hackintosh devs say a whole new driver was needed to be rewritten from scratch and reverse engineer Apple's Wireless codes since it is closed source. Thanks for the effort you put into this,. If you could, try to ask Hackintosh's reddit community, Hackintosh Discord, or even tonymacx86.com for some help I am sure they would gladly assist you.

zxystd commented 4 years ago

thanks for your advice.

hatf0 commented 4 years ago

@dolamarv the problem with writing a full wireless driver is the sheer amount of effort that it takes. the Atheros airport drivers are massive behemoths- which handle encrypted beacons, AWDL, ranging...... even just loading the firmware isn’t enough unlike Bluetooth. Implementing 802.11 is HARD.

moda20 commented 4 years ago

@hatf0 I think he can easily port the existent wifi driver from linux distributions, a lot fo repos have started doing that and claim that it is possible, he doesn't have to write it from specs

hatf0 commented 4 years ago

@moda20 not the case here. porting 1:1 is nearly impossible- linux has nl80211 and it is friendlier to write a driver for it, but either you have to write your whole stack, or rework your entire driver to focus around the private apple80211 framework. it is incredibly tedious and difficult, and the development process requires a reboot in order to even reload the kext.

johnnynunez commented 4 years ago

Here is another developer trying this https://github.com/Champ-Goblem/IntelWiFiDriver---Voodoo80211

Goshin commented 4 years ago

@hatf0 Someone just makes it happen.

http://bbs.pcbeta.com/viewthread-1838489-1-1.html

This guy does an incredible job that makes his Intel 7265ac work almost properly on 10.14 and 10.15, with the IO80211Family.

Though the kext is still shaky and less compatible with other devices like 8xxx/9xxx right now, I think it is super promising.

125410rdcqzdbd3d80hjvp

125410deazy4ee4yeha6e1

johnnynunez commented 4 years ago

@Goshin Does this developer have GitHub? How Can I access to his code?

hatf0 commented 4 years ago

@Goshin that is very cool! sadly though it seems to have the pitfall of running pre-Catalina (marked by the fact that the IO80211Family KEXT version is not 1200.12.2b1) meaning that the majority of users will have to downgrade to Mojave, but I would love to see the source code for it.

zxystd commented 4 years ago

As I know that the code is come from openbsd iwm project, and the 80211 stack implementation is also migrate from openbsd, if you are interested in how it works, you can download openbsd source code to see(int directory /sys/dev/pci), project structure like this repo https://github.com/Champ-Goblem/IntelWiFiDriver---Voodoo80211. by the way, the author's github is @a565109863, any questions and suggestions about that wifi driver you can submit to his github. And this my project is trying to rewrite all linux iwlwifi code, to support more new cards and enable more wifi features(the branch feature-rewrite-all), write a wifi management client or fake an apple client. I can reverse all the IO80211Family header, but I think it is not a good way to support continus develope, you should use different headers in different version of macos, or replace IO80211Family, this isn't a good way.

Goshin commented 4 years ago

@hatf0 There is a simple workaround that we can use the old IO80211Family.kext on the 10.15. Someone in the post mentioned above just did it by replacing the IO80211Family.kext in /L/E, as mentioned in zxystd's reply.

Developing a driver based on the proprietary apple 80211 stack is tricky and it might have a long way to go to make it perfect. Maybe zxystd's approach is more practical to treat the intel devices as WiFi dongles, so it would be more flexible working on the 80211 stack.

@zxystd Thank you for your great efforts.

moda20 commented 4 years ago

@Goshin the kext is not available on that forum and it needs invitation to register on it. can you give a kext or source code ?

Goshin commented 4 years ago

I think it might be not appropriate to advertise someone else's work in this repo. I must remind you it is still in progress and you may not want to expect too much on it.

hatf0 commented 4 years ago

Speaking of Catalina... I've gotten Black80211 to function properly. If the dev for the IntelWifi kext could share source, we could potentially move it over. image

Goshin commented 4 years ago

Speaking of Catalina... I've gotten Black80211 to function properly. If the dev for the IntelWifi kext could share source, we could potentially move it over. image

Great, but it is not open source yet. We can only leave a reply in his post.

johnnynunez commented 4 years ago

Talking about this repo. When will we have a pre-alpha versión to testing? The idea is very good and I have good sensations that he will have succes

gplast commented 4 years ago

@Goshin There is a new driver available in the website. We dont have access, can you please provide us with the file :)

Thank you very much for that.

WraithWinterly commented 4 years ago

@Goshin There is a new driver available in the website. We dont have access, can you please provide us with the file :)

Thank you very much for that.

Yes indeed we need an invite code so we can sign up @Goshin

khuyendev commented 4 years ago

@Goshin Hi, please update new version file then upload here, i dont have invite code for signup, please

dhinakg commented 4 years ago

AppleIntelWiFi.kext catalina.zip Latest one as of the 7th. Please note I do not have my own account.

alexanderbeloiu commented 4 years ago

AppleIntelWiFi.kext catalina.zip Latest one as of the 7th. Please note I do not have my own account.

@dhinakg Does this actually work if I inject it with clover? For me no wifi card is showing up.