Jump to content

Ethernet Driver for Marvell 88E1116


MikeInNs
 Share

223 posts in this topic

Recommended Posts

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 :D )

 

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)

nForceEthernetController.kext.zip

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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:

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.

Link to comment
Share on other sites

thanks for ur efforts :D. 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.

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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 :D. 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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 :(

 

Thanks,

 

Mike

Link to comment
Share on other sites

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 :P

 

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 :(

 

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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! :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...