Contribute
Register

Intel WiFi Driver Effort

Joined
Feb 21, 2013
Messages
38
Motherboard
Samsung RC530-S01
CPU
Core i7 2630QM
Graphics
Intel HD Graphics 3000
Mobile Phone
iOS
Hi guys!

Small update. I (finally!) managed how to provide scan results to 80211 stack of MacOS. Here's screenshot:
upload_2018-7-5_0-31-2.png


upload_2018-7-5_0-37-53.png


Name of the network here is the one from my router. I just grabbed all the information from beacon via Wireshark.

It took me quite a long time to figure out why I don't see any results while I was providing it correctly. A couple of days ago I found out that it's possible to enable airport logging that's very useful and showed me that during scan, no matter what result I return, it was thinking that device is busy. This comes from the fact that if you implement some of IOCTL calls to return valid result, airport will be thinking that you're trying to associate with the network.

So, the next step I'll take is merging part of black80211 codebase into IntelWifi. Since IntelWifi is able to receive beacon frames from outside world, the result should be quite interesting: it will be possible to see the networks that you have nearby in Network preferences.

P.S. Previously I was going to implement KDP for Realtek8111 for easier debugging of my kexts, but finally I realised that it will take a lot of time because I need to understand in details how Realtek Ethernet devices work. Since KDP activates only when kernel is in panic, I'm absolutely blind, because in kernel panic system is absolutely unresponsive and the only way to check that you're succeeded in implementation is to try to connect to machine with debugger. Connected - you've done everything right. Not connected - something is wrong, what's wrong? - something somewhere. So, for now I decided to postpone this work till better times.
 
Last edited:
Joined
Sep 11, 2012
Messages
47
Motherboard
GA H370N-Wifi
CPU
i7 8700
Graphics
RX 580
Mac
MacBook Air
Mobile Phone
Android, iOS
Hi guys!

Small update. I (finally!) managed how to provide scan results to 80211 stack of MacOS. Here's screenshot:
View attachment 339244

View attachment 339246

Name of the network here is the one from my router. I just grabbed all the information from beacon via Wireshark.

It took me quite a long time to figure out why I don't see any results while I was providing it correctly. A couple of days ago I found out that it's possible to enable airport logging that's very useful and showed me that during scan, no matter what result I return, it was thinking that device is busy. This comes from the fact that if you implement some of IOCTL calls to return valid result, airport will be thinking that you're trying to associate with the network.

So, the next step I'll take is merging part of black80211 codebase into IntelWifi. Since IntelWifi is able to receive beacon frames from outside world, the result should be quite interesting: it will be possible to see the networks that you have nearby in Network preferences.

P.S. Previously I was going to implement KDP for Realtek8111 for easier debugging of my kexts, but finally I realised that it will take a lot of time because I need to understand in details how Realtek Ethernet devices work. Since KDP activates only when kernel is in panic, I'm absolutely blind, because in kernel panic system is absolutely unresponsive and the only way to check that you're succeeded in implementation is to try to connect to machine with debugger. Connected - you've done everything right. Not connected - something is wrong, what's wrong? - something somewhere. So, for now I decided to postpone this work till better times.
Amazing work! :)
 
Joined
May 27, 2016
Messages
87
Motherboard
Asus x99 Delux II
CPU
i7 6950
Graphics
Radeon VII
Mac
iMac
Classic Mac
PowerBook
Good progress. At what point do you need Apple80211Interface?
I never tested the reversed Apple80211Interface header. Most likely it does not work.

Hi guys!

Small update. I (finally!) managed how to provide scan results to 80211 stack of MacOS. Here's screenshot:
View attachment 339244

View attachment 339246

Name of the network here is the one from my router. I just grabbed all the information from beacon via Wireshark.

It took me quite a long time to figure out why I don't see any results while I was providing it correctly. A couple of days ago I found out that it's possible to enable airport logging that's very useful and showed me that during scan, no matter what result I return, it was thinking that device is busy. This comes from the fact that if you implement some of IOCTL calls to return valid result, airport will be thinking that you're trying to associate with the network.

So, the next step I'll take is merging part of black80211 codebase into IntelWifi. Since IntelWifi is able to receive beacon frames from outside world, the result should be quite interesting: it will be possible to see the networks that you have nearby in Network preferences.

P.S. Previously I was going to implement KDP for Realtek8111 for easier debugging of my kexts, but finally I realised that it will take a lot of time because I need to understand in details how Realtek Ethernet devices work. Since KDP activates only when kernel is in panic, I'm absolutely blind, because in kernel panic system is absolutely unresponsive and the only way to check that you're succeeded in implementation is to try to connect to machine with debugger. Connected - you've done everything right. Not connected - something is wrong, what's wrong? - something somewhere. So, for now I decided to postpone this work till better times.
 
Joined
Feb 21, 2013
Messages
38
Motherboard
Samsung RC530-S01
CPU
Core i7 2630QM
Graphics
Intel HD Graphics 3000
Mobile Phone
iOS
Good progress. At what point do you need Apple80211Interface?
I never tested the reversed Apple80211Interface header. Most likely it does not work.
I'm actually not 100% sure if I will need something more than IOEthernetInterface provide. Since IO80211Interface inherits from IOEthernetInterface, their main methods like throwing some frame into network stack are the same and that means that methods' signatures are the same as well.

Regarding the time - hope to get some results in 2-3 weeks.
 
Joined
Feb 21, 2013
Messages
38
Motherboard
Samsung RC530-S01
CPU
Core i7 2630QM
Graphics
Intel HD Graphics 3000
Mobile Phone
iOS
Great work black_wizard!

I have a 10.12.6 install here with Intel AC7260 wifi that can help test.
I'm afraid that I will disappoint you a bit, but your card is MVM based. Here's the link about adapters and kernel module that implements it support: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware.

Regarding MVM there are 2 problems:
1. I didn't even start implementation for MVM.
2. I don't have MVM card to start implementation.

That basically means that I have no idea when I will implement something useful for MVM cards in IntelWifi.
 
Joined
Nov 25, 2016
Messages
2
I'm afraid that I will disappoint you a bit, but your card is MVM based.
Thank you for the info. I do already have a USB wifi dongle here and a Dell DW1560 m.2 on order, so no big issue.

Regardless - hoping you can make this work. Maybe eventually other unsupported wifi can be added by the community, based on your github code. Good luck!
 
Joined
Jul 1, 2018
Messages
22
Motherboard
Asus fx503vd
CPU
i7 7700HQ
Graphics
intel HD 630 + Nvidia 1050 (1920 x 1080)
Mobile Phone
Android
I'm afraid that I will disappoint you a bit, but your card is MVM based. Here's the link about adapters and kernel module that implements it support: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware.

Regarding MVM there are 2 problems:
1. I didn't even start implementation for MVM.
2. I don't have MVM card to start implementation.

That basically means that I have no idea when I will implement something useful for MVM cards in IntelWifi.
Wow amazing work. Any chance for Intel ac 7265?
 
Joined
Jul 1, 2018
Messages
22
Motherboard
Asus fx503vd
CPU
i7 7700HQ
Graphics
intel HD 630 + Nvidia 1050 (1920 x 1080)
Mobile Phone
Android
Carefully read the post you replied to. There's an answer.
Sorry I didn't read it carefully. But for mvm card you could use the ammulder's kext
 
Top