Help - Search - Members - Calendar
Full Version: PCGenRTL8139Ethernet v1.1.0 (8.4.1) & v1.2.0 (8.8.1) released
InsanelyMac Forum > OSx86 Project > Hardware and Drivers > LAN and Wireless
Pages: 1, 2, 3
orByte
/****************************** INFO BAR ************************************

Edit: Last Modified: 31/12/07, Leo Link Added.

FOR LEOPARD:
---------------------------------
Thanks to John Stormdrake, a driver for Leopard is now available here.

Files
----------------------------------
1. Darwin 8.8.1 - PCGenRTL8139Ethernet-1.2.0.zip
MD5 (PCGenRTL8139Ethernet-1.2.0.zip) = c2e4ac081c855e95ee4a3af52c2df63c
2. Darwin 8.4.1 - PCGenRTL8139Ethernet-1.1.0.zip
MD5 (PCGenRTL8139Ethernet-1.1.0.zip) = a7cec7c9ec113c41126de8ba877715b8


Compatibility Guidelines
----------------------------------
(10.4.9) = Reported to work with Tubgirl's AMD release - pls. see this thread.

For Kernel 8.8.1

(10.4.8) + IONetworkingFamily (1.5.1)

For Kernel 8.4.1

(10.4.6) + IONetworkingFamily (1.5.0)
(10.4.7) + IONetworkingFamily (1.5.0)
(10.4.8) + IONetworkingFamily (1.5.0)

Other configurations may work, but these are the ones I have tested.

******************************************************************************/

DISCUSSION THREAD STARTS BELOW:

Hi all,

I am pleased to announce the release of PCGenRTLEthernet8139.kext - another addition to the 'Generic PC drivers' project for Darwin.

This driver is based on the AppleRTL8139Ethernet-3 and AppleRTL8139Ethernet-4 sources and extends functionality to include ON-BOARD RTL 8139/810x Fast Ethernet Family devices, which were previously unworkable. The driver will continue to work for add-on devices. It should be backwards compatible with the Apple versions.

CHANGES
---------------------------------------------------------

10/01/07
* Changes on x86 based systems:
(+) Added MMIO access mode (adds support for on-board RTL8139/810x family devices)
(+) To override PIO mode, added ForceMMIOAccess (true/false) key to Info.plist, default false.
(+) Added hard chip reset if soft reset fails logic.


CREDITS
---------------------------------------------------------

- Thanks to Owen Wei for the original Apple Realtek code. This was invaluable.
- Thanks to cremes' OSX tulip driver.
- Thanks to Linux. In my case. Gentoo 2.6.17.



discussion

Problem: On-board RTL8139/810x devices are not detected by the AppleRTL8139Ethernet driver.

Cause: The Apple driver only used PIO access to speak to the RTL chip. But PIO access fails to initialize for on-board devices.

Solution: Using MMIO acces mode works for on-board devices.

Implementation Options Considered:

0. Make 2 versions of the kext using a compiler directive selecting PIO/MMIO at compile time (e.g. Linux).
Advantages: Simple to do.
Disadvantages: Two kext versions, user specifies which one.

1. Make 1 version of the kext using MMIO only.
Advantages: Simple to do, tested and works.
Disadvantages: Breaks compatibility with existing code base.

2. Make 1 version of the kext with run-time PIO/MMIO allocation.
Advantages: Single kext, retains backwards compatibility.
Disadvantages: Need to create fast coding model.


We could have done something like:
CODE
inline UInt32 csrRead32( UInt16 offset )
    {
      if (ioAccessMode == kIOAccessModeIsPIO) return pciNub->ioRead32(offset, csrMap);
      else return OSReadLittleInt32( ( void * ) csrBase, offset );
     }


But this is not true run-time allocation. Instead, this is a good case for using the features of C++ - in particular, the ability the cast a derived class to a base class. For interested parties, the details are in the code, but the final implementation is class based:
CODE
class ioAccessor : public OSObject
{

    OSDeclareAbstractStructors ( ioAccessor )
    
    public:
    
