Jump to content
hnak

AppleIntelE1000e.kext for 10.8/10.7/10.6/10.5

768 posts in this topic

Recommended Posts

Advertisement

I forgot to add those new ID values in my last change. I uploaded the new build.

I hope mbuf leak problem is alleviated, too.

 

I wanna kiss you right now!! :D Thanks a lot man!!

Share this post


Link to post
Share on other sites

total noob here but trying to get large transfers to work using this kext....

 

does this look right? have just installed newest version and was checking over the info.plist 

<key>IOProviderClass</key><string>IOPCIDevice</string>
<key>NETIF_F_TSO</key>
<true/>
</dict>

should that be in a <string> ?

 

Share this post


Link to post
Share on other sites

I did it..

Same error -36

 

I also moved to cifs smb protocol 1.0.. same error over 8gb

Share this post


Link to post
Share on other sites

No version past 2.4.14 can print to airport-connected network printer. Print job just hangs.

It's probably caused by broken outgoing UDP.

Share this post


Link to post
Share on other sites

Hello,

 

Is diddl14's Wake on Lan improvement integrated with the latest release of the driver ?

 

I would have tested the modified kext, but the url does not work anymore.

 

Can someone post it to give a try ?

 

Thanks,

 

Romain

Share this post


Link to post
Share on other sites

Hello hnak,

I've just installed AppleIntelE1000e driver and observe when I copy large set of files from one hackintosh to another I've got driver crash.

It happens only when I copy files via SMB from my hackintosh to macbook and not happens when I copy files to Windows PC. Also it doesn't happen when I copy files from macbook to hackintosh.

 

While I copy file from my hackintosh to macbook I got log entry:

e1000_tx_map: failed to getphysicalsegment.

And when driver crash: 

AppleIntelE1000e(Err): Detected Hardware Unit Hang:

 

Also I'm viewing the forum and not seeing any problems at all. It seems only happens with SMB connection while transmitting file to another mac.

 

My System Configuration:

OS: Mac OX X 10.9.3, No DSDT

MB: Asus Sabertooth Z77 (Intel® 82579V)

CPU: Intel Core i5 3570K

Video: Gtx 670 2GB

Storage: 128Gb SSD Plextor, 1.5TB HDD Seagate (I copied from both drives, the same result)  

Driver version: 3.0.1 (2014/6/26)

 

Macbook Configuration:

Mac OS X 10.9.3

Macbook Pro Retina Late 2013 13" 128GB SSD

 

Could you investigate this issue.

 

Thanks.

 

You could see my system log in attachment. If you'll need additional tests or traces please let me know.

AppleIntel1000eHang.txt

Share this post


Link to post
Share on other sites

I have the same problem as k1x0r, except that:

 

The errors are for any protocol (not just SMB or AFP).  In particular, for me, the protocol used by Chronosync.

 

I get "e1000_tx_map: failed to getphysicalsegment" frequently whenever doing any transfer.

 

The "AppleIntelE1000e(Err): Detected Hardware Unit Hang:" are rare, but when they happen they repeat endlessly and require a reboot.

 

The detail I have for mine is:

Jul  2 16:42:40 Adam kernel[0]: AppleIntelE1000e(Err): Detected Hardware Unit Hang:
Jul  2 16:42:40 Adam kernel[0]: TDH                  <21>
Jul  2 16:42:40 Adam kernel[0]: TDT                  <f1>
Jul  2 16:42:40 Adam kernel[0]: next_to_use          <f1>
Jul  2 16:42:40 Adam kernel[0]: next_to_clean        <1b>
Jul  2 16:42:40 Adam kernel[0]: buffer_info[next_to_clean]:
Jul  2 16:42:40 Adam kernel[0]: time_stamp           <2cb74>
Jul  2 16:42:40 Adam kernel[0]: next_to_watch        <21>
Jul  2 16:42:40 Adam kernel[0]: next_to_watch.status <0>
Jul  2 16:42:40 Adam kernel[0]: MAC Status             <80043>
Jul  2 16:42:40 Adam kernel[0]: PHY Status             <796d>
Jul  2 16:42:40 Adam kernel[0]: PHY 1000BASE-T Status  <0>
Jul  2 16:42:40 Adam kernel[0]: PHY Extended Status    <3000>
Jul  2 16:42:40 Adam kernel[0]: PCI Status             <10>

 

I have a GA-Z87X-UD3H and the Device ID is 0x153b.

Share this post


Link to post
Share on other sites

i keep trying these newer (3.x) versions and i am getting the same errors/issues listed above. i have read on other forums (linux and/or intel dev site etc) that these "hangs" maybe related to the driver and multi-port cards i.e. not able to get at or set a 2nd or non-existing port - in my case i have a single port on my laptop. FWIW, I rollback to v2.4.14 and i do not see any of these problems.

Share this post


Link to post
Share on other sites

i keep trying these newer (3.x) versions and i am getting the same errors/issues listed above. i have read on other forums (linux and/or intel dev site etc) that these "hangs" maybe related to the driver and multi-port cards i.e. not able to get at or set a 2nd or non-existing port - in my case i have a single port on my laptop. FWIW, I rollback to v2.4.14 and i do not see any of these problems.

 

Have you tried turning off NETIF_F_TSO in the kext's info.plist? I think that was one of the big changes from 2.4.14.

Share this post


Link to post
Share on other sites

