Open vit9696 opened 3 years ago
That document also present on a different revision here came back in my mind when I was looking for additional info in an Atheros card (more info on that at the end).
I already started translating the Google drive sheet, but if the info on the original made by Skvo doesn't have the problems which affect the Google drive sheet, I can apply the changes from an already trusted source.
It's worth to mention that I can maintain the new sheet, and I could provide my experience only with the WiFi cards I've tested myself, such as:
14e4:43a0
which is the same device-id
of the card have in my deskop, Fenvi T919, so I won't duplicate that, but it's worth to mention it somewhere since that is the commercial name of the card and users might think they're different cardsFrom my perspective, I can tell only the state of support of the Wi-Fi cards I've worked with and a couple more (like the Intel 3165 with itlwm.kext
) but a lot of additional info like Bluetooth behaviour has to come from the end users.
For that matter, a Google drive document might not be the best choice for usability, since this extensive and detailed documentation has to be treated as AppleALC codecs support where there are a gigazillion of codecs and users can easily contribute with a PR which is later approved by the team.
To accomplish this we should advice all users from forums to collect the required data, either by opening a topic on insanelymac and applelife that redirects users to open pull requests on the Wireless buyers guide for the extensive information (for cards are quite revision dependent) and where the team can check the reported data from a given card, e.g. the DW1830, the DW1820A and its flaws.
The main resource for Wireless documentation must be the buyers guide, since the excel document might have its limitations on the available data, about that I think it's best to provide a template to populate the excel document with the necessary data to document a card for example:
Data Type | Value |
---|---|
Commercial name | Fenvi T919 |
Card model | BCM94360CD |
Card device-id | 14e4:43a0 |
Device-id Spoof required | No |
Card Form factor | PCIe X1 |
2.4 GHz Speed | 450Mbps |
5 GHz Speed | 1300Mbps |
802.11 Support | a/b/g/n/ac |
Bluetooth version | 4.0 |
Is BcrmPatchRAM required | No |
Is ExtendBTFeatureFlags required | No |
Antennas max count | 4 |
Minimum macOS support (no patches) | 10.12? |
Maximum macOS support (no patches) | Current |
Additional kexts/injectors required from AirportBrcmFixup | No |
Notes:
Data Type | Value |
---|---|
Device-id Spoof required | Yes, <"vendor:device-id">, <"compatible", "device-id in little endian"> |
itlwm.kext
has the following limitations:
AirportItlwm.kext
has the following limitations:
Atheros AR5B95
(pci168c,002b
)
IO802Family.kext
, but plugins like AirPortAtheros40.kext
is present in OpenCore docs with a different link and I don't actually know what could be the difference, if they're the same, or if one approach (loading the kext) is preferred over the other (loading IO80211HighSierra + AirportAtheros40.kext as a plugin)AR5B95
is present, but it has a different device-id
: pci168,002b which is not included, at first I thought spoofing if it makes sense, and if that's true, what would be the preferred choice, e.g. 002a on what basis?
device-id
or just trash that card? :P)Sorry for the long read, let me know your thoughts when you can
Hi,
If this sounds good enough, it would be great if you start. I am generally fine with the format, but I guess it will help to see some results in case anything else comes to our minds.
If this sounds good enough, it would be great if you start. I am generally fine with the format, but I guess it will help to see some results in case anything else comes to our minds.
@vit9696
I've made a table with the data which came from the original google docs document (draft only, just as an example)
https://github.com/1alessandro1/Wireless-Compatibilty-Chart-for-macOS/blob/main/Chart.md
But from my point of view it's uneditable from markdown format (I can easily get lost when edititing a cell from the raw .md
file)
I'll keep the google docs document here, and maybe convert it once it's corrected from there. For other users input, I still cannot find a good version control system that keeps the interface usable, for now users can open issues in the repository where the markdown is located, https://github.com/1alessandro1/Wireless-Compatibilty-Chart-for-macOS/issues to help me correcting their cards.
Makes sense. Could you add a column regarding Bluetooth support? Should mostly be easy to google out.
So with OpenCore Legacy Patcher, we have all wireless modules from 2008 Macs+ working quite nicely. I'll give a break down on our patch set. Note that for Atheros, BCM94322 and BCM94328 do not have Bluetooth modules integrated on genuine Macs
# Native Wireless Modules
BCM4360Wifi = [
"43BA", # BCM43602
"43A3", # BCM4350
"43A0", # BCM4360
]
# Modules that simply require a fake ID to a BCM94360 for Big Sur+ support
BCM94331Wifi = [
"4331", # BCM94331
"4353", # BCM943224
]
# Modules that rely on IO80211Mojave for Catalina+ support
BCM94322Wifi = [
"432B", # BCM94322
]
# Modules that rely on IO80211ElCap for Sierra+ support
BCM94328Wifi = [
"4311", # BCM4311 - never used by Apple
"4312", # BCM4311 - never used by Apple
"4313", # BCM4311 - never used by Apple
"4318", # BCM4318 - never used by Apple
"4319", # BCM4318 - never used by Apple
"431A", # Unknown - never used by Apple
"4320", # BCM4306 - never used by Apple
"4324", # BCM4309 - never used by Apple
"4325", # BCM4306 - never used by Apple
"4328", # BCM94328
"432C", # BCM4322 - never used by Apple
"432D", # BCM4322 - never used by Apple
]
# Modules that rely on IO80211HighSierra for Mojave+ support
AtherosWifi = [
"0030", # AR93xx
"002A", # AR928X
"001C", # AR242x / AR542x
"0023", # AR5416 - never used by Apple
"0024", # AR5418
]
Regarding a proper format, I think the best idea is storing it in version control as a CSV (so you can edit with your favorite editors) and then converting it to Markdown where appropriate (ie. for the guides).
Regarding a proper format, I think the best idea is storing it in version control as a CSV (so you can edit with your favorite editors) and then converting it to Markdown where appropriate (ie. for the guides).
@dhinakg thanks for the tip, PR are welcome once the csv is editable from everyone, I exported the latest version in my repository here
Makes sense. Could you add a column regarding Bluetooth support? Should mostly be easy to google out.
@vit9696 Done, I'd like to know your opinion on the new columns, you can check either the csv or the google drive doc, they are in synch, any advice is appreciated
I'll give a break down on our patch set.
@khronokernel is there a lower limit for any of the broadcom cards? I suppose that the BCM94360NG is not compatible with 10.6, but requires at least 10.12? I need to know the lower limit too for every Wireless kext (hence in which macOS version it was introduced, for example the BCM94360CD - Fenvi T919 was approved by FCC February 8, 2013 does this mean that the next OSX release already includes that kext - 10.9?)
Also, regarding the Atheros
support, some cards in the Wireless buyers guide are marked as compatible, but their device-ids are not included in the list provided in the Readme of IO80211-Patches, that's the case of the AR5B95
, what should be done in this case? Should I load IO80211-HighSierra
and the relative plugin, AirportAtheros_40
, plug the card and pray 😆 ?
Hi @1alessandro1,
The mistakes I spotted:
For the Intel cards I suggest using yellow, and using the AirportItlwm as a value for 10.13+ and itlwm as a value for older versions instead of YES. This is more practical. Perhaps 10.13+ and <10.13 yellow colours should also be different, as the experience with AirportItlwm is reasonably better than itlwm, but it is still far from a native card feature-wise.
As for the BT column, in my opinion, you would want a separate column for the device-id and a status column with colouring. Green for native BT, yellow for BrcmPatchRAM solutions, which can have either BrcmPatchRAM+FW
or BrcmPatchRAM
values. The latter means BrcmPatchRAM needs to spoof the identifier, and the former means that it also needs to load the firmware.
It is unclear to me what Force IO80211Family
means, looks like garbage at a glance. Is it about prelinking support? If so, the issue is not with Catalina but rather with installing macOS without a Wi-Fi card, and then not running sudo touch /System/Library/Extensions
to add the kext to the cache after installing the card. Enabling secure boot should also workaround such a problem.
Regarding Broadcom driver support the support really varies over the macOS versions. You can check https://github.com/khronokernel/Apple-Kext-Clone. It has IO80211Family.kext, where you can find the relevant Info.plists and check if the card is supported. For 10.6 I attached the IO80211Family below. IO80211Family-10.6.8.zip
Hi Vit, thanks for checking it out
For the T919, I've read that Fenvi advertises its card for 1750Mbit/s
which could be the result of the sum 1300 + 450, so I looked online for some additional info and 450Mb/s for 2.4 was plausible under ideal contitions, so I opted out for 450 before, now it's set to 300Mb/s
It is unclear to me what
Force IO80211Family
means, looks like garbage at a glance
For the Force IO80211Family
(in BCM94331xxx chipsets) I meant two things, first that device ids dropped in e.g. Big Sur/Catalina as the Wireless Buyers Guide reports (the second one coming at the end of the message)
Regarding Broadcom driver support the support really varies over the macOS versions. You can check https://github.com/khronokernel/Apple-Kext-Clone. It has IO80211Family.kext, where you can find the relevant Info.plists and check if the card is supported. For 10.6 I attached the IO80211Family below. IO80211Family-10.6.8.zip
I'm going to have a look into that, thanks for pointing it out
If a given OS does not include a device-id, should I write Device id spoof to [other model]
what if the card was completely dropped?
[11]
AirPortBrcm4360: removed
AirPortBrcm4331: removed
AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400
AirPortBrcmNIC-MFG: removed
In macOS 11, I suppose that older chipsets require the missing kexts to be loaded manually (hence the improper Force IO80211Family
but I meant to load a kext from an older macOS version)
Is my hypotesis correct?
For the Force IO80211Family (in BCM94331xxx chipsets) I meant two things, first that device ids dropped in e.g. Big Sur/Catalina as the Wireless Buyers Guide reports (the second one coming at the end of the message)
Force
is there to avoid prelinkedkernel
not having IO80211. An alternative is to enable secure boot. However, this can happen with any device, so I do not get why this device has it written specifically. I would opt with dropping this part from the chart and from the guide, but including somewhere below in the troubleshooting part. For the chart you should just write DeviceID spoof. CC @dhinakg @khronokernel
If a given OS does not include a device-id, should I write Device id spoof to [other model] what if the card was completely dropped?
Google, if there are success reports, then yes. If there are none, then write either unsupported or unknown.
In macOS 11, I suppose that older chipsets require the missing kexts to be loaded manually (hence the improper Force IO80211Family but I meant to load a kext from an older macOS version) Is my hypotesis correct?
I think only @khronokernel or @dhinakg can answer that. I don't know.
I found dealing with individual models very time consuming, since every device has to be googled for its peculiarities, but for now, I've compiled a new sheet extracting the native device-ids (hence no Device-id fix/Quirk is reported) for every macOS version:
https://docs.google.com/spreadsheets/d/1CNrDxBsmCbCTL_y9ZB7m3q3jHw5X2N8YaYb7IonQ3MI/edit?usp=sharing
This can be a good starting point, and for Intel, I suggest the end user to check OpenIntelWireless docs for now since the device-ids/models/speeds are really a ton of data, and the only thing one should take into account is that he can use itlwm.kext
for 10.9+ (with Heliport) and AirportItlwm.kext
for 10.13+, ensuring the device is present in this list
Let me know your thoughts, cc @khronokernel @dhinakg @vit9696
Today I added to the sheets file additional info for Intel wireless device-ids, for reference I used the docs and inspected the source code of OpenIntelWireless/itlwm to find all the supported device-ids.
Hyperlinks were put at the beginning of each new block of WiFi cards, here's where they were taken from:
Added support for macOS 12 IDs.
Seems like now Broadcom cards are not included in IO80211Family.kext
but IO80211FamilyLegacy.kext
, where users can find AirportBrcmNIC.kext
with the same IDs as those which can be found in macOS 11.
p.s. Apple likes to drop support for stuff so easily these days.
I found dealing with individual models very time consuming, since every device has to be googled for its peculiarities, but for now, I've compiled a new sheet extracting the native device-ids (hence no Device-id fix/Quirk is reported) for every macOS version:
https://docs.google.com/spreadsheets/d/1CNrDxBsmCbCTL_y9ZB7m3q3jHw5X2N8YaYb7IonQ3MI/edit?usp=sharing
This can be a good starting point, and for Intel, I suggest the end user to check OpenIntelWireless docs for now since the device-ids/models/speeds are really a ton of data, and the only thing one should take into account is that he can use
itlwm.kext
for 10.9+ (with Heliport) andAirportItlwm.kext
for 10.13+, ensuring the device is present in this listLet me know your thoughts, cc @khronokernel @dhinakg @vit9696
In the table that @1alessandro1 linked, I noticed that some device-ids introduced in Yosemite, such as 14e4:4353
, are supported both from AirPort4331 and AirPort4360. Which one of them is effectively used to support such cards? Is there any kind of priority?
In addition to that, to obtain Atheros support on newer OSs (such as Big Sur) should we load just AirportAtheros40
or the whole IO80211Family
+AirportAtheros40
(IO80211Family took from High Sierra 10.13.6 and properly patched)?
What are your thoughts on that?
cc @khronokernel @dhinakg @vit9696
Many thanks and have a nice day
Guide: Wireless Buyers Guide (link)
At least some people here remember a table made by Skvo, which outlined Wi-Fi compatibility (https://github.com/acidanthera/bugtracker/issues/1629#issuecomment-833034654). This table was an intuitive way to see which Wi-Fi card is supported natively and which Wi-Fi card required
device-id
spoofing. It also lists the compatible macOS versions Wi-Fi protocol support.Unfortunately at this time the table is rather outdated, and all the alternatives we have seen or been linked to (see the link above for an example) contain multiple errors or are simply misleading. For example, the one in question has the following errors at the very least:
device-id
fix, this is nonsense, they require AirportItlwm.device-id
fix again, in reality they require kext installation or a godzillion of patches on older macOS versions.I suggest us build a new version of the table that can be maintained on community basis and have much less errors compared to the tables that exist now and more information in a convenient form compared to Dortania guides.
@1alessandro1, since you started the matter, would you like to build a new table correcting the issues that I listed and taking the original Skvo table into account. This could give us a base, so that @Andrey1970AppleLife would review it and request more corrections. Afterwards we could put it somewhere like this Dortania guide.