    virtual void                csrWrite32 ( UInt16 offset, UInt32 value ) = 0;
       virtual void                csrWrite16 ( UInt16 offset, UInt16 value ) = 0;
       virtual void                csrWrite8 (  UInt16 offset, UInt8 value ) = 0;
    virtual void                csrWrite32Slow ( UInt16 offset, UInt32 value ) = 0;
       virtual void                csrWrite16Slow ( UInt16 offset, UInt16 value ) = 0;
       virtual void                csrWrite8Slow (  UInt16 offset, UInt8 value ) = 0;
       virtual UInt32                csrRead32 ( UInt16 offset ) = 0;
       virtual UInt16                csrRead16 ( UInt16 offset ) = 0;
       virtual UInt8                csrRead8 (  UInt16 offset ) = 0;
    
    protected:
    virtual bool                init ( );

};

as the abstract base class, then

  class ioAccessorPIO : public ioAccessor
{

...
    
};

  class ioAccessorMMIO : public ioAccessor
{

...

  };

which implement the appropriate access methods and variables.


Best
onelove
thumbsup_anim.gif Thanks orByte for this new release driver it actually work with my OnBoard Realtek RTL8100C on Kernel 8.8.1 with (10.4.8) + IONetworkingFamily (1.5.1)...
donh
Thanks works on my compaq V5000 laptop. wireless also works. Tubgirl final with latest semthex kernel.

donlaptop:~ root# dmesg | grep 8139
com_orByte_driver_RTL8139: vendorID = 0x10ec deviceID = 0x8139 revisionID = 0x0010
com_orByte_driver_RTL8139: found PIO accessor at a001
com_orByte_driver_RTL8139: found MMIO accessor at D0202000
com_orByte_driver_RTL8139: could not initialize PIO mode, switching to MMIO mode...
com_orByte_driver_RTL8139: using MMIO access mode...
com_orByte_driver_RTL8139: io access at csrBase=1fc25000.
com_orByte_driver_RTL8139: Ethernet address 00:16:d4:43:37:b3

Don

If it posted ethernet is working.
orByte
Cheers guys!
Boooooommm
I do get that posted, but for some reason it hangs after it loads up the gui. Never loads the backgrounds image or anything, just the blue screen and the mouse. Any suggestions?

I'm on a Compaq V2582, using JAS 10.4.8 Kernel 8.8.1 and IONertworkingFamily.kext version 1.5.1 already preinstalled.
donh
QUOTE(Boooooommm @ Jan 16 2007, 02:25 AM) *
I do get that posted, but for some reason it hangs after it loads up the gui. Never loads the backgrounds image or anything, just the blue screen and the mouse. Any suggestions?

I'm on a Compaq V2582, using JAS 10.4.8 Kernel 8.8.1 and IONertworkingFamily.kext version 1.5.1 already preinstalled.



Did you use the ppf? Also maybe newer kernel. Also read some kexts are PPC not intel.

Are you amd or intel.

Don
envisioneer
Thanks, very much appreciated thumbsup_anim.gif

dmesg:
com_orByte_driver_RTL8139: vendorID = 0x10ec deviceID = 0x8139 revisionID = 0x0010
com_orByte_driver_RTL8139: found PIO accessor at d001
com_orByte_driver_RTL8139: found MMIO accessor at F8110000
com_orByte_driver_RTL8139: using PIO access mode...
com_orByte_driver_RTL8139: io access at csrBase=d000.
com_orByte_driver_RTL8139: Ethernet address 00:40:f4:17:3b:ef

Now finally working and using to post this.

Wasn't straightforward though,

using add-in PCI card RTL8139 (white box, unknown)
nic detected as Realtek1000 both before AND after installing PCGenRTL8139Ethernet-1.2.0
(as shown in System Profiler extensions pane)

had to backup and delete RealtekR1000.kext from
/System/Library/Extensions/IONetworkingFamily.kext/contents/plugins folder before it worked

I'm guessing the RealtekR1000.kext was getting called before the PCGenRTL8139Ethernet.kext since both had
<key>IOPCIMatch</key>
<string>0x816910ec</string>
in their info.plist files, probably stops searching after first match

it may even have been enough to just do this since it's an add-in card rather than onboard and there's already an AppleRTL8169Ethernet.kext installed by default - but haven't tested this.

