OpenIntelWireless / itlwm

Intel Wi-Fi Drivers for macOS
https://OpenIntelWireless.github.io/itlwm/
GNU General Public License v2.0
6.75k stars 644 forks source link

macOS Sonoma Support #883

Closed ghsssss closed 8 months ago

zxystd commented 1 year ago

Apple had deleted the whole legacy 80211 stack on Sonoma, I am going to turn to the other IO80211Family which is using by macintosh of late 2018(although it will be also deleted in 2~3 years), it is a big work, almost all of the airport interfaces and network interfaces changed, need to start reversed over again. Just wait, I don't have too much spare time to diverse.

image

You can use itlwm.kext + Heliport.app instead for the while.

qcTimb3rlandqc commented 1 year ago

Apple had deleted the whole legacy 80211 stack on Sonoma, I am going to turn to the other IO80211Family which is using by macintosh of late 2018(although it will be also deleted in 2~3 years), it is a big work, almost all of the airport interfaces and network interfaces changed, need to start reversed over again. Just wait, I don't have too much spare time to diverse.

image

You can use itlwm.kext + Heliport.app instead for the while.

if you need tester lets me no ;)thx for work perfect job :)

ameenjuz commented 1 year ago

@zxystd any progress AirportItlwm.kext for Sonoma support? I missed this kext for Sonoma and I m waiting

zxystd commented 1 year ago

New IO80211Family is loaded. but it is just a beginning... ce93852c37fe7f85390e17067172dcae

qcTimb3rlandqc commented 1 year ago

New IO80211Family is loaded. but it is just a beginning... ce93852c37fe7f85390e17067172dcae

keep up the good work good to see that you keep us informed of the progress have a nice day

cheesycod commented 1 year ago

is there anything newer than the 2018 80211?

zxystd commented 1 year ago

image Now network controller start success and begin to exchange informations.

The IOCTLs almost rewrite, hundreds of IOCTL structs should be reversed...

cheesycod commented 1 year ago

any chance of making a ath10k driver too or smth, just asking since I know that's a pipe dream

laszlo-t commented 1 year ago

@zxystd any progress AirportItlwm.kext for Sonoma support? I missed this kext for Sonoma and I m waiting

the itlwm.kext (v2.2.0) works for me on Sonoma (AX201)

TheDarkosGang commented 1 year ago

@zxystd any progress AirportItlwm.kext for Sonoma support? I missed this kext for Sonoma and I m waiting

the itlwm.kext (v2.2.0) works for me on Sonoma (AX201)

Did you use any boot-args?

laszlo-t commented 1 year ago

the itlwm.kext (v2.2.0) works for me on Sonoma (AX201)

Did you use any boot-args?

not for the wifi

Lorys89 commented 1 year ago

image Now network controller start success and begin to exchange informations.

The IOCTLs almost rewrite, hundreds of IOCTL structs should be reversed...

Thank you for your commitment, how is the development progressing?

zxystd commented 1 year ago

8f384e66b1c13f0e0578880a5b85e70b Now we get the wifi information.

ameenjuz commented 1 year ago

8f384e66b1c13f0e0578880a5b85e70b Now we get the wifi information. Great I m waiting your test kext

ryzendew commented 1 year ago

Such fast work

Lorys89 commented 1 year ago

8f384e66b1c13f0e0578880a5b85e70b Now we get the wifi information.

Have you already made the scan of wifi networks work?

zxystd commented 1 year ago

Now we get the wifi list. image

Lorys89 commented 1 year ago

Now we get the wifi list. image

I'm speechless, you're really the Top! (if you need test I have 4 hackintosh with wifi cards 9462, 9560, ax200, ax210)

Lorys89 commented 1 year ago

Today probably comes out beta 2 of sonoma, it would be nice to already start testing your kext 😝

aryajuanda commented 1 year ago

Now we get the wifi list. image

nice work... very good progress,

BTW the PCI vendor is 0x15AD (Vmware) not 0x8086 (intel)

ryzendew commented 1 year ago

