Jump to content

Solution for Qualcomm Atheros AR816x, AR817x and Killer E220x


Mieze
 Share

298 posts in this topic

Recommended Posts

I too have an issue with the Kext reporting the BIOS has disabled the NIC. 

Seems like you can't have everything... if I do a chameleon CSM/BIOS boot the NIC works (at least it did when I used ALXEthernet.kext) while changing over to using Clover and UEFI boot I also changed to this kext and now I see this issue. 

Toshiba C850 laptop for what its worth. 

I'm wondering if perhaps the DSDT changes between a BIOS/CSM boot and a UEFI boot causing the NIC to be disabled.

 

So if you can do it try the non-UEFI boot.. maybe it will work.

Link to comment
Share on other sites

  • 2 weeks later...

I could really use this driver on linux. I dont know if its against the forum rules to talk about it because i just signed up lel. But basically the alx driver on linux is not very good and it might not be maintained anymore or much at all. For example wol is "disabled"(removed) because of a minor bug...

  • Like 1
Link to comment
Share on other sites

I could really use this driver on linux. I dont know if its against the forum rules to talk about it because i just signed up lel. But basically the alx driver on linux is not very good and it might not be maintained anymore or much at all. For example wol is "disabled"(removed) because of a minor bug...

 

I would love to see my additions to the driver to be back ported to the underlying Linux driver.

 

Mieze  :cat:

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

This Kext it Works On Yosemite 10.10.2 for Ethernet Atheros 8172??

 

Because follow the guide i don't find the kext called ALXEthernet.kext.

 

So i Skip to step # 5 and finish the guide, when i reboot i see my interface Ethernet i configured manually or DHCP But i remain "Not Connected"

 

Why??

 

I Just Copy the file in /System/Library/Extension and RebuildCache with DCPI Manager and i get this error:

 

https://www.dropbox.com/s/63fzckwfekuwcvx/error%20kext%20ethernet.jpg?dl=0

Link to comment
Share on other sites

This Kext it Works On Yosemite 10.10.2 for Ethernet Atheros 8172??

 

Because follow the guide i don't find the kext called ALXEthernet.kext.

 

So i Skip to step # 5 and finish the guide, when i reboot i see my interface Ethernet i configured manually or DHCP But i remain "Not Connected"

 

Why??

 

I Just Copy the file in /System/Library/Extension and RebuildCache with DCPI Manager and i get this error:

 

https://www.dropbox.com/s/63fzckwfekuwcvx/error%20kext%20ethernet.jpg?dl=0

 

The error message explaines that is wrong. Use Kext Wizard or any other tool to install it properly.

 

Mieze

Link to comment
Share on other sites

I'm currently working on a driver update and might have found a solution for the disabled NIC problem. In case you are affected and willing to run some tests, please let me know via PM and I'll send you the latest development version.

 

Mieze

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

Tested out the version mentioned above (thanks!) here are some details.

Note this is a Toshiba C850 that was having the error of the NIC being disabled by the BIOS when it was actually enabled by the BIOS.

Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: Found AR8162.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: PCI power management capabilities: 0xf9c3.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: PME# from D3 (cold/hot) supported.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: PCIe link capabilities: 0x0007fc11, link control: 0x0142.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: PCIe ASPM enabled.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: TCP/IPv4 segmentation offload enabled.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: TCP/IPv6 segmentation offload enabled.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: TCP/IPv6 checksum offload enabled.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: Got MAC address from efuse.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: AR8162: (Rev. 16) at 0xffffff81211e5000,  0:8c:fa:2d:5c:5b
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: Version 1.0.1 using max interrupt rate 5000.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: MSI interrupt index: 1
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: kIOEthernetWakeOnMagicPacket added to filters.
Feb 23 12:55:32 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: Already in power state 1.
Feb 23 12:55:35 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: No medium selected. Falling back to autonegotiation.
Feb 23 12:55:35 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: Link down on en2
Feb 23 12:55:35 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: Restored PCI command register.
Feb 23 12:56:41 Elizabeths-MacBook-Pro kernel[0]: Ethernet [AtherosE2200]: Link up on en2, 100-Megabit, Full-duplex, Rx/Tx flow-control