Just in case it helps anyone else.

JaS10.4.8 AMD / 8.8.1 / 1.5.1 kext
mobo:MSI Master2FAR7, dual opteron 248's (K8T800 Pro)
onboard Broadcom 5705 disabled in Bios (gave up on this one!)
internet thru ADSL router on LAN.

cheers!
errandwolfe
For the people who are hanging where the login screen would appear. You did not delete ALL the original RTL8139 kexts before installing the new one. The is a kext not only in IONetworkingFamily, but also right in the extensions folder AppleRTL8139.kext. Boot into single user and delete that as well.
Boooooommm
Nope. I'm making sure they're erased. I even erased some of the 8169 files. The system just hangs. I'm on a AMD V2000 using JAS SSE2/3 Beta v2
orByte
QUOTE(Boooooommm @ Jan 17 2007, 02:16 PM) *
Nope. I'm making sure they're erased. I even erased some of the 8169 files. The system just hangs. I'm on a AMD V2000 using JAS SSE2/3 Beta v2


Can you try this: boot into single user mode, then run
CODE
sh /etc/rc
and if that goes through,
CODE
kextstat | grep RTL
ifconfig


And if your network device has been recognised you can try
CODE
ping www.<somesite>
The use <ctrl-Z> or <ctrl-C> to stop the ping.

To save output for posting you can try
CODE
<some_Command_from_Above>   >> ~/Desktop/outputfile.txt



And let us know how it went

Cheers
Best
jester1o1
Thanks for these drivers - I am using your AppleRTL on a PCI addin card - it works 100%

Will try the new version today!
pablovbas
Thanks Brother!!!

pabs rolleyes.gif
Tibian Ass Monkey
Hi I have an Asus Salmon K8S-LA board (pain in the ass for osx compat)

The actual network chip is a Realtek RTL8139CL onboard but it just wont detect sad.gif I did notice the driver on XP says SIS900, but actual visual confirmation of the board is 8139CL.

Now before I get replies to go buy a 8139 add on card, I already own one and this driver works fine for it.
Problems is I have 5 of these computers., and it seems quite wastefull to put a new network card in all when onboard works great in linux xp etc.

So is there any way to getting this working?
orByte
QUOTE(Tibian Ass Monkey @ Feb 4 2007, 02:08 AM) *
Hi I have an Asus Salmon K8S-LA board (pain in the ass for osx compat)

The actual network chip is a Realtek RTL8139CL onboard but it just wont detect sad.gif I did notice the driver on XP says SIS900, but actual visual confirmation of the board is 8139CL.

Now before I get replies to go buy a 8139 add on card, I already own one and this driver works fine for it.
Problems is I have 5 of these computers., and it seems quite wastefull to put a new network card in all when onboard works great in linux xp etc.

So is there any way to getting this working?


Hi whats the network driver under linux? do
CODE
lsmod
IS it 8139too (Realtek - probably OK) or sis900. It could also be that the driver is not detecting your device&vendor id. If you add your device and vendor id to the IOPCIMatch key in the Info.plist, that would help. You need to be root for that.

Look at - your path might be slightly different -
CODE
/System/Library/Extensions/PCGenRTL8139Ethernet.kext/Contents/Info.plist


Add here
CODE
<key>IOPCIMatch</key>
                        <string>0x813910ec 0x13001186 0x12111113</string>



When this is done, you will need to update permissions, and either load/unload the kext OR restart the system.

CODE
chown -R root:wheel <path>/PCGenRTL8139Ethernet.kext
chmod -R 755 <path>/PCGenRTL8139Ethernet.kext
kextunload <path>/PCGenRTL8139Ethernet.kext
kextload -v <path>/PCGenRTL8139Ethernet.kext
gio on the mic
You guy really rock! This is totally AWESOME! now i have my wireless card AND my onboard Realtek 8139 BOTH WORKING!
smile.gif
orByte
QUOTE(gio on the mic @ Feb 6 2007, 11:25 AM) *
You guy really rock! This is totally AWESOME! now i have my wireless card AND my onboard Realtek 8139 BOTH WORKING!
smile.gif