they are working within vmware is my guess but they are still doing good work none the less and yes you can put wifi and BT in to vmware and have it work i just tried it ( The fact end users don't know how to use vmware is shocking )

ryzendew commented 1 year ago

Now we get the wifi list. image

any updates on when we can test the kexts?

ameenjuz commented 1 year ago

@zxystd nice work good progress can you provide the kext for testing?

xjh169 commented 1 year ago

坐等各位 发kext ,我的是 Wireless-AC 8265

bilijp153 commented 1 year ago

坐等发kext,我的是 AC 9461

notAperson535 commented 1 year ago

Now we get the wifi list. image

Wow, you're definitely making progress!

notAperson535 commented 1 year ago

And to all the people asking to test the kext, usually whenever they commit the new changes the kext appears in releases as a prerelease. So just wait until they push the changes.

zxystd commented 1 year ago

Now I am stuck at how to submit network packets into the new IO80211Family network stack, different with Apple Silicon WiFi drivers, I don't want to dig deep into the Skywalk stack which will almost force me rewrite the whole driver including the HAL layer, so I am faking the network packets going through the Ethernet interface instead of IOSkywalkLegacyEthernet and IOSkywalkLegacyEthernetInterface.

Yup, I am debugging on the Vmware with a Realtek USB wireless dongle, because Intel PCIE cards can not do passthrough on macOS. So the achieving results should be sync to AirportItlwm after the entire process running smoothly. 90d16fe696ad67362485727f32834232

Lorys89 commented 1 year ago

How do you proceed with the problem of network packets? Did you fix this problem? Give us updates 😉🙏

o3p6 commented 1 year ago

Cheer on

zxystd commented 1 year ago

Good news! Now we can connect to the internet and have a smoothly network, also have the two problem to be resolved.

qq_pic_merged_1688054906091 qq_pic_merged_1688055228093

zxystd commented 1 year ago

For the loading problem, here is the error log, I don't know if it is the error of my kext's virtual table declaration or the OpenCore kext injection, anyone have ideas? Is the SkywalkFamily located in the prelinkedKC?

image opencore-2023-06-30-041658.txt

hendrilmendes commented 1 year ago

I'm using opencore 0.9.4, I can test to see if the same thing happens

bliss95 commented 1 year ago

For the loading problem, here is the error log, I don't know if it is the error of my kext's virtual table declaration or the OpenCore kext injection, anyone have ideas? Is the SkywalkFamily located in the prelinkedKC?

ChatGPT says that

Based on the error log, it seems that there are issues with the patching of certain kexts and the invalid size of some symbols. It is possible that the issue is related to the virtual table declaration of the SkywalkFamily kext or the OpenCore kext injection.

You can try the following steps to resolve the issue:

  1. Check if the SkywalkFamily kext is located in the prelinked kernel cache (prelinkedKC). If not, try adding it to the prelinkedKC.

  2. Ensure that the virtual table declaration of the SkywalkFamily kext is correct.

  3. Check if there are any conflicts with other kexts or drivers in the system.

  4. Try disabling kext injection in OpenCore and see if the issue persists.

  5. If the above steps do not work, try reinstalling the affected kexts and rebuilding the prelinked kernel cache.

I hope this helps you resolve the issue.

bliss95 commented 1 year ago

Also,

83:695 00:001 OC: Prelinked injection AirportItlwm.kext () - Invalid Parameter 83:697 00:001 OC: Prelinked injection AirportItlwm.kext v2.3.0 83:703 00:005 OCAK: Patching invalid size 77FF4 with 116B000 for com.apple.iokit.IOUSBHostFamily 83:705 00:002 OCAK: Patching invalid size 4000 with 24C6000 for com.apple.driver.AppleBusPowerController 83:708 00:003 OCAK: Patching invalid size 1C000 with 20EA000 for com.apple.driver.AppleSMC 83:714 00:005 OCAK: Patching invalid size 2FFF with BF9000 for com.apple.driver.watchdog 83:724 00:009 OCAK: Patching invalid size 3FFC with 1EFC000 for com.apple.driver.usb.AppleUSBCommon 83:731 00:007 OCAK: Dependency com.apple.driver.usb.AppleUSBHostPlatformProperties was not found for kext com.apple.iokit.IOUSBHostFamily

For the dependency issue with com.apple.iokit.IOUSBHostFamily, you may need to install the missing dependency (com.apple.driver.usb.AppleUSBHostPlatformProperties) to resolve the issue.

hendrilmendes commented 1 year ago

Sonoma not working🥹

khaled-muhammad commented 1 year ago

I'm interested in learning the skills required to help. I'm currently 15 years old, and you can check out My Portfolio. I have a strong foundation in programming and possess a wide range of programming skills. Since it's currently summer holiday for me, I'm eager to utilize this time to learn how to help in this. I consider myself a fast learner and I'm excited about the opportunity to enhance my skills in this field.

zxystd commented 1 year ago

New Progress! Loading issue resolved, thanks for @imcdd inspired me. The last problem is the IPv4 DHCP(Now only IPv6 working), will see it after weekend.

Lorys89 commented 1 year ago

@zxystd you have succeeded in this great undertaking, but will you be able to make airdrop work on intel cards?

zxystd commented 1 year ago

DHCP works! 42569a6fffe46e16eed79a4c545ecbbb 36c07f117142eca1dd03de03d309b3ff

rchunping commented 1 year ago

DHCP works! 42569a6fffe46e16eed79a4c545ecbbb 36c07f117142eca1dd03de03d309b3ff

great!

Daasin commented 1 year ago

@zxystd Forgive me if this counts as off-topic but regarding the changes you made to be on IO80211Family (or skywalk) instead of the legacy family. Would that impact stuff like handover & continuity?

(I know you said you disabled handover by default as of ventura but I'm hoping there's a boot-arg flag that we can set if we don't mind less speed and more instability to get closer to native features 🤞🏽)

And in anycase, thank you for your efforts on this, it truly makes a huge impact on the community and we are very grateful for your work. 🙏🏽

o3p6 commented 1 year ago

zxystd commented 1 year ago

@zxystd Forgive me if this counts as off-topic but regarding the changes you made to be on IO80211Family (or skywalk) instead of the legacy family. Would that impact stuff like handover & continuity?

It won't have an impact, I spoof the skywalk transport layer, not the upper controller layer, so it is also an airport network controller.

(I know you said you disabled handover by default as of ventura but I'm hoping there's a boot-arg flag that we can set if we don't mind less speed and more instability to get closer to native features 🤞🏽)

The continuity feature may be reenable in Sonoma version later, and maybe Ventura also have the chance to use IO80211Family instead of IO80211FamilyLegacy.

And in anycase, thank you for your efforts on this, it truly makes a huge impact on the community and we are very grateful for your work. 🙏🏽

Thank you, it definitely takes me much time...

Lorys89 commented 1 year ago

Great job, when the release of this version to start with testing?

qcTimb3rlandqc commented 1 year ago

Great job, when the release of this version to start with testing?

Never for asking personne

zxystd commented 1 year ago

AirportItlwm-Sonoma-Preview01.zip The first preview version.

Considering this issue is for tracking the dev progress, if you have any issue on the kext or have any suggestions, please go to this issue #896.

Lorys89 commented 1 year ago

AirportItlwm-Sonoma-Preview01.zip The first preview version.

Works great, you're the top💪

maxpicelli commented 1 year ago

Thanks a lot my friend!!! Works fine with AX211 intel!!! It's possible that works Airdrop? I using Fenvi T-1919 together with WIFI6 native from MOBO Gigabyte Aorus Z790. If works Airdrop im retired Fenvi Pcie.

m0d16l14n1 commented 1 year ago

AirportItlwm-Sonoma-Preview01.zip The first preview version.

Great work, @zxystd! I wanted to clarify, will there be a similar test update for Ventura / Monterey and other early systems? Ofc, if it's possible to release that for you. Thanks in advance!