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
Sorry I didn't read it carefully. But for mvm card you could use the ammulder's kext
No I can't. Ammulder's kext doesn't do anything except parsing firmware. That's already done in mine kext as well. But parsing firmware is only about 5% of the result.
 
Joined
Feb 21, 2013
Messages
38
Motherboard
Samsung RC530-S01
CPU
Core i7 2630QM
Graphics
Intel HD Graphics 3000
Mobile Phone
iOS
So your DVM driver will only work for a 2012 or older Intel card?
Exactly. DVM works only for old cards and that's the one I have. Once I finish with DVM I will start figuring out where to get something based on MVM, maybe I'll finally buy new laptop :) While my Samsung still fits me perfectly, it's quite old machine (2011 year). If you want to have MVM support in IntelWifi earlier - feel free to join the coding.

have you seen this? --- https://developer.apple.com/library/archive/referencelibrary/GettingStarted/GS_HardwareDrivers/_index.html

it might help. it has a section about how to port a linux driver to mac osx... i don't have time to read it all
Yep, I've seen this tutorial. Nothing extraordinary. Just briefly explains that for IOKit you use Embedded C++, some recommendations about types and so on.
 
Joined
Feb 21, 2013
Messages
38
Motherboard
Samsung RC530-S01
CPU
Core i7 2630QM
Graphics
Intel HD Graphics 3000
Mobile Phone
iOS
@ydeng, @RehabMan, guys, do you know how does kxld work internally?

My problem is that I get the error
Code:
(kernel) kxld[net.rpeshkov.IntelWifi]: The super class vtable '__ZTV17IO80211Controller' for vtable '__ZTV9IntelWifi' is out of date. Make sure your kext has been built against the correct headers.
when I try to use IO80211Controller in IntelWifi. I use absolutely the same headers that I used in black80211. All necessary methods are implemented. black80211 loads fine, IntelWifi - doesn't load because of errors.

First I thought that the problem is related with my IwlTransOps interface that I implement in IntelWifi, but if I do the same in black80211 - it works, but IntelWifi doesn't work.

I've also tried to cleanup IntelWifi so that it will contain identical overrides of methods that I override in black80211 - still no joy.

I've digged a bit into kxld sources in xnu and found where the error occurs: https://github.com/clemensg/xnu/blob/c307dc218d26e7eaebf54e542f75f642613f2da7/libkern/kxld/kxld_vtable.c#L548

Comment is the following:
Code:
/* 4) If the parent vtable entry is a pad slot, and the child does not
         * match it, then the child was built against a newer version of the
         * libraries, so it is binary-incompatible.
         */
While I understand how the error is defined, I don't get why I get error in first case (IntelWifi) and don't get it in second (black80211) having identical system, headers and dependencies in Info.plist.
 
Joined
May 27, 2016
Messages
86
Mac
iMac
Classic Mac
PowerBook
No multiple inheritance in iokit. You have to embed IwlTransOps in IntelWifi.

>> Hi Hagen,
>>
>> IOKit uses a restricted subset of C++ (based on Embedded C++) as its
>> programming language.
>> The following features of C++ are not allowed in this subset:
>>
>> - exceptions
>> - multiple inheritance (!!!)
>> - templates
>> - RTTI (use OSDynamicCast macro instead)
>>
>> Regards,
>> - Alexander

https://lists.apple.com/archives/darwin-drivers/2010/Jun/msg00020.html
 
Joined
Feb 21, 2013
Messages
38
Motherboard
Samsung RC530-S01
CPU
Core i7 2630QM
Graphics
Intel HD Graphics 3000
Mobile Phone
iOS
No multiple inheritance in iokit. You have to embed IwlTransOps in IntelWifi.

>> Hi Hagen,
>>
>> IOKit uses a restricted subset of C++ (based on Embedded C++) as its
>> programming language.
>> The following features of C++ are not allowed in this subset:
>>
>> - exceptions
>> - multiple inheritance (!!!)
>> - templates
>> - RTTI (use OSDynamicCast macro instead)
>>
>> Regards,
>> - Alexander

https://lists.apple.com/archives/darwin-drivers/2010/Jun/msg00020.html
Hum, that's interesting... I've tried to use multiple inheritance in black80211, because I thought that it was the reason, but black80211 kext was loaded successfully even with multiple inheritance. Ok, I'll try to switch to aggregation.
 
Joined
Mar 31, 2015
Messages
21
Motherboard
Hp 8560p (clover)
CPU
I5 2540m
Graphics
radeon 6470m, 1600x900
Mobile Phone
Android
Hey mate! I just wanted to say great work so far. I have got DVM based Ultimate 6300N and willing to help test anything! Hope this goes well :headbang:
 
Top