Help - Search - Members - Calendar
Full Version: Ethernet Driver for Marvell 88E1116
InsanelyMac Forum > OSx86 Project > Hardware and Drivers > LAN and Wireless
Pages: 1, 2, 3, 4, 5
MikeInNs
Hi All,

I have written a driver based on the original NVidia code and the framework from the Forcedeth drivers that should work on the Marvell 88E1116 controller. It might work for other nic's in the same family as well but the driver has been specificly written just to support the 88E1116.
The driver hasn't been tested yet so I expect some bugs. Right now it is not possible to change the MTU size (default 1500) or use Jumbo packets. Another limitation is that driver will always initialize using auto negotiation.

I tested the driver on the following platform:
Mainboard: EVGA SLI 680I
Controller: MCP55, Marvell 88E1116 Ethernet Controller
Device ID: 0x0373
OSx86 version: 10.4.11, kernel 8.10.1

HOW TO INSTALL:
- Place the kext file on your desktop
- Start "Terminal" and type the following commands:
- "sudo -s"
- Type you password.
- "cp -R ~/desktop/nForceEthernetController.kext /system/library/extensions/"
- "chmod -R 755 /system/library/extensions/nForceEthernetController.kext
- "chown -R root:wheel /system/library/extensions/nForceEthernetController.kext"
- "rm -f /system/library/extensions.*"
- "diskutil repairpermissions /"
- "exit"
- Close "Terminal"
- Shutdown the computer and take the power cord off (IMPORTANT!)
- Wait 30 secs. and turn it back on (plug the power cord back in first tongue.gif )

Hopefully it will come back up with your ethernet controller working!

IMPORTANT:
This goes without saying but I take no responsibility in any way shape or form if something bad happens to your computer or other caused by this driver.
I wrote this driver in my free time and because I don't have a lot of it I won't be able to make changes or updates on a regular basis so if it doesn't work for you, please be patient.

Let me know if you had any success!

Cheers,

Mike.

Before I forget, thanks to the guys how worked on the forcedeth driver, using their framework made things a lot easier!

EDIT: This driver will only work stable with Mac OS X 10.4 (Tiger). A driver for Leopard is currently being worked on.
NOTE: When you still experiencing problems, turn the computer off, unhook the power cord for about 30secs. and bring in back up (I know it sounds... well... strange...) (For some reason the MAC address is 'locked', this should be solved in a new release)
Objection
It looks like its ALMOST working for me. It says both of my ethernet ports have the cable connected (though only one does) and configuring it manually makes it seem like it should connect (green light and all) but no internet. Hmm. If you have any ideas let me know - is it possible I need to change a plist somewhere in that package I downloaded with specific device IDs or something? (How would I find my device IDs anyways?)

edit: gah, I am on leopard and you're not. I wonder if that makes a difference...
MikeInNs
QUOTE (Objection @ Nov 25 2007, 04:05 PM) *
It looks like its ALMOST working for me. It says both of my ethernet ports have the cable connected (though only one does) and configuring it manually makes it seem like it should connect (green light and all) but no internet. Hmm. If you have any ideas let me know - is it possible I need to change a plist somewhere in that package I downloaded with specific device IDs or something? (How would I find my device IDs anyways?)

edit: gah, I am on leopard and you're not. I wonder if that makes a difference...


