-
Notifications
You must be signed in to change notification settings - Fork 676
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add AirportItlwm support for macOS 10.12 10.11 10.10 #632
base: master
Are you sure you want to change the base?
Add AirportItlwm support for macOS 10.12 10.11 10.10 #632
Conversation
Test binaries can be downloaded from the Artifacts in the build |
Thanks looking into this. I'll add the AirportItlwm-legacy. Do you think I should also add the Airportitlwm-legacy to the CI/CD? Another reason I added this because the itlwm+heliport solution doesn't work well on Sierra 10.12 and may be lower. See OpenIntelWireless/HeliPort#221. Having native Airport support will bypass this issue. Your change to the workloop is cleaner and I'll take it. |
I also noticed another issue on the AUTH timeout recently, not sure if you hit the same. I was reconfiguring the router and discover if the router accepts WPA2 Personal with SHA256, somehow Apple is trying to connect using auth_upper=1024 (APPLE80211_AUTHTYPE_SHA256_PSK). It appears the current code doesn't support this. This will result as timed-out. I turned off the config and it is back to normal. |
I think we don't need to auto build and release as alpha version because we don't plan for mainline maintain of them.
Yes, I see. And I was happened to plan porting the userspace
Notice, please don't free the workloop when driver cleanup, the instance is maintained by super class. |
I updated the pull request and adding AirportItlwm-legacy for macOS 10.12 10.11 and 10.10. The build would be available in the artifacts. For the getWorkLoop() part, I saw you also changed the getCommandGate() and the new one no longer use the tsleepHandler. I do see all places are using the _fCommandGate->runAction, so it would be safe to remove the references tsleepHandler, correct? May be this can be done in a separated change. |
IO80211Controller::copyOut direct reference to workloop instead of calling getWorkLoop(). Use the workloop created in the IO80211Controller base class instead.
59ed0dc
to
e07c168
Compare
ehh late but , the airportitlwm legacy thing still exists ? if yes how i can download because would like to test on el capitan 10.11 |
It seems the old artifacts expired. I've kicked another one with the latest code here. I haven't verified and hope it works for you. |
Hi. The airportitlwm legacy thing still exist? If yes how i can download because would like to test on Sierra |
https://github.com/kristenlc/itlwm/actions/runs/2922928309 |
Did anyone manage to mirror this? |
Yeah you can find it on my telegram channel. https://t.me/Hackintosh_TR |
This pull request adds AirportItlwm support on the following OS versions
The main change is to add #ifdef in the airport headers on the virtual methods.
I had to change a bit on the createWorkLoop(), otherwise a kernel will panic on IO80211Controller::copyOut() method on 10.11 and 10.10. The IO80211Controller::copyOut() in the older version directly reference to the private workloop object created by the IO80211Controller::createWorkLoop() instead of calling the virtual method getWorkLoop(). The fix is to call the createWorkLoop() in the base and reuse the workloop object
Other changes are strait forward.
I haven't look into use bootloaders to inject the kext because its dependency on IO80211Family.kext. It works well for me if I copy the kext to /Library/Extensions and update the kernel cache. On 10.11 and above, SIP need to be disabled to load unsigned kext. On 10.10, the kext-dev-mode=1 boot args is also needed to load unsigned kext.