post-176965-0-70676900-1424720143_thumb.png

post-176965-0-03948500-1424720157_thumb.png

post-176965-0-15373400-1424720177_thumb.png

post-176965-0-84838800-1424720190_thumb.png

post-176965-0-17021600-1424720215_thumb.png

post-176965-0-63578700-1424720245_thumb.png

Elizabeth’s MacBook Pro-working-atheros-LAN.zip

Link to comment
Share on other sites

After receiving 2 positive feedbacks I decided to make version 1.0.1 of the driver available for a public test (prebuilt debug binary included). Here is a list of changes:

  • Reworked media selection and improved flow control support.
  • Solved the "NIC disabled by BIOS" issue.

Good luck!

 

Mieze  :cat:

AtherosE2200Ethernet-V1.0.1d1.zip

  • Like 4
Link to comment
Share on other sites

I updated the prebuilt binary in the Download section of this site and pushed the source to GitHub this evening.

 

Have fun!

 

Mieze  :cat:

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

Hi Mieze,

 

First of all, I'd like to thank you for this great job.

 

I also would like to report you an issue I'm facing with the Gigabyte Z97X-Gaming3, which has the Atheros Killer LAN chip. The network interface suddenly stop working every time it is under heavy load for a while. I found your driver due to this issue and after its installation (using kext utility), the interface still dies under heavy load but it seems to be less frequent.

The workstation in running MacOS 10.10.2 with Avid Media Composer. Is there something else I can try from this side?

 

 

Thanks in advance,

 

Danilo

Link to comment
Share on other sites

Does Wake on Lan from power-off state work? I have a ASRock H97M-ITX/ac with AR8171 and waking from power-off doesn't seem to work. Waking from sleep does work though.

Here's my kernel log if needed:

Mar 20 21:21:59 [redacted] com.apple.kextcache[343]: kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext AtherosE2200Ethernet.kext
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: Found AR8171.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: PCI power management capabilities: 0xf9c3.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: PME# from D3 (cold/hot) supported.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: PCIe link capabilities: 0x0007fc11, link control: 0x0040.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: TCP/IPv4 segmentation offload enabled.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: TCP/IPv6 segmentation offload enabled.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: TCP/IPv6 checksum offload enabled.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: Got MAC address from efuse.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: AR8171: (Rev. 16) at 0xffffff80a4590000, [redacted]
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: Version 1.0.1 using max interrupt rate 5000.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: MSI interrupt index: 1
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: kIOEthernetWakeOnMagicPacket added to filters.
Mar 20 21:22:38 localhost kernel[0]: Ethernet [AtherosE2200]: Already in power state 1.
Mar 20 21:22:41 localhost kernel[0]: Ethernet [AtherosE2200]: No medium selected. Falling back to autonegotiation.
Mar 20 21:22:41 localhost kernel[0]: Ethernet [AtherosE2200]: Link down on en0
Mar 20 21:22:41 localhost kernel[0]: Ethernet [AtherosE2200]: Restored PCI command register.
Mar 20 21:22:43 [redacted] kernel[0]: Ethernet [AtherosE2200]: Link up on en0, 1-Gigabit, Full-duplex, Rx/Tx flow-control
Link to comment
Share on other sites

 

Does Wake on Lan from power-off state work?

 

No, it's unsupported because OS X doesn't support WoL from S5 (power-off) so that there is no clean way to implement it.

 

Mieze

Link to comment
Share on other sites

@Mussolini: I'm still waiting for your kernel logs. Please note that the driver has a built-in watchdog timer. In case it gets stuck it automatically resets the chip and reestablishes the connection. If you are loosing network connectivity permanently, e. g. the issue doesn't resolve itself, a driver problem is unlikely. You might be affected of the infamous Yosemite bug which causes loss of network connectivity sometimes.

 

Mieze

Link to comment
Share on other sites