I think you are right, I didn't test in on Leopard, it would be nice if we can get it to work with it though.
The fact that it reports that both your ports have a cable connected should be easy to solve. (linkstatus is being reported incorrectly (lazy programming on my side).
Can you let me know if you get a proper MAC and IP address? (no APIPA: 169.254.xxx.xxx), or maybe no IP at all...
And in "terminal" can you type "ifconfig" and tell me what it reports for media, MAC and IP please.

To figure out your device ID for your phy, you can do the following in Windows Vista (your sig. says you are running Vista as well):
- Go to your device manager (Start-> right click "Computer"->Properties->Device Manager
- Click the plus sign next to "Network adapters"
- Right click your networking controller
- Click "Properties"
- Click the "Details" tab
- In the "Property" dropdown box select "Hardware IDs"
- Vendor ID should look like: "VEN_xxxx" and your hardware ID: DEV_xxxx
- If you hardware ID is 0x0373 you don't have to edit the info.plist
- If it different then please let me know.

Thanks!

Mike
Objection
When using DHCP I get a 169.254.xxx.xxx IP address, but I wasn't really expecting DHCP to work. When I go in and give it a manual IP of 192.168.1.105, subnet mask of 255.255.255.0, router of 192.168.1.1 and the proper DNS servers according to my routers configuration (checked from another computer on my network) it SEEMS to connect. Once I even saw a network printer of mine show up as a network thing in my finder sidebar (it does for all computers as my network as a generic Blue-Screen PC Icon) but that has since gone away.

Network diagnostics has me listed as greenlights up to and including ISP. Internet and Service are red.

My MAC Address(es) are reported as: 00:04:4b:01:77:7b and 00:04:4b:01:77:7c

Here's the ifconfig dump for the relevant ports:
CODE
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 169.254.75.115 netmask 0xffff0000 broadcast 169.254.255.255
    ether 00:04:4b:01:77:7c
    media: autoselect (<unknown type>)
    supported media: autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 100baseTX <full-duplex> 100baseTX <half-duplex> 1000baseT <half-duplex> 1000baseT <full-duplex>
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet6 fe80::204:4bff:fe01:777b%en0 prefixlen 64 scopeid 0x5
    inet 169.254.75.115 netmask 0xffff0000 broadcast 169.254.255.255
    ether 00:04:4b:01:77:7b
    media: autoselect status: active
    supported media: autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 100baseTX <full-duplex> 100baseTX <half-duplex> 1000baseT <half-duplex> 1000baseT <full-duplex>


edit: my settings were manual in the last ifconfig dump, I realize you're probably more interested in the DHCP data, so I changed it back and ran ifconfig again. Let me know if you want any other information and I'll try to get it to you ASAP.
andyph666
thanks for ur efforts smile.gif. It says both of my ethernet adapters are connected but only one is. I get a weird ip when it first starts: the ip that looks like objections 16x.xxx.etc something. I can't online at all and I get the mac addresses for both cards. With network diagnostics it failed at ISP. I have airport and firewire establised already. Do i ahve to change something in networkinterfaces.plist? Airport is set to en1, ethernet en4, ethernet en 5 and then a firewire port. Thanks again

Vendor ID = 10de dev= 0373 for me. Did not require plist editting as my id was already in there. Mac addresses look fine to me I get 00044B02EA8A for one of them and I checked it with ipconfig /all in windows. Can't get any connections at all to the internet. Sometimes both ethernet adapters would say they are both connected when I only have one cable.
MikeInNs
Thanks for all the information, I will take a look at it. In the mean time can you please try the following?
- Move the "nForceEthernetController.kext" from "/system/library/extensions" to your desktop (make sure it's gone from the extensions folder)
- Restart the computer
- Open "Terminal"
- type "sudo -s" and your password
- "cd ~/desktop"
- "chown -R root:wheel nForceEthernetController.kext"
- "kextload -v nForceEthernetController.kext"

Can you please let me know if this makes any difference?

Thanks!
JaE-V
Alright lets make this work! lol
I'll be testing on leopard with an bfg 680i
andyph666
I checked ur profile and it had some instructions for the sound how to do it. I can confirm that the sound fully works now to try ur new ethernet driver biggrin.gif. Thx! Anyone here have instability problems? Sometimes my mouse wont move anymore and it requires me to reboot, happens more often with the new driver. Before it happened when I tried to change settings with the first driver, now when I log in I can't move the mouse. Gonna try a reboot.
Objection
Ok, ran the commands you told me. (its kextload, isn't it?)Kernel panic upon the terminal commands finishing, reboot and "The cable for Ethernet Adapator (en0) is unplugged." for both en0 and en1. No information about it in ifconfig, either. Nothing about "en" anything.

Noticed (when trying to kextunload) that there was no package named nForceEthernetController.kext in my extensions folder after my reboot. Thought that was odd. Perhaps it didn't install properly after-all and the files weren't moved after my kernel panic?This time I tried copying it into my extensions folder and then kextloading the one on my desktop - still kernel panic and when I booted back up I'm having the same issues as at first (Self-Assigned IP on both ports) so I assume the act of dragging it in just installed it the "old" way.
MikeInNs
QUOTE (andyph666 @ Nov 25 2007, 05:56 PM) *
Sorry offtopic: Can I ask what u used to get the sound fully working? Like digital working and the mic? What did you use cause all I get is output.



Hi Andyph666,

Glad to hear you got audio working now, can you let me know if the new Ethernet driver works for you as well?

Thanks!

Mike
andyph666
Alright, well i tried the driver. It says connected but I can't view a website or anything with the updated driver. But it tells me correctly that the other ethernet port is unplugged this time. Using DHCP it still gives me a 169.254.10.71 ip address and I filled out my own information in the manual tab without any success. Thanks.
JaE-V
MikeInNs did u go through any issues after installing?
MikeInNs
QUOTE (JaE-V @ Nov 25 2007, 08:02 PM) *
MikeInNs did u go through any issues after installing?


Hi, no issues here but can you please be a bit more specific by what you mean by that?
The driver is working just fine on my machine, no issue's or else I won't be posting it biggrin.gif

Thanks,

Mike
andyph666
Mike: You planning to move to leopard anytime ? lol
JaE-V
QUOTE (MikeInNs @ Nov 25 2007, 06:26 PM) *
Hi, no issues here but can you please be a bit more specific by what you mean by that?
The driver is working just fine on my machine, no issue's or else I won't be posting it biggrin.gif

Thanks,

Mike


sorry guess what i meant to ask was if this was compatible with leo....after verifying my dev id's matched up i loaded the kext, repaired permissions, and rebooted...Tested safari right away and it didnt work so i jumped to my network connections in system config. It did add both of my ethernet adapters and showed which port i had connected, i unplugged and plugged in the other and it desconnected and reconnected accordingly...still no network access though
Objection
Same issues as the others here after installing it. It tells me which port my cable is plugged into but the same self-assigned IP problem persists. Thanks a bunch for your work, if there's anything I can do to further help let me know.
MikeInNs
QUOTE (JaE-V @ Nov 25 2007, 09:20 PM) *
sorry guess what i meant to ask was if this was compatible with leo....after verifying my dev id's matched up i loaded the kext, repaired permissions, and rebooted...Tested safari right away and it didnt work so i jumped to my network connections in system config. It did add both of my ethernet adapters and showed which port i had connected, i unplugged and plugged in the other and it desconnected and reconnected accordingly...still no network access though


Ah, ok, lol. I think it's safe to say that the driver doesn't work in Leo. I will take a look at it and maybe end up installing Leo myself to get a clearer picture.

For now I just want to see if it's working with Tiger correctly (I know there still a lot of issue's that will need to be addressed)

And please be patient and keep checking in, we can only end up with a driver that actually works if people like you are willing to give it shot and test it out.

Thanks!

Mike
JaE-V
QUOTE (MikeInNs @ Nov 25 2007, 07:42 PM) *
Ah, ok, lol. I think it's safe to say that the driver doesn't work in Leo. I will take a look at it and maybe end up installing Leo myself to get a clearer picture.

For now I just want to see if it's working with Tiger correctly (I know there still a lot of issue's that will need to be addressed)

And please be patient and keep checking in, we can only end up with a driver that actually works if people like you are willing to give it shot and test it out.

Thanks!

Mike


will do! ill try it on my tiger shortly
weekender
I just tried on my Tiger 10.4.8 partition and it doesn't work. It doesn't even show up. Maybe it's because I'm already using the Tulip drivers to work with my Linksys LAN card unsure.gif
MikeInNs
QUOTE (weekender @ Nov 26 2007, 09:03 AM) *
I just tried on my Tiger 10.4.8 partition and it doesn't work. It doesn't even show up. Maybe it's because I'm already using the Tulip drivers to work with my Linksys LAN card unsure.gif


Hi Weekender,

That's really strange, I mean at least the PHY's should show up, working or not. As long as you have the 88E1116 with device ID 0x0373 that part should work fine as no hardware calls are even made at that time.
It shouldn't matter if you are running another NIC in there as well (unless it does something specific that I am not aware of). Did you turn off the PHY's in BIOS Maybe? If you want can you take a look in the system log and check for any related message's. Which version and kernel are you running? Do have the "Forcedeth.kext" driver still in your extensions folder? (and you followed the installation instructions I assume?)

Thanks!

Mike
Objection
we're not supposed to have forcedeth in our extensions folder, are we?
MikeInNs
QUOTE (Objection @ Nov 26 2007, 11:07 AM) *
we're not supposed to have forcedeth in our extensions folder, are we?



Correct, because it's using the same ID's it might conflict with each other (depending on the 'score' assigned in the info.plist). So it's better to have it removed. Oh and can you try the following please: I had some people who initially had problems but after powering down, unhooking the power cord and bringing it backup it worked for them.
Objection
QUOTE (MikeInNs @ Nov 26 2007, 07:17 AM) *
Correct, because it's using the same ID's it might conflict with each other (depending on the 'score' assigned in the info.plist). So it's better to have it removed. Oh and can you try the following please: I had some people who initially had problems but after powering down, unhooking the power cord and bringing it backup it worked for them.


You are my hero!

Working ethernet, posting via stable connection on en0 using DHCP! biggrin.gif
andyph666
objection smile.gif you mind telling me what u did hehe. IT WORKS. Mike i wub you man! thanks haha. Weird u have to turn the power off etc first. Sweet now I don't have to buy a network card lol. Jae-v you try this it really works.
flower
hi guys your driver work great after unplug power cord for a minute.
Great Job.....
mrbocao
Reporting sucess using this driver on my p5n-e-sli on Tiger JAS 10.4.8, only need to add the DeviceID (0269) on the plist.

Tks
andyph666
anyone here experiencing freezes with this driver? I can move the mouse when I get into the login window but when i type in my password sometimes my mouse wont work. When I copy something it usually just freezes. iStat menu still goes on and shows core activity and the dock icons change I cant use the keyboard and mouse. No error or nothing ohmy.gif. This didn't happen with my wireless atheros, Ive taken out my airport atheros and deleted everythign related to it. When I remove the nForcekext, it works fine. No freezes.
Kiamo
I'm trying to get this working, but I have a strange problem.
I have the evga 680i SLI board. I enabled both NICs in BIOS, but when I restart, System Profiler shows en0 and fw0. When I try to go to Network in System Prefs, it just hangs and I have to kill prefs. I tried disabling firewire (which doesn't seem to work) but that didn't fix it. Disabling the NICs and Firewire and it still shows en0 and fw0 and Network pref still hangs.

Any ideas? Its been doing this since Leo install, with or without this driver.

EDIT: I have resolved this issue. The BrazilMac post-patch renamed my IONetworkingFamily kext and didn't replace it with anything. Naming it back solved the hang and I now have firewire and both network adaptors showing (but ethernet still not working.)

EDIT 2: I have it sort of working... I have en0 working with DCHP, en1 requires me manually entering the IP. However, on either connection, it will kernel panic after a bit of use. sad.gif I have no forcedeth or any other networking drivers installed but this one. I tried unplugging but it didn't help.
chrijj
Another working system here smile.gif , I can report that it does work on my ASUS STRIKER EXTREME motherboard, as it uses the same ethernet chipset.

just followed the guide, no problems at all.

Thank you for your great work on this driver thumbsup_anim.gif sorcerer.gif
weekender
QUOTE (MikeInNs @ Nov 26 2007, 01:43 PM) *
Did you turn off the PHY's in BIOS Maybe?


Oh yeah, I forgot I disabled it a long time ago lol. My bad, I'm gonna retry it right away wink.gif
Kiamo
Ok, it seems to stop kernel panics if I disable a core in my BIOS, but then the OS is all stuttery. Hrm.

EDIT: Stuttering was PATA driver not being used; fixed now, but still using one core due to this networking issue.
Objection
QUOTE (Kiamo @ Nov 26 2007, 01:35 PM) *
Ok, it seems to stop kernel panics if I disable a core in my BIOS, but then the OS is all stuttery. Hrm.


I had one kernel panic once when I tried to play an iTunes store preview but haven't had one since. I sorta just dealt with it under the "It's a hackintosh, it'll happen every once and a while" file. That said, if it recurs I'll be sure to let you guys know.
Kiamo
QUOTE (Objection @ Nov 26 2007, 04:01 PM) *
I had one kernel panic once when I tried to play an iTunes store preview but haven't had one since. I sorta just dealt with it under the "It's a hackintosh, it'll happen every once and a while" file. That said, if it recurs I'll be sure to let you guys know.

If I have both cores enabled, it will kernel panic almost immediately after trying to download anything. sad.gif
MikeInNs
Thanks for all your guys input! This really helps in getting a 'stable' driver.
Reading through the topic it seems in general the driver works although some have issue's with kernel panic's and 'stuttering' etc. I will take a closer look at this. For example the driver kinda cheats with error detection and how it deals with timeout's which could cause stutters and perhaps kernel panics as well.

QUOTE (Kiamo @ Nov 26 2007, 06:37 PM) *
If I have both cores enabled, it will kernel panic almost immediately after trying to download anything. sad.gif


@Kiamo: Do both your ports have a cable connected? I think things might go horribly wrong if both PHY's are active. Didn't really test that scenario...) So if you do, try just using one port and let me know how it goes. I am running dual core (both cores active), although Tiger, but I haven't got a kernel panic yet.
andyph666
My system knew that one port was connected and the other had a cable unplugged. But when I log in and do something that strains the processor, it freezes although the istat menus monitor still detects cpu usage. I can't use the keyboard or mouse then when using the driver. When I remove the driver, its normal again for some reason.
Micr0mega
Thank you for this driver. Installing worked like a charm, did it incluiding unplugging the power cable (well flipping the switch). Great job, having no ethernet was one of the major drawbacks of osx86 for my setup, this sheds another light on things! I'll report if any problems occur. biggrin.gif
Kiamo
QUOTE (MikeInNs @ Nov 26 2007, 05:20 PM) *
Thanks for all your guys input! This really helps in getting a 'stable' driver.
Reading through the topic it seems in general the driver works although some have issue's with kernel panic's and 'stuttering' etc. I will take a closer look at this. For example the driver kinda cheats with error detection and how it deals with timeout's which could cause stutters and perhaps kernel panics as well.



@Kiamo: Do both your ports have a cable connected? I think things might go horribly wrong if both PHY's are active. Didn't really test that scenario...) So if you do, try just using one port and let me know how it goes. I am running dual core (both cores active), although Tiger, but I haven't got a kernel panic yet.

I have one disabled in BIOS, and the other is enabled and is the only one with a cable plugged in.  Having both active doesn't help.

By the way, I just got a kernel panic with only one core enabled when I tried to download something, but that's the first one from that
EDIT: My mistake, I had the 2nd core on after a restart, sorry.
JaE-V
it works! haha confirming with Leopard! Just do the unplug thing! Thanks alot Mike! Your the man
andyph666
time to reinstall again bah lol.
JaE-V
speed is really great too, make sure to post this over at osx86scene.com Mike or pull it and sell the driver from here on haha
Objection
I'm having issues like andyph666, actually. On some things my keyboard and mouse freeze up (though I think its more than that freezing - iTunes continues to play though). Strange response to the drivers... hmm... I tried to load a live cam feed in safari and it happened.

Large downloads may do it as well.
andyph666
yea it freezes, but other things still respond like istat and the dock. But cannot move mouse or type.
MikeInNs
QUOTE (Objection @ Nov 26 2007, 09:10 PM) *
I'm having issues like andyph666, actually. On some things my keyboard and mouse freeze up (though I think its more than that freezing - iTunes continues to play though). Strange response to the drivers... hmm... I tried to load a live cam feed in safari and it happened.

Large downloads may do it as well.



QUOTE (andyph666 @ Nov 26 2007, 09:25 PM) *
yea it freezes, but other things still respond like istat and the dock. But cannot move mouse or type.


Can you tell me how often this happens and what you are doing at the time, and do have usb or ps2 keyboards.
I am thinking this has to do with the PCI bus not being released properly, I will take a look....
itsalok4u
I am also experiencing frequent mouse and keyboard freezes. Anytime I open iTunes while downloading with Azureus, it happens. Sometimes as soon as the computer starts, it freezes the mouse and keyboard.
andyph666
well sometimes it happens straight away after logging into the computer. Then when I copy a large file it starts to freeze. The transfer bar says its doing something but the bar never increases. Then the keyboard and mouse just doesnt respond and I have to reboot.
JaE-V
mine isnt giving me any freezing but i do get a grey screen after a few min saying please restart...
Kiamo
QUOTE (JaE-V @ Nov 26 2007, 08:02 PM) *
mine isnt giving me any freezing but i do get a grey screen after a few min saying please restart...

That is a kernel panic.  Do you think you could turn a core off and see if that fixes it?  I have that problem, but disabling a core resolves it.  I don't mean it as a permanent solution, more to narrow down the problem.
JaE-V
QUOTE (Kiamo @ Nov 26 2007, 08:05 PM) *
That is a kernel panic.  Do you think you could turn a core off and see if that fixes it?  I have that problem, but disabling a core resolves it.  I don't mean it as a permanent solution, more to narrow down the problem.


i prefer not to turn a core off due to sluggish performance lol but it does run quite well and has only paniced on me twice now....
Objection
USB mouse and keyboard. Crashed for me opening a webcam on desertbus.org. I'll be doing some more testing tonight for you, though.
andyph666
I'm using a usb keyboard and mouse. At the moment im reinstalling everything. But before I got the stops sometimes when I just log into the computer without starting anything at all. Then sometimes it would work fine until I copy a large file from an external harddrive. I can get online fine. It freezes and I can't move anything, Ive tried different ports too for the mouse etc.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.