Cheers!!
squimmy
I have the same problems as Boooooommm. My system just hangs when it would go to boot the GUI. I can't even succesfully boot into single user mode, after I type "sh /etc/rc" it hangs at "Resetting IOCatalouge."


Please, why does this happen?
orByte
QUOTE(squimmy @ Feb 18 2007, 06:55 PM) *
I have the same problems as Boooooommm. My system just hangs when it would go to boot the GUI. I can't even succesfully boot into single user mode, after I type "sh /etc/rc" it hangs at "Resetting IOCatalouge."
Please, why does this happen?


Go into single user mode. Mount the root volume.
CODE
/sbin/fsck -fy
<the mount command>.. from the prompt

Do not type sh /etc/rc

Then delete (also recommend backup) all occurences of AppleRTL8139Ethernet.kext in /System/Library/Extensions and /System/Library/Extensions/IONetworkingFamily/Contents/Plugins. Also delete all occurences of any other networking kext with the same device:vendorid. Read this for details: http://forum.insanelymac.com/index.php?s=&...st&p=277406

Then finish up with
CODE
touch /System/Library/Extensions

or on reboot use the flag -f


Hopefully that will work.

Best.
kfriis
Hi

I hope you can help me as well - I'm kinda new to the Mac but know my way around a PC.

I installed JaS 10.4.8 AMD/Intel SSE2/SSE3 Semthex 8.8.1 image on my PC and the install went flawless. I can boot fine and most things seems to work - EXCEPT sound (I will worry about that later) and networking (which is a big problem).

I spent a long time troubleshooting and reading this forums and eventually downloaded the PCGenRTL8139Ethernet 1.2.0 package and installed it according to the instructions (the loader says "valid"). I was hoping it would work, but it didn't. Nothing changed - System Preferences/Network is completely "empty".

My motherboard is a Asrock 939 Dual-SATA2 (AMD Opteron 165 Dual Core CPU) w/ built-in ethernet. I'm pretty sure it has a Realtek RTL8201CL network chipset and that might be the problem. Everyone seems to be asking about Realtek, but I have not been able to find any posts about this particular motherboard and/or chipset.

Do you have any suggestions for what to do? I'm pretty desperate - I was so happy to get everything installed without a single problem but have now spend a long time just getting networking to work.

Thanks in advance!
orByte
QUOTE(kfriis @ Feb 24 2007, 04:34 AM) *
Hi

I hope you can help me as well - I'm kinda new to the Mac but know my way around a PC.

I installed JaS 10.4.8 AMD/Intel SSE2/SSE3 Semthex 8.8.1 image on my PC and the install went flawless. I can boot fine and most things seems to work - EXCEPT sound (I will worry about that later) and networking (which is a big problem).

I spent a long time troubleshooting and reading this forums and eventually downloaded the PCGenRTL8139Ethernet 1.2.0 package and installed it according to the instructions (the loader says "valid"). I was hoping it would work, but it didn't. Nothing changed - System Preferences/Network is completely "empty".

My motherboard is a Asrock 939 Dual-SATA2 (AMD Opteron 165 Dual Core CPU) w/ built-in ethernet. I'm pretty sure it has a Realtek RTL8201CL network chipset and that might be the problem. Everyone seems to be asking about Realtek, but I have not been able to find any posts about this particular motherboard and/or chipset.

Do you have any suggestions for what to do? I'm pretty desperate - I was so happy to get everything installed without a single problem but have now spend a long time just getting networking to work.

Thanks in advance!


Hi all,

Realtek RTL8201CL is NOT an NIC chipset. It is only a PHY=the physical interface. When a PHY is present, the NIC functions are done somewhere else - usually integrated into the chipset. E.g. with the uli southbridge.

This is not clear when vendors advertise a Realtek PHY for networking.

Best.
Envying
I have a Dlink DFE 538TX Card, it is said with a RTL8139 chipset. It's not an onboard net device.

Here says it can work under 10.4.8 w/o problem.
http://wiki.osx86project.org/wiki/index.ph..._.28Ethernet.29

