Jump to content

Bonjour Networking with Realtek drivers & ifconfig workaround for Snow Leopard


blackosx
 Share

152 posts in this topic

Recommended Posts

@ thorias - thanks for sharing, it works in 64bit but i feel this method is a bit dirty, im using it now but still waiting for a better solution.

 

@ scorcho - tried your script, works too but i kept the file in downloads :( thanks.

Link to comment
Share on other sites

Great. Bonjour now works on my 32-bit system too.

 

Thanks for your screengrab, I realised I wasn't using an Extensions.mkext.

So I built one with the following Terminal command (Note: I have Chameleon installed on a separate Volume named Cham)

 

kextcache -v 1 -t -m /Volumes/Cham/Extra/Extensions.mkext /Volumes/Cham/Extra/Extensions /Volumes/SnowLeopard/System/Library/Extensions

 

which gave me a 30.2MB Extensions.mkext in /Extra

 

I now have iTunes library sharing and it sees my iPhone.

So thanks sk1nhd33t ;)

 

 

This doesnt work on my system, it doesnt seem to include the kext on the Chameleon partition. It gives this error for all of those kext files.

 

OpenHaltRestart.kext is not authentic; omitting from mkext.

Authentication Failures:

File owner/permissions are incorrect (must be root:wheel, nonwritable by group/other):

 

 

I tried repairing the permissions for the Chameleon partition but Kext Utility gives me this error:

 

Search "/Extra/Extensions/" folder ... Not Found.

 

 

How do I go about repairing permissions for the Chameleon partition?

Link to comment
Share on other sites

This doesnt work on my system, it doesnt seem to include the kext on the Chameleon partition. It gives this error for all of those kext files.

 

 

 

 

I tried repairing the permissions for the Chameleon partition but Kext Utility gives me this error:

 

Search "/Extra/Extensions/" folder ... Not Found.

 

 

How do I go about repairing permissions for the Chameleon partition?

 

Launch Terminal and execute inside

sudo chown -R 0:0 /Extra/
sudo chmod -R 755 /Extra/

Then rebuild your Extensions.mkext to include both /S/L/E and /E/E, as described earlier

Link to comment
Share on other sites

Launch Terminal and execute inside

sudo chown -R 0:0 /Extra/
sudo chmod -R 755 /Extra/

Then rebuild your Extensions.mkext to include both /S/L/E and /E/E, as described earlier

 

 

Thanks I tried that doing :

 

sudo chown -R 0:0 /Volumes/Cham/Extra/

sudo chmod -R 755 /Volumes/Cham/Extra/

 

 

after that rebuilding mkext still didnt work giving the exact same error.

 

 

I tried using the Mkext Tool including all the kext from /E/E and /S/L/E which gave me an mkext that I put in Extra

 

but Realtek1000.kext doesnt seem to be loaded when looking at kextstat..

Link to comment
Share on other sites

yep, you have to download the above linked ifconfig and put it anywhere on your disc. then use it to turn on promiscuity.

 

promiscuity is required by bonjour, and the old realtekr1000.kext has it on by default, which is why bonjour works. ifconfig will accomplish the same for the original driver and works for both x32 and x64

Link to comment
Share on other sites

if you are using 64bit kernel and want timemachine working (thanks to Mike from efixusers forum!):

 

- use genuine appleR8169.kext

- go and have a look here: http://www.stanford.edu/~dub/macstuff/ you'll figure out why time machine is not working with realtek RT8111x...

- download ifconfig from the website, extract the archive somewher and launch it in terminal: ./ifconfig en0 promisc as per the readme, then type ifconfig you'll see in youer en0 string PROMISC appeared and your time capsule as well in your time machine/airport utility!!! :P

- if you want it to load automatically, what I did I used lingo to create a launchd com

.plist (use system com. in the list) and copied ifconfig in /system/library/startupitems

 

Hi thorias

Thanks for pointing out this ifconfig. I will have a try with it. :P

 

EDIT: Amazing.. This works brilliantly with the kernel in both 32bit & 64bit mode.

No need for RealtekR1000.kext on my system anymore!

 

Thank you so much ;)

Link to comment
Share on other sites

Just to let everybody know:

 