@Mussolini: I'm still waiting for your kernel logs. Please note that the driver has a built-in watchdog timer. In case it gets stuck it automatically resets the chip and reestablishes the connection. If you are loosing network connectivity permanently, e. g. the issue doesn't resolve itself, a driver problem is unlikely. You might be affected of the infamous Yosemite bug which causes loss of network connectivity sometimes.

 

Mieze

 

Hi Mieze, sorry for the delay! Too busy these days...  :(

 

Well, the workstations are in production for 3 days and we didn't get the problem anymore! I should send you the logs preferably when the error happens, right?

 

Yes, we loose the connectivity permanently when this happen, so I need to restart the machine to get it back.

 

A Yosemite bug is really interesting, I've never read something about this. I'll try to find out something.

 

 

Thanks for getting back.

 

 

Best,

 

Danilo

Link to comment
Share on other sites

Hi Mieze, sorry for the delay! Too busy these days...   :(

 

Well, the workstations are in production for 3 days and we didn't get the problem anymore! I should send you the logs preferably when the error happens, right?

 

Yes, we loose the connectivity permanently when this happen, so I need to restart the machine to get it back.

 

A Yosemite bug is really interesting, I've never read something about this. I'll try to find out something.

Yes, I need log data which shows the incident in order to find out what happened.

 

Since 10.10 Mac users keep complaining about lost network connectivity. Apple promised a fix for 10.10.2 but the bug reports continue.

 

Mieze

Link to comment
Share on other sites

Yes, I need log data which shows the incident in order to find out what happened.

 

Since 10.10 Mac users keep complaining about lost network connectivity. Apple promised a fix for 10.10.2 but the bug reports continue.

 

Mieze

Having the same problem with a Gigabyte Z97X Gaming 7. Unloading and loading the module seems to fix it until the next sleep or shutdown. Here are my logs of it.

 

For driver v. 1.0:

 

Sandbox: storeuid(375) deny mach-lookup com.apple.dock.server
PM response took 1807 ms (27, powerd)
Failed to get hibernate image filename
Ethernet [AtherosE2200]: Link down on en0
         0 [Time 1418091115] [Message Wake reason: GLAN XHC
Previous sleep cause: 5
USBF:    1203.120    AppleUSBXHCI: setPowerState - PCI device still has PME stat
us bit set. PMCSR is 0x8108
The USB device USB Optical Mouse (Port 6 of Hub at 0x14000000) may have caused a
 wake by issuing a remote wakeup (2)
full wake promotion (reason 1) 3 ms
Ethernet [AtherosE2200]: Link up on en0, 100-Megabit, Full-duplex, Rx/Tx flow-co
ntrol
PM response took 769 ms (27, powerd)
Ethernet [AtherosE2200]: Tx stalled? Resetting chipset. ISR=0xffffffff, IMR=0xff
ffffff.
Sandbox: storeuid(375) deny mach-lookup com.apple.dock.server

 

driver v. 1.0.1 (the connection came back up at the end since I manually reloaded the module):

 

Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3510010
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3408010
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3608010
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3408010
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3608010
BUG in process suhelperd[973]: over-released legacy external boost assertions (1 total, 1 external, 0 legacy-external)
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3400011
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3408010
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3608010
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3608010
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3500011
Ethernet [AtherosE2200]: Alert interrupt. ISR=0x3500009
Ethernet [AtherosE2200]: Link down on en0
Ethernet [AtherosE2200]: TCP/IPv4 segmentation offload enabled.
Ethernet [AtherosE2200]: TCP/IPv6 segmentation offload enabled.
Ethernet [AtherosE2200]: TCP/IPv6 checksum offload enabled.
Ethernet [AtherosE2200]: Killer E2200: (Rev. 16) at 0xffffff811aa5d000, fc:aa:14:25:88:90
Ethernet [AtherosE2200]: Version 1.0.1 using max interrupt rate 5000.
en0: attached with 4 suspended link-layer multicast membership(s)
Ethernet [AtherosE2200]: Link down on en0
en0: successfully restored 4 suspended link-layer multicast membership(s) (err=0)
Ethernet [AtherosE2200]: Link up on en0, 100-Megabit, Full-duplex, Rx/Tx flow-control
Link to comment
Share on other sites

@MadMax3947: At first glance it looks like a sleep/wake problem because the NIC doesn't seem to wake up properly. Maybe a DSDT related problem? Anyway use the debug version of the driver and send me the log data again, this time with the time stamps of the entries included as they are important for me too.

 

Mieze

Link to comment
Share on other sites

@MadMax3947: At first glance it looks like a sleep/wake problem because the NIC doesn't seem to wake up properly. Maybe a DSDT related problem? Anyway use the debug version of the driver and send me the log data again, this time with the time stamps of the entries included as they are important for me too.

 

Mieze

Haven't had a chance to use the debug version, and it may be a few days before I catch this issue again, but here is a log of a drop with timestamps if that helps (v. 1.0.1, release build). The driver was reloaded at 10:58:04. Also, I am using Clover without a custom DSDT.

droplog.txt

Link to comment
Share on other sites

 @MadMax3947: Frankly, I don't think that there is a driver bug but something outside of the driver seems to shut down the NIC which causes the driver to hang because read operations return 0xffffffff when the PCIe device is no longer accessible as in the log message below.

Mar 24 23:08:21 Mac-Pro kernel[0]: Ethernet [AtherosE2200]: Tx stalled? Resetting chipset. ISR=0xffffffff, IMR=0xffffffff.

The reason why I am so sure is that you are using the same NIC as I do for development and I never had an issue since release of version 1.0.0d7 (7 month).

 

Please take a look at the BIOS settings and make sure that network boot and the UEFI network stack is disabled. You'll have to find out what is disabling the NIC in order to prevent the issue.

 

Mieze

  • Like 1
Link to comment
Share on other sites

 @MadMax3947: Frankly, I don't think that there is a driver bug but something outside of the driver seems to shut down the NIC which causes the driver to hang because read operations return 0xffffffff when the PCIe device is no longer accessible as in the log message below.

Mar 24 23:08:21 Mac-Pro kernel[0]: Ethernet [AtherosE2200]: Tx stalled? Resetting chipset. ISR=0xffffffff, IMR=0xffffffff.

The reason why I am so sure is that you are using the same NIC as I do for development and I never had an issue since release of version 1.0.0d7 (7 month).

 

Please take a look at the BIOS settings and make sure that network boot and the UEFI network stack is disabled. You'll have to find out what is disabling the NIC in order to prevent the issue.

 

Mieze

 

Any ideas where to look for whatever might be disabling the NIC? I have confirmed that network boot and the UEFI network stack are disabled. Also, I have no problems with the NIC with Windows, so I'm thinking this may be a software rather than BIOS issue (maybe something besides your driver is trying to access the NIC).

Link to comment
Share on other sites

Any ideas where to look for whatever might be disabling the NIC? I have confirmed that network boot and the UEFI network stack are disabled. Also, I have no problems with the NIC with Windows, so I'm thinking this may be a software rather than BIOS issue (maybe something besides your driver is trying to access the NIC).

 

The Windows driver developer had one advantage: full access to all information regarding the chips, which is something I don't have. By the way, are you using a beta BIOS? Gigabyte seems to do strange things with the NICs in their BIOSes and I recently had a guy who experienced such a problem with a Realtek NIC on a Gigabyte board. Downgrading solved the issue. See for yourself: http://www.insanelymac.com/forum/topic/287161-new-driver-for-realtek-rtl8111/?p=2123485

 

Mieze

Link to comment
Share on other sites

Here is version 2.0.0d1 of the driver which uses Apple's private driver interface and supports packet scheduling with QFQ preventing loss of network connectivity due to congestion which seems to be a common problem on Yosemite. I'm using this driver on my server for several days now and can confirm that it is working as expected.

 

Mieze

AtherosE2200Ethernet-V2.0.0d1.zip

  • Like 4
Link to comment
Share on other sites

Two options that cause issues with the Windows driver for the E2201 are ARP offload and NS offload but incorrectly are attributed to IPv6 or software managed QOS/Bandwidth limits.

Link to comment
Share on other sites

 Share

×
×
  • Create New...