But I am out of luck, I will give it a try with your driver.
orByte
QUOTE(envying @ Feb 26 2007, 03:47 PM) *
I have a Dlink DFE 538TX Card, it is said with a RTL8139 chipset. It's not an onboard net device.

Here says it can work under 10.4.8 w/o problem.
http://wiki.osx86project.org/wiki/index.ph..._.28Ethernet.29

But I am out of luck, I will give it a try with your driver.


Seems to be an RTL8139, make sure you have the correct vendor (1186) and device (1300) ids.


0x11861300 or 0x13001186 - I do not recall the exact order right now.

Best
Envying
QUOTE(orByte @ Feb 27 2007, 07:22 AM) *
Seems to be an RTL8139, make sure you have the correct vendor (1186) and device (1300) ids.
0x11861300 or 0x13001186 - I do not recall the exact order right now.

Best


Still no luck! Faint!
jester1o1
check your dmesg (type sudo dmesg in terminal). look for lines relating to the realtek kext - these should point out where the problem lies.
Envying
QUOTE(jester1o1 @ Feb 27 2007, 06:29 PM) *
check your dmesg (type sudo dmesg in terminal). look for lines relating to the realtek kext - these should point out where the problem lies.


Tonight, I will add my network card Ven/Dev ID in that file to see if it works.

Ven: 1106 Dev: 3106

So all I have to do is to add this 0x11063106 in that IOPCIMatch string, right? rolleyes.gif
orByte
QUOTE(envying @ Feb 28 2007, 04:06 PM) *
Tonight, I will add my network card Ven/Dev ID in that file to see if it works.

Ven: 1106 Dev: 3106

So all I have to do is to add this 0x11063106 in that IOPCIMatch string, right? rolleyes.gif


Yes, that's it. But after you edit the file as 'root', you will need to fix permissions and invalidate the extension cache. Try this
CODE
sudo su
nano -w <path-to-kext>/Contents/Info.plist
(edit file, save and exit from editor)
chown -R root:wheel <path-to-kext>
chmod -R 755 <path-to-kext>
touch /System/Library/Extensions