I disabled this property, hang seems is gone, but I still get "e1000_tx_map: failed to getphysicalsegment" while copying file. 

Also I noticed slow transmit speed (6-10MB/s) in version 3.0.1 in compare to version 3.0.4.1a (30MB/s). 

Update: downgraded to 3.0.4.1a, set NETIF_F_TSO to false, don't see any errors at all and got 30-40Mb transmission speed.

Share this post


Link to post
Share on other sites

I have (for now) stayed with v3.1.0 because it seemed to be faster than older versions - though I admit I have not done a thorough comparison.  But I have set NET_F_TSO to false, as Riley suggested.  The "e1000_tx_map: failed to getphysicalsegment" errors have gone away :)   The "AppleIntelE1000e(Err): Detected Hardware Unit Hang" were rare (though fatal) for me so will have to wait and see if they are solved too.

Share this post


Link to post
Share on other sites

I can also confirm that 3.1.0 with the NETIF_F_TSO set to no indeed works and replaces 2.4.14, for the first time.

Share this post


Link to post
Share on other sites

Hello,

 

I upgraded from 2.4.14 to this driver.

 

Console shows the "e1000_tx_map: failed to getphysicalsegment" message. I have not disabled TSO.

 

For now, it seems stable but my uptime is not really representative. I successfully trasfered about 24GB of data through afp, with a lot of "e1000_tx_map: failed to getphysicalsegment".

 

I'm still trying to get WoL working. I looked at the sources and answered my previous question (are diddl14 improvement are implemented). So, the answer is yes.

 

When I disable the kext, WoL works after shutdown. If not, magic packet won't power on the computer.

 

I'm looking for a way to disable this behavior inside the source, but I'm a bit "lost". I never did driver development but know some C/C++.

 

Romain

 

EDIT: It seems that "virtual IOReturn setWakeOnMagicPacket(bool active)" never get called. Shouldn't be called when ticking and unticking "wake from network access" from Energy Saving sys prefs ?

EDIT2: The only way to make Wake on Lan working is to disable the function "static void e1000_power_down_phy(struct e1000_adapter *adapter)". WoL works after this. (85267V-2, 0x808610ce). I guess it is a missing verification of wake on lan state ?

Edited by romaincs

Share this post


Link to post
Share on other sites

You are right.

WOL code of Linux has changed since I investigated the part a long time ago.

 

I slightly modified shutdown code not to call e1000_power_down_phy() ( it used to be called in Linux at close(), but not now ) and found WOL works with GA-Z97X-UD7 TH (NIC = i217v) on Yosemite.

The source files are committed ( binary is not updated ), and you can build and try.

Share this post


Link to post
Share on other sites

You are right.

WOL code of Linux has changed since I investigated the part a long time ago.

 

I slightly modified shutdown code not to call e1000_power_down_phy() ( it used to be called in Linux at close(), but not now ) and found WOL works with GA-Z97X-UD7 TH (NIC = i217v) on Yosemite.

The source files are committed ( binary is not updated ), and you can build and try.

Hey,

 

Thanks for the reply.

 

I tried it but it does not work. To make it work again, I have to comment the call in "int AppleIntelE1000e::__e1000_shutdown(bool runtime)".

 

I have only one issue with this modification :

If I put the computer in sleep it sleeps good. I can wake it with magic packet. but after a second sleep in a row, I got a partial sleep, some fans shutdown but most of hardware is still running.

 

Console shows "kernel[0]: Wake reason: ? (Network)" when I wake it first with magic packet, and then I get "kernel[0]: Wake reason: GBE (Network)" for the partial sleep (I did not send magic packet this time).

 

May be call "e1000e_reset" somewhere as the card seems to throw buggy wake events... ? I have to look at what is called at wake to put a reset and try...

 

Got another message in the console few min after this message (same state, no reboot): "kernel[0]: process WindowServer[188] caught causing excessive wakeups. Observed wakeups rate (per sec): 162; Maximum permitted wakeups rate (per sec): 150; Observation period: 300 seconds; Task lifetime number of wakeups: 83515".

 

It looks like NIC is flooding and I get strange wake up events.

 

Share this post


Link to post
Share on other sites

Is WOL enabled in BIOS ?

 

Seemingly, the key is that when __e1000_shutdown is called, adapter->wol has non-Zero value and adapter->flags2 has FLAG2_HAS_PHY_WAKEUP set.

Share this post


Link to post
Share on other sites

Is WOL enabled in BIOS ?

 

Seemingly, the key is that when __e1000_shutdown is called, adapter->wol has non-Zero value and adapter->flags2 has FLAG2_HAS_PHY_WAKEUP set.

 

Yes, WoL is enabled.

 

For the windows driver to enable WoL after a shutdown (from windows), we have to set some settings in device. If you tick "Wake on network access" on mac os, nothing seems to happend in the driver.

 

should it be passed another way than "IOReturn AppleIntelE1000e::setWakeOnMagicPacket(bool active)" to the driver ?

Share this post


Link to post
Share on other sites

Yes, WoL is enabled.

 

For the windows driver to enable WoL after a shutdown (from windows), we have to set some settings in device. If you tick "Wake on network access" on mac os, nothing seems to happend in the driver.

 

should it be passed another way than "IOReturn AppleIntelE1000e::setWakeOnMagicPacket(bool active)" to the driver ?

 

What are you talking about? WoL from S3 or S5 because WoL from S5 isn't supported by OS X.

 

Mieze

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×