hnak Posted August 20, 2014 Author Share Posted August 20, 2014 I think so. Link to comment Share on other sites More sharing options...
Konner Posted August 21, 2014 Share Posted August 21, 2014 Is this kext finally more stable yet? I've wanted to use OS X but I can't cause I rely on this kext for my ethernet and it constantly drops the connection and I have to restart. And I don't have the money to buy an ethernet card to use it or else I'd buy a mac. Link to comment Share on other sites More sharing options...
Gringo Vermelho Posted August 21, 2014 Share Posted August 21, 2014 It's perfectly stable for me and always has been. I have 82579V Ethernet and I've never had any issues. You don't have to restart if the connection drops. Try disabling EN0 and then enabling it again in the network control panel. Or log out and then log back in. Also try forcing 100 mbit/sec. Also please try to be constructive when criticizing free software. Be nice to the precious few developers we have. They're the ones who make this community move forward, not you or me. You're lucky that the driver works for you at all. Beggars can't be choosers. Constructive in this case would be providing detailed information about your ethernet hardware, log excerpts from when the connection drops etc etc. Link to comment Share on other sites More sharing options...
Mieze Posted August 21, 2014 Share Posted August 21, 2014 And I don't have the money to buy an ethernet card to use it or else I'd buy a mac. An add-on card with a Realtek RTL8111E is very affordable (~10€) and works perfectly with my RealtekRTL8111 driver. A number of users (me included) are even running servers for their business with this combination. Mieze Link to comment Share on other sites More sharing options...
tluck Posted August 21, 2014 Share Posted August 21, 2014 @mieze - thanks for working on this... not sure TSO is totally fixed. my ethernet on my laptop is 8086 id 1502 (system info says its a 82579LM gigabit network ) however, i tried out your revised kext from this post #638 and it did not seem work with TSO set to true. i got lot of messages in the /var/log/system.log and performance was very slow to test I simply copy a large vmdk file from my Lenovo T420 system to another Macbook Pro: running with TSO true - got about ~4 MB/s (lots of log messages - see below) running with TSO false - got about 11.2 MB/s running with 2.4.14 - got about 12 MB/s Aug 21 17:00:53 Toms-Mac kernel[0]: e1000_tx_map: failed to getphysicalsegment. Aug 21 17:01:21 Toms-Mac kernel[0]: e1000_tx_map: failed to getphysicalsegment. Aug 21 17:04:57 localhost kernel[0]: 2.432611: ath_get_caps[4019] tx chainmask mismatch actual 3 sc_chainmak 0 Aug 21 17:04:57 localhost kernel[0]: 2.437521: pullmode[1] txringsize[ 256] txsendqsize[1024] reapmin[ 32] reapcount[ 128] Link to comment Share on other sites More sharing options...
Mieze Posted August 21, 2014 Share Posted August 21, 2014 @tluck: First of all it is not clear if you are using TSO6 or TSO4, which I didn't touch at all. Second the "failed to getphysicalsegment" error message is a memory management issue which is not a TSO specific problem. And third, the last two messages from your log data aren't related to this driver at all. Mieze Link to comment Share on other sites More sharing options...
Vulcan Posted August 26, 2014 Share Posted August 26, 2014 Hi All, I have a motherboard with an integrated i217v NIC as well as a PCIe Intel Pro/1000 PT (dual port). For the past few days I have been attempting to get better transmit performance out of both of these. Typically I'm maxing out at around 56-60MB/s for tx while rx is 100MB/s+. I've ruled out all other potential causes and tried a wide variety of kexts to attempt to resolve this problem. Thus far I've determined that the performance issue is directly linked to the E1000_CTRL_TFCE parameter. When E1000_CTRL_TFCE is set to true transmission rates take a nosedive. When E1000_CTRL_TFCE is set to false the NIC stops working shortly after beginning the transmission of a large file, but tx speeds are 100MB/s+. Anyone have any input on this? Link to comment Share on other sites More sharing options...
maleorderbride Posted August 31, 2014 Share Posted August 31, 2014 Is it possible to add support for Intel I211-A in a future release? (used on X99 motherboards) What do you need from me? Link to comment Share on other sites More sharing options...
Mieze Posted August 31, 2014 Share Posted August 31, 2014 Wrong driver, use AppleIGB. Mieze Link to comment Share on other sites More sharing options...
jilingshu Posted September 5, 2014 Share Posted September 5, 2014 I tried to debug my kernel with gdb. It seems that AppleIntelE1000e driver does not support this feature. A message said kdp_pool: no debugger device And the other computer cannot connect to this machine. Just want to know if this is a driver feature? If so, is there any plan to implement it? Thank you. Link to comment Share on other sites More sharing options...
hnak Posted September 8, 2014 Author Share Posted September 8, 2014 The debugger interface is not implemented. Currently I have no plan. When I did 2 machines debugging, I used Marvell Yukon supported by Apple. Is it simple to implement the feature ? Link to comment Share on other sites More sharing options...
jilingshu Posted September 9, 2014 Share Posted September 9, 2014 @hnak, could you tell me the model of the ethernet card you are using? I have no idea about the debugger interface since I didn't dig into it yet. However, this driver (https://github.com/pmj/virtio-net-osx) implemented that interface. Maybe we can read the source code of that to learn how to implement the kernel debugging. UPDATED: I scanned the source code (virtio-net/virtio_net.cpp) and it looks not difficult :-) Link to comment Share on other sites More sharing options...
hnak Posted September 10, 2014 Author Share Posted September 10, 2014 I happen to use virtio-net-osx with Virtualbox. In case of real hardware, things are more complex as polled-mode must be set upon enable(IOKernelDebugger) call, and sendPcaket/receivePacket must avoid memory allocation. . The driver must have a state-variable to prevent packet processing in interrupt handlers ( or disable interrupt ) . if enable(IOKernelDebugger) is called rather than enable(IONetworkInterface), the driver must pre-allocate send/receive buffers. . The driver must use IOKernelDebugger::lock/unlock instead of spinlock/mutex in debugging mode. So, the driver should override attachDebugger/enable/disable/sendPacket/receivePacket, add a state-variable and conditional code in place where lock/mutex is used and in interrupt handlers. It is not too difficult, but will take some time. Link to comment Share on other sites More sharing options...
jilingshu Posted September 11, 2014 Share Posted September 11, 2014 Thank you! BTW: Would you please share the Ethernet card model you are using for two machine debugging? Link to comment Share on other sites More sharing options...
hnak Posted September 11, 2014 Author Share Posted September 11, 2014 Any of Marvell Yukon 88e8053 (id = 0x436211ab) based cards should work, and not so expensive. Link to comment Share on other sites More sharing options...
Gringo Vermelho Posted September 13, 2014 Share Posted September 13, 2014 Marvell Yukon 88E8056 will work as well if you do a little song and dance. 88E8056 is probably easier to find, I don't know. Link to comment Share on other sites More sharing options...
prcmelo Posted September 19, 2014 Share Posted September 19, 2014 Strange... in Mavericks AppleIntelE1000e.kext works in EFI/Clover/Kexts/10.10 but in Yosemite only works at S/L/E... does it happen with anybody else? (FakeSMC.kext works in EFI/Clover/Kexts in Mavericks and Yosemite) Link to comment Share on other sites More sharing options...
RehabMan Posted September 20, 2014 Share Posted September 20, 2014 Strange... in Mavericks AppleIntelE1000e.kext works in EFI/Clover/Kexts/10.10 but in Yosemite only works at S/L/E... does it happen with anybody else? (FakeSMC.kext works in EFI/Clover/Kexts in Mavericks and Yosemite) It will work if you rebuild cache. Link to comment Share on other sites More sharing options...
prcmelo Posted September 30, 2014 Share Posted September 30, 2014 It will work if you rebuild cache. To me, even rebuilding cache, only works in Clover/Kexts/10.10 if I install Clover without EFI partition... inside EFI partition it does not load... inside EFI I have an error, something like "can't load kext xxxxx" and at the end of the error message something about "dependencies"... Link to comment Share on other sites More sharing options...
RehabMan Posted September 30, 2014 Share Posted September 30, 2014 To me, even rebuilding cache, only works in Clover/Kexts/10.10 if I install Clover without EFI partition... inside EFI partition it does not load... inside EFI I have an error, something like "can't load kext xxxxx" and at the end of the error message something about "dependencies"... Boot without caches, then rebuild cache, then boot with cache. The trick is you have to convince kextcache to include IONetworkingFamily.kext in the cache. Once it is in the cache, the dependencies for the AppleIntelE1000e.kext can be satisfied in a boot with caches. By getting both kexts to load while booting without caches, IONetworkingFamily.kext is placed in the cache (because it is in /S/L/E and it is loaded). Link to comment Share on other sites More sharing options...
prcmelo Posted September 30, 2014 Share Posted September 30, 2014 Boot without caches, then rebuild cache, then boot with cache. Thanks, RehabMan... But while i do that process, can I put intelE1000e in EFI Partition? or do I need to place it inside S/L/E and so, after rebuilding cache, I delete it from there? Or better, all I have to do is to load IONetworkingFamily.kext and rebuild cache? Link to comment Share on other sites More sharing options...
bikinifarm Posted September 30, 2014 Share Posted September 30, 2014 Thanks, RehabMan... But while i do that process, can I put intelE1000e in EFI Partition? or do I need to place it inside S/L/E and so, after rebuilding cache, I delete it from there? Or better, all I have to do is to load IONetworkingFamily.kext and rebuild cache? I usually do the following, and the cache is built properly: mv /System/Library/Extensions/IONetworkingFamily.kext ~/Desktop/ mv ~/Desktop/IONetworkingFamily.kext /System/Library/Extensions/ Link to comment Share on other sites More sharing options...
RehabMan Posted September 30, 2014 Share Posted September 30, 2014 I usually do the following, and the cache is built properly: mv /System/Library/Extensions/IONetworkingFamily.kext ~/Desktop/ mv ~/Desktop/IONetworkingFamily.kext /System/Library/Extensions/ Ummm... same effect as: sudo touch /System/Library/Extensions Link to comment Share on other sites More sharing options...
prcmelo Posted September 30, 2014 Share Posted September 30, 2014 Hmmm... ok... I'll try it later when in home... let´s see what happens! Link to comment Share on other sites More sharing options...
RehabMan Posted September 30, 2014 Share Posted September 30, 2014 Thanks, RehabMan... But while i do that process, can I put intelE1000e in EFI Partition? or do I need to place it inside S/L/E and so, after rebuilding cache, I delete it from there? Or better, all I have to do is to load IONetworkingFamily.kext and rebuild cache? Yes, keep in in EFI/Clover/kexts... Booting ignore caches allows both it to load and IONetworkingFamily.kext. Note: Personally, I don't keep my kexts on the EFI partition. You can't keep all of them there anyway (eg. AppleHDA injector), and if you're developing kexts, there is certain disadvantages to storing them there (error checking after installing a new build is better if they are in /S/L/E). Link to comment Share on other sites More sharing options...
Recommended Posts