then you can do kextload -v <path-to-kext> (and hopefully that'll be fine)
exit (from sudo su)


Best
Envying
Thanks orByte, I will give it a try tonight again. Crossing my fingers!!!! star_smile.gif
Envying
QUOTE
ethernet: family specific matching fails

com_orByte_driver_RTL8139: vendorID = 0x1106 deviceID = 0x3106 revisionID = 0x0086

com_orByte_driver_RTL8139: found PIO accessor at bc01

com_orByte_driver_RTL8139: found MMIO accessor at FDBFF000

com_orByte_driver_RTL8139: using PIO access mode...

com_orByte_driver_RTL8139: io access at csrBase=bc00.

com_orByte_driver_RTL8139: Software reset failed...

com_orByte_driver_RTL8139: Attempting hard reset...

com_orByte_driver_RTL8139: Software reset failed...

com_orByte_driver_RTL8139: Attempting hard reset...

com_orByte_driver_RTL8139: Continuing Operations...

com_orByte_driver_RTL8139: Software reset failed...

com_orByte_driver_RTL8139: Attempting hard reset...

com_orByte_driver_RTL8139: Continuing Operations...

com_orByte_driver_RTL8139: Software reset failed...

com_orByte_driver_RTL8139: Attempting hard reset...

com_orByte_driver_RTL8139: Continuing Operations...

(105: coreservicesd)tfp: failed on 0:


Finally system detected this card, but after dmesg I got errors showing above, please advise. (I put vendor iD first then dev ID, it was wrong. should be reversed. Just figured that out)
Envying
Waiting for an answer!
orByte
QUOTE(envying @ Mar 2 2007, 03:27 AM) *
Finally system detected this card, but after dmesg I got errors showing above, please advise. (I put vendor iD first then dev ID, it was wrong. should be reversed. Just figured that out)


It looks like a register level incompatibility. The hard reset seems to be working, but if there are other register differences, then this driver will not work with your card. Hint: if the error messages stop after a while, try setting up the card from System Prefencences> Networking. If the error messages never stop, then chances are that OSX keeps resetting the card because it cannot talk to it. In this case, you re best of spending a few pounds on a Realtek 8139 plugin-card.

Best
ACFan
Going to try this one now -- system detects the NIC as a realtek so it's worth a shot. (ATI chipset)
Envying
QUOTE(orByte @ Mar 3 2007, 09:15 AM) *
It looks like a register level incompatibility. The hard reset seems to be working, but if there are other register differences, then this driver will not work with your card. Hint: if the error messages stop after a while, try setting up the card from System Prefencences> Networking. If the error messages never stop, then chances are that OSX keeps resetting the card because it cannot talk to it. In this case, you re best of spending a few pounds on a Realtek 8139 plugin-card.

Best



Really appreciate your response, at least, I know now I have to give it up. Cause messages just keep coming... Or I have to stay in darkness when I am in OSX86 and do all the networking stuff in my Winxp. hysterical.gif
Envying
Thank god! I finally got my internet working now!

Though my wife took away my 19"LCD. I decided to switch my Dlink card with her Genuine Realtek 8139 Card! hysterical.gif hysterical.gif thumbsup_anim.gif thumbsup_anim.gif
Envying
QUOTE(envying @ Mar 3 2007, 08:24 PM) *
Thank god! I finally got my internet working now!

Though my wife took away my 19"LCD. I decided to switch my Dlink card with her Genuine Realtek 8139 Card! hysterical.gif hysterical.gif thumbsup_anim.gif thumbsup_anim.gif


Meanwhile, just found out that DLink DFE-538TX is using a Via Rhine Chipset but not like some other guys said it is a Realtek 8139 chipset. It is clearly stated in my wife's Fedora Linux Box. whistle.gif
pabloide86
hello i'm pablo from argentina(sorry, my english sucks!)

i have a MSI 865 PE Neo 2v (S478) mobo with a Celeron D 2,56ghz and 512mb ddr400 and a Nvidia fx 5200 128mb agp and i have JaS 10.4.8 fully working with qe & ci...it has an onboard realtek 8139 ethernet and i have another realtek rtl8139 pci card for internet sharing with my other pc...

the onboard ethernet is working native but i cant get the pci rtl 8139 working...any ideas???
orByte
QUOTE(pabloide86 @ Mar 20 2007, 08:16 PM) *
hello i'm pablo from argentina(sorry, my english sucks!)

i have a MSI 865 PE Neo 2v (S478) mobo with a Celeron D 2,56ghz and 512mb ddr400 and a Nvidia fx 5200 128mb agp and i have JaS 10.4.8 fully working with qe & ci...it has an onboard realtek 8139 ethernet and i have another realtek rtl8139 pci card for internet sharing with my other pc...

the onboard ethernet is working native but i cant get the pci rtl 8139 working...any ideas???


When asking for help, please post system log and screenshot of System Preferences>Network.
CODE
cat /var/log/system.log | grep RTL


Best
pabloide86
QUOTE(orByte @ Mar 24 2007, 07:00 AM) *
When asking for help, please post system log and screenshot of System Preferences>Network.
CODE
cat /var/log/system.log | grep RTL


Best


sorry...didnt know that...thanks anyway
Thang Bo
(use PCGenRTL8139Ethernet-1.2.0)
I have the problem with my RTL8139/810x Family (VEN_10EC DEV_8139) ( MB ATI chip set) . I sure that I had deleted AppleRTL8139Ethernet.kext. But after reboot, sytem stil be hang. Then I try to change key
<key>ForceMMIOAccess</key>
<false/>

to
<key>ForceMMIOAccess</key>
<true/>


to ForceMMIOAccess but system still hang after reboot (no difference before change that key to TRUE).

My compouter: Toshiba Satellite M55-S139
ATI X200M - Work fine
ATI AC97 sound - Work fine
Atheros AG5005G Wireless - Work fine
Realtek RTL8139/810x Family - System hang sad.gif

Please help me !

(Sorry for my English)
Thang Bo
My god, I have solved the problem thumbsup_anim.gif . The problem is : have 2 AppleRTL8139Ethernet.kext in two difference location, the 1st locate in /System/Library/Extensions/ and the 2nd one locate in /System/Library/Extensions/IONetworkingFamily.kext/Contents/Plugins/
I have just delete the 2nd one but there's still the 1st one. I dont know why there're 2 of the same kext in 2 difference location.

I found this problem when I check system infomation (Apple>About this MAC>More Info>Software>Extensions). It's so lucky to me thumbsup_anim.gif

And now, I want to say thanks to all of you, especially orByte, the writer of this driver (Perfect driver star_smile.gif star_smile.gif star_smile.gif star_smile.gif star_smile.gif ).

-----------------------------------------------------------------------------
My compouter: Toshiba Satellite M55-S139
ATI X200M - Work fine
ATI AC97 sound - Work fine
Atheros AG5005G Wireless - Work fine
Realtek RTL8139/810x Family - Work fine
thumbsup_anim.gif
anurup
Hi,

Have been following this thread closely for some time and tried doing everything that is mentioned here. The suggested device ID's exist in the Info.plist file and I've followed the install instructions. All system log outputs say that AppleRTL8139Ethernet.kext is loaded. The first time, I loaded it manually and it even showed "RTL8139 PCI Adapter......Sending 1 personality to kernel....etc" (Something like that - can't remember the exact words as I am posting this from my Linux box)

But the Network Status page is still blank. I also grep-ed the system logs for orByte but there is no occurence although the kext is loaded successfully.

I am running 10.4.8 (8.8.1) on an AMD Athlon 64 3000+. The motherboard is an MSI RS480M2-IL and has on board ethernet using the 8139. (Confirmed this on Linux as I can see the 8139too driver.)

ACFan/kfriis, any progress? Your problem seemed similar to mine.

orByte, can you help?

Thanks in advance to anyone who might write in.
anurup
Help!
Lakriz
Wow! This is amazing!
It worked out so easily!
Thank you so much!

Hold the good work up!
Greets,
Chris
anurup
Hey orByte,

It works. I was doing something inanely silly - I don't even want to talk about it. But it works and that is important! Thanks a lot and sorry for the trouble.

Just for the record, am using an AMD Athlon 64 3000+ on an MSI RS480M2-IL mobo. Am posting this from Safari!
sam9879
Typing sudo dmseg in the Terminal gives me following msg,

Skipping duplicate extension "com.orByte.driver.PCGenRTL8139Ethernet" with older/same version (1.2.0 -> 1.2.0).



What i'm doing wrong??
orByte
QUOTE(anurup @ Apr 18 2007, 11:12 PM) *
Hey orByte,

It works. I was doing something inanely silly - I don't even want to talk about it. But it works and that is important! Thanks a lot and sorry for the trouble.

Just for the record, am using an AMD Athlon 64 3000+ on an MSI RS480M2-IL mobo. Am posting this from Safari!


Great news!! (& Sorry for late late reply). Was it that you needed to configure the network before the connection showed up? This seems to be a security feature of Darwin.


Best


QUOTE(sam9879 @ Apr 19 2007, 06:26 AM) *
Typing sudo dmseg in the Terminal gives me following msg,

Skipping duplicate extension "com.orByte.driver.PCGenRTL8139Ethernet" with older/same version (1.2.0 -> 1.2.0).
What i'm doing wrong??


kext could be loading twice.

QUICK WAY (it may not work) - assuming corrupt cache...
----------------------
CODE
touch /System/Library/Extensions
rm /System/Library/Extensions/Extensions.kextcache
rm /System/Library/Extensions/Extensions.mkext
shutdown -r now


SLOW WAY
-----------------------
Make sure you only have one PCGenRTL8139Ethernet.kext in the /System/Library/Extensions folder and all its sub-folders. Then do the above. How do you check? use 'grep' or 'find'.

Best
sam9879
i have only one PCGenRTL8139Ethernet.kext in the /System/Library/Extensions folder and all its sub-folders.

But the other one i have in /System/Library/Extensions/IONetworkingFamily.kext/Contents/Plugins/ and i hope its not wrong, is it??

kextload command gives me hopeful results as below

RTL8139 PCI Adapter
kextload: sending 1 personality to the kernel
kextload: matching started for /System/Library/Extensions/IONetworkingFamily.kext/Contents/Plugins/PCGenRTL8139Ethernet.kext

but after restarting nothing works, i'm pissed off.

how can i add hardware id to kext? and to which kext exactly should i add it?

Edit:-

"sudo dmesg" command some times shows nothing related to 8139 and some times gives Skipping duplicate extension as above.



I get above msg from kextload but after restart it is not catching the card...
sam9879
Waiting...
orByte
orByte releases RTL8139 modified source code & semi-retirement announced

Hi everybody!

Continuing on the semi-retirement track... As announced here are the full sources for the RTL8139 driver.

Thanks a lot for all the comments and help I have received in the past few months since I started working on the Darwin RTL8139 drivers. Sadly, I am having almost no time left to work on this project. Initally I had only released the source code as diffs. However, I am now releasing the full project, in the hope that someone else will pick up the project and continue working on it. I am now left with only the Uli526x network driver on my list of things to to.

These projects are best suited to people who are already familiar with programming & Darwin compilation.

Of interest is the coding for a dynamic MMIO/PIO selection class, which binds at run-time. This is quite different from the Linux code, which selects MMIO/PIO operation mode at compile time. It is also different from the standard Apple Darwin code, which is limited to PIO only.

One important technical note: the ioAccessor and its derivative classes defined in RTL8139IO.h should really be renamed to RTL8139ioAccessor, and so on. I have done this in the Uli driver. Why? The IO namespace is relatively flat, so all these names MUST be unique. Otherwise another kext using the same namespace will fail to load. Of course with the RTL8139 specifier the name becomes unique.

Another option might be to create nested classes, and nest the ioAccessor class under the kext class name, which is always unique. But this creates all sorts of problems. In fact, Apple does not do this. Nor would I recommend anyone else to try it. It is best to stick with a flat space, unique names, and use forward declarations if needed.

Instructions
---------------------------

1.PCGenRTL8139Ethernet-4-src.zip MD5 = c279a157b53dfb1533f31095137631b6

Requires: XCODE 2.4.1, Kernel 8.8.1, Semthex OK, 10.4.8. Consult the original diff & bundle for modified files & FAQ.

2. PCGenRTL8139Ethernet-3-src.zip MD5 = b4337fe9fdcd3e4594abcfe980696e72

Requires: XCODE 2.3, Kernel 8.4.1, 10.4.7. Consult the original diff & bundle for modified files & FAQ.


Again, thank you very much
Best

QUOTE(sam9879 @ Apr 19 2007, 05:25 PM) *
i have only one PCGenRTL8139Ethernet.kext in the /System/Library/Extensions folder and all its sub-folders.

But the other one i have in /System/Library/Extensions/IONetworkingFamily.kext/Contents/Plugins/ and i hope its not wrong, is it??

kextload command gives me hopeful results as below

RTL8139 PCI Adapter
kextload: sending 1 personality to the kernel
kextload: matching started for /System/Library/Extensions/IONetworkingFamily.kext/Contents/Plugins/PCGenRTL8139Ethernet.kext

but after restarting nothing works, i'm pissed off.

how can i add hardware id to kext? and to which kext exactly should i add it?

Edit:-

"sudo dmesg" command some times shows nothing related to 8139 and some times gives Skipping duplicate extension as above.



I get above msg from kextload but after restart it is not catching the card...


Does kext load after restart? If yes, go to System Preferences> Network>Configure, and follow on-screen instructons.

Best
sam9879
No, it doesn't. after restart System Preferences> Network> shows "Built in Ethernet" Failed...
orByte
QUOTE(sam9879 @ Apr 23 2007, 05:21 AM) *
No, it doesn't. after restart System Preferences> Network> shows "Built in Ethernet" Failed...


what do you get for
CODE
dmesg | grep 8139


what happens if you configure the built in ethernet. I have a suspicion that the problem is elsewhere. If there were a kext issue, it would not even load the first time.

Possibly corrupt extension caches

You could also try
CODE
rm /System/Library/Extensions/Extensions.mkext
rm /System/Library/Extensions/Extensions.kextcache
chown -R root:wheel /System/Library/Extensions
chmod -R 755 /System/Library/Extensions
touch  /System/Library/Extensions
shutdown -r now


Best
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.