domingo, julio 27, 2008

How to Install the Ethernet Card on an Intel D946GZIS Motherboard

First of all you should check what is your vendor ID and your device ID of the ethernet card.

to do this, just follow these steps:

* Boot into Windows XP
* Right click on My computer and go to manage.
* on the left, click on Device Manager
*Expand the network Stuff
* Right click on Intel Pro 100/Ve, click Properties.
*click the details tab
*The first two parts of the long string in the window are what you need, It will say something like:
PCI/VEN_****&DEV_****..... etc
note those two **** values. for my Pro 100/VE the vendor id was 8086 (Intel) and the device id was 1094.
*write those down (1094 8086) and reboot to OS X.

Now In OS X follow these steps:

Open the file 
/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleIntel8255x.kext/Contents/Info.plist

This file contains the device Ids of some ethernet cards that come with a real Mac. 

you will find something like this:
0x10518086 0x10508086 0x10298086 0x10308086&0xfff0ffff 0x12098086 0x12278086 0x12288086 0x12298086 0x24498086 0x24598086 0x245d8086 0x10918086 0x10608086&0xfff0ffff

Just add anywhere the number you wrote up. in my case (0x10948086)

So it should look like this:
0x10518086 0x10508086 0x10298086 0x10948086 0x10308086&0xfff0ffff 0x12098086 0x12278086 0x12288086 0x12298086 0x24498086 0x24598086 0x245d8086 0x10918086 0x10608086&0xfff0ffff

We are doing this, in order to let the kernel know that we have another ethernet ID in our hardware, so it loads this kext (kernel extension) with our device id, so we have network.

save the file, open  up a terminal and do the following:

Sudo rm /System/Library/Extensions.*

with this we are removing the kernel extensions cache of our OS, so the next time the kernel boots, it will load our modified AppleIntel8255x.kext

sudo kextcache -k /System/Library/Extensions

with this command we are creating a new cache of kernel extensions.

Open the disk Utility and repair the Disk Permissions.

reboot!

And you should now check if your ethernet card appears in the  System Preferences/Network.
If you are so unlucky like me, that even after doing all this you cant see the network on the preferences, follow these steps:

Open up  a terminal and type this:

sudo kextload -v /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleIntel8255.kext/

that should load the networking module, and if things go good, you should see your network card now at the System Preferences panel.

If for some reason (like me), you see the network card, but it says that the cable is unplugged...after you are sure it's plugged!!!, dont worry, just do this: =)

open a terminal and type:
sudo -s nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

you will see something like this:
Kernel
mach_kernel
Kernel Flags

Timeout
5
just add a -f to the kernel flags; with this we are forcing the kernel to load the kext we have just modified, in order to load our Ethernet extension.

so finally, this file should look like this:

Kernel
mach_kernel
Kernel Flags
-f
Timeout
5
Put the "-f" inside the string /string tags...

and Reboot! =)

Note: I was working with Kalyway 10.5.1

Still not works after you have reboot???, ok chill out!, this is what worked for me at last, even after I have done all these steps:

PD: By this step you should have seen at least for one time the ethernet card working, the thing i'm going to tell you after this is about making the card work each time the system starts.

firs of all, Copy the AppleIntel8255x.kext stored in
/Stystem/Library/Extensions/IONetworkingFamily/Contents/Plugins/,  

to 

/System/Library/Extensions/

you will need to authenticate with your administrative password. Once you have authenticated, you will need to open a terminal window and do the following commands:

sudo chmod -R 755 /System/Library/Extensions/AppleIntel8255x.kext (need to authenticate again)
--> In this step we have just changed the permissions of the file in order to make it executable; now do:

sudo chown -R root:wheel /System/Library/Extensions/AppleIntel8255x.kext

--> here we change the owner of this file to the root; and finally do this:

sudo kextload -v /System/Library/Extensions/AppleIntel8255x.kext

once the kext is successfully loaded, clear the kext cache like this:

sudo rm /System/Library/Extensions.mkext

--> this forces the System to re-examine all of the drivers and rematch during the next boot cycle

now Reboot, cross your fingers, and by this step you should now have a working Intel Pro 10/100 Ve networking card each time the O.S starts.

If you find something wrong, or something not explained well, please just comment and I will try to help you.