Putting a NIC into promiscuous mode means everything single bit of network traffic gets to your Mac and has to be handled by the processor.

So CPU-load will increase and the latency of network responses will also be increased.

 

Maybe this lead into trouble on your pc , maybe not ... Just like to inform about problems which could arise...

 

Hopefully there will be a 64bit driver which supports bonjour out of the box soon ..

Link to comment
Share on other sites

Putting a NIC into promiscuous mode means everything single bit of network traffic gets to your Mac and has to be handled by the processor.

So CPU-load will increase and the latency of network responses will also be increased.

 

This is technically very correct, but in most modern networking environments your computer will be connected to a switch, so you'll only be receiving packets destined for either broadcast or your own MAC address.

 

The end result is that even though your network card is in promisc mode and CAN now be overloaded by processing packets which aren't intended for your machine, the likely scenario is that you will not see any increase in traffic whatsoever because the switch you're connected to won't be sending you those extra packets. You'll continue to receive the same amount of traffic you normally would.

 

 

I wouldn't worry about being in promisc mode unless I were attached to a very old HUB network I think. Again though, I'm not disputing your technical fact because you're more than correct about what promisc mode does on a base level <_<

Link to comment
Share on other sites

Hi thorias

Thanks for pointing out this ifconfig. I will have a try with it. :)

 

EDIT: Amazing.. This works brilliantly with the kernel in both 32bit & 64bit mode.

No need for RealtekR1000.kext on my system anymore!

 

Thank you so much :D

 

Hi there

 

I have a UD3R, so very similar

used that fix, worked for me too

 

now I just figured this out at the instant

 

if you don't want to run the command line manually, at boot without any prompt

 

place ifconfig anywhere you want

(I created a bonjour directory in the Extra folder for organization sake)

then add this script where every you want ifconfig.command.zip

(have mine again in that same bonjour directory)

 

modify it with textedit or whatever to point to your ifconfig

mine is set to be in /Extra/Bonjour/ifconfig

(the script will be run as root with the following command, so no sudo needed)

 

then open the terminal and paste this, well change the path to the script wherever you want it to be

sudo defaults write com.apple.loginwindow LoginHook /Extra/bonjour/ifconfig.command

type your password at prompt

(according to apple this modifies the /var/root/Library/Preferences/com.apple.loginwindow file.)

 

now reboot, bonjour work at boot without further intervention

 

ENJOY

Link to comment
Share on other sites

Hi Eliade

 

Good work, but this doesn't work for me...

 

If I do what you say then iTunes will not show another machines' library, or my iPhone.

But, If I add another line to the ifconfig.command so it looks like this….

 

#!/bin/sh

/Volumes/Cham/Extra/Bonjour/ifconfig en0 promisc

/Volumes/Cham/Extra/Bonjour/ifconfig

 

and reboot (Still using the LoginHook)

Then my iPhone can see the iTunes library on my hack and play it, but iTunes still won't show another machines' library, or my iPhone..

 

Strange?

 

 

If I manually start ifconfig....

 

cd (to the folder ifconfig is in)

sudo ./ifconfig en0 promisc

 

there's no difference.

 

 

So I use remove the LoginHook we added with this....

sudo defaults delete com.apple.loginwindow LoginHook

 

reboot

then manually run ifconfig by

 

cd (to the folder ifconfig is in)

sudo ./ifconfig en0 promisc

 

and it works with iTunes showing another machines' library, and my iPhone.

Link to comment
Share on other sites

using the LoginHook

 

my itunes works great for me, the Shuttle K45 shows the UD3R itunes library, and UD3R shows the shuttle itunes library

 

if I lunch remote on the ipod touch to add a computer both computer sees the ipod

I can control the itunes fine with the ipod

 

however in the finder under Shared the shuttle won't show the UD3R for some reason (but will show any other bonjour device), even if I remove th LoginHook and don't lunch ifconfig (and that's weird)

before running ifconfig for the first time it could see it fine...

 

if I remove the LoginHook

and run it manually my cd and sudo ifconfig, I get the exam same behavior....

so the only problem I have is accessing the UD3R from the shuttle....

 

so I'll keep the LoginHook for now until we find a better way

 

 

this seems so random....

 

EDIT

never mind, ifconfig works perfectly for, the shuttle computer (running 10.5.8) sees (from the finder, or itunes shared library) my ud3r (10.6) perfectly well no matter how I run ifconfig,

it's just that I reinstalled SL two days ago and I forgot to reactivate file sharing

Link to comment
Share on other sites

Thanks for confirming ifconfig with LoginHook works for your setup Eliade.

But for me, it doesn't. I have just tested again and I can verify my earlier post is exactly what happens on my system and I need to load it manually rather than using LoginHook. (Is there something that I am missing? something I have forgotten to do?)

Link to comment
Share on other sites

Thanks for confirming ifconfig with LoginHook works for your setup Eliade.

But for me, it doesn't. I have just tested again and I can verify my earlier post is exactly what happens on my system and I need to load it manually rather than using LoginHook. (Is there something that I am missing? something I have forgotten to do?)

 

 

strange, two or three other people confirmed that it worked well on the UDR3 thread for Snow Leo

 

all I can think of is that you would have made a typo somewhere.... I suppose you did change the two path according to your setup, I know your extra folder is on a separate partition, I have mine in the same partition as snow leopard, and that's where I have my bonjour folder with those files...

Link to comment
Share on other sites

strange, two or three other people confirmed that it worked well on the UDR3 thread for Snow Leo

 

all I can think of is that you would have made a typo somewhere.... I suppose you did change the two path according to your setup, I know your extra folder is on a separate partition, I have mine in the same partition as snow leopard, and that's where I have my bonjour folder with those files...

Thanks for confirming it's worked for others with the UDR3.

Yes, I did change the paths etc... But it's not a problem, the main thing is that bonjour works with ifconfig.

-_-

Link to comment
Share on other sites

Thanks sk1nhd33t

I have been so busy I had forgotten that scorcho had previously supplied an applescript. I'll try it when I get home :mellow:

 

EDIT: That's better, it works simply and efficiently from login now with the Applescript. (I'm still not sure why the LoginHook method didn't give a complete solution for me? as running it manually worked fine..) Anyway, Thanks everyone :)

Link to comment
Share on other sites

Hi Blackosx, Thanks for the response...along with all of your sharing in your tutorials. I have a Gigabyte EX58 mb as mentioned in my sig. All has been working great in SL with the exception of getting my LAN to work. I tried all of the flavors of RealtekR1000 and got no joy. This really frustrated me and I was ready to make my system 'un-vanilla' by adding my RealtekR1000.kext to the SLE folder. But that didn't work either.

 

hysterical.gif Turns out, after all that, it's my LAN on my mb that's fried. I never even thought to try that since it worked in Windows 7 just yesterday. I never went back into Windows on that system since I spent all my time trying to fix the LAN connection on SL drive. After checking all the other systems I have that are connected to the same router, I tried Windows 7 again and discovered that some time between yesterday AM and PM, that LAN just won't work.

 

Called newegg this morning and ordered a new EX58-UD5 mb. The are pretty good about RMA'ing stuff as long as you keep the box etc. So I guess I'll have to wait to try all this in a couple of days.

 

Something to think about though...I wonder if all this changing systems from W7 to Leopard to Snow Leopard with different boot files (10, 10.1, 10.2), along with the 32bit boot in Leopard, could have damaged my LAN...or was it just mb that was ready to day from the get go? Only had it for less than a month.

 

 

Hi

 

I had the same problem, thought that my LAN was roasted.

But the R1000 must somehow hang up the LAN onboard completly

 

I am pretty sure that you onboard LAN ist still working.

 

Just turn off your machine, disable the power supply and reboot.

 

Then your onboard lan should work again.

 

Cheers, Mike

Link to comment
Share on other sites

I just wanted to say that I downloaded the newest 32-bit drivers from Realtek for my 8111C and I have completely removed R1000.kext. Now I have full gigabit ethernet (was only 100Mb with R1000) and bonjour working perfectly. It would be great if someone could apply the same changes Realtek did to a 64 bit driver, but as I'm on AMD and can only use 32 bit right now anyways, I'm happy.

Link to comment
Share on other sites

 Share

×
×
  • Create New...