Crucial v5 feature missing in v6? (Show in System Preferences)

BallO

Hunter
Hi.

In Parallels Desktop 5 there was an option in the Parallels network prefs (not the VM network prefs) to "Show in System Preferences", which would expose the virtual network interface to Mac OS X. This was a crucial feature for those wanting to use a virtual machine as a router as if I try to manually set routes, OS X will unset them when, for example, a Wifi AP is found.

I cannot find this option in version 6.

Is the option hidden somewhere, or can I possibly use the defaults command or some-such to activate it?
 
If not, is there an easy method to downgrade?

I'm really hoping there is a work-around because the linux tools in version 5 is incompatible with newer kernels.

PS: Using latest Snow Leopard
 
In Parallels Desktop 5 there was an option in the Parallels network prefs (not the VM network prefs) to "Show in System Preferences", which would expose the virtual network interface to Mac OS X.

The option was removed from GUI, but it is possible to open config-file and enable it. To do so

1) Start the /Application/Utilities/Terminal and execute command "sudo chmod a+rw /Library/Preferences/Parallels/network.desktop.xml" (without quotes, will ask for the password). This will allow all users to write to this file

2) Open in the TextEdit the above-mentioned file. Find in it the lines <HiddenAdapter>1</HiddenAdapter> and replace in these lines the numer 1 to 0 (to make it be <HiddenAdapter>0</HiddenAdapter>)

3) Optionally (it is recommended step) restore back permissions of the file by executing command "sudo chmod 622 /Library/Preferences/Parallels/network.desktop.xml"

4) PD6.0.11822 has a small bug, so one more esoteric step is required: Execute in terminal next two commands

sudo mkdir -p "/Library/Parallels/Parallels Service.app/Contents/PlugIns/Parallels Service.app/Contents/Kexts/10.6/"

sudo cp "/Library/Parallels/Parallels Service.app/Contents/Kexts/10.6/prl_vnic.kext/Contents/enX.plist" "/Library/Parallels/Parallels Service.app/Contents/PlugIns/Parallels Service.app/Contents/Kexts/10.6/"

5) Reboot the Mac or execute the command
sudo "/Library/Parallels/Parallels Service.app/Contents/PlugIns/Parallels Network Start.app/Contents/MacOS/prl_net_start" start
 
Last edited:
I missed a step in the original message. I've already edited and fixed it, but the missed step was

4)...
sudo mkdir -p "/Library/Parallels/Parallels Service.app/Contents/PlugIns/Parallels Service.app/Contents/Kexts/10.6/"
 
Last edited:
I consolidated steps 1-3 to simple edit with sudo vi.

It appears to work! THANK YOU!

I'll do a bit of testing to make extra sure.

Why did you remove the option from the human interface? You should put it back in. This is a really useful option for various scenarios.

I'll post once more when I confirm my routing works :)
 
OK, I'm getting some VERY odd behavior. I can ping and send UDP packets through the VM, but not TCP packets.

I have tried various things including a reboot to resolve the issue, but so far I'm left scratching my head.

I setup my Linux VM as a NAT router as per usual (I have a script to setup my Linux router). The setup is identical to how I had things in v5. I can ping to IPs on the internet (like the WAN router), and I can send UDP packets through, but TCP doesn't work!

I ran a TCP daemon on the VM and I could connect from the Mac. I also used a braindead simple iptables route instead of my usual one just to see if that helped:

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

But still, it allows ping and UDP, but no TCP.

Weird!
 
(hopefully my previous post involving tcpdump shows up)

I just attempted to use Windoes 7 as my VM router (using "Internet Connection Sharing or ICS) and it works provided I used 192.168.137.1 as the router's IP (ICS seems to be kinda specific in that way).

I'm still having the same symptoms with the Linux VM router, however. I don't want to use Windows as the router but at least I have a work-around until I figure out why Parallels is acting so wierd.

tcpdump -i vnic1 is still silent except for the unreplied ARP requests.
 
I'm still having the same symptoms with the Linux VM router, however.

I see one possible point of failure.. It is already fixed internally, but 11822 still has the problem and it can be your case also:

Try to either disable RX-offload inside Linux guest (it is recommended) by executing inside Linux VM command

sudo ethtool -K eth0 rx off

or force ne2k-networking (not recommended for Linux, because if no tools are installed the networking-speed will be 100Mbit as maximum) by following the steps in http://kb.parallels.com/en/9041
 
Basically I was getting various odd behaviors like the tcpdump of vnic1 and eth0 not matching up (they used to in v5, IIRC). ARP requests showed up in both, for example, but the responses only showed up on the Linux VM side.

Other things like TCP open requests again only showed up on the Linux VM side. It makes me believe there is something awry with the implementation of the virtual NIC interface. I get similar symptoms with Win 7 VM like the ARP responses not showing up.

This is the same Linux VM I used with v5, and it worked fine then.
 
ethtool -K eth0 rx off 'solved' the problem.

I take it this is a work-around of some kind. I haven't used ethtool since way back in the day when I was programming a buggy embedded box for VoIP routing. I've kinda forgotten the purpose of it
 
ethtool -K eth0 rx off 'solved' the problem.

I take it this is a work-around of some kind. I haven't used ethtool since way back in the day when I was programming a buggy embedded box for VoIP routing. I've kinda forgotten the purpose of it

The thing is that some network cards (like Intel e1000) are able to verify checksum using hardware and tell to OS whether checksum of received packet is correct.

This ethtool command disables checksum verification by network card and forces Operating System to verify checksum itself.

One of the nearest updates (but not the nearest I think) will contain the fix for the issue.

==

What about TCP-dump:
sometimes traffic on vnic0/1 are not visible by TCP-dump. It is an issue, but it is considered minor and estimation for fix is not set. It doesn't affect anything
 
The option was removed from GUI, but it is possible to open config-file and enable it. To do so

1) Start the /Application/Utilities/Terminal and execute command "sudo chmod a+rw /Library/Preferences/Parallels/network.desktop.xml" (without quotes, will ask for the password). This will allow all users to write to this file

2) Open in the TextEdit the above-mentioned file. Find in it the lines <HiddenAdapter>1</HiddenAdapter> and replace in these lines the numer 1 to 0 (to make it be <HiddenAdapter>0</HiddenAdapter>)

3) Optionally (it is recommended step) restore back permissions of the file by executing command "sudo chmod 622 /Library/Preferences/Parallels/network.desktop.xml"

4) PD6.0.11822 has a small bug, so one more esoteric step is required: Execute in terminal next two commands

sudo mkdir -p "/Library/Parallels/Parallels Service.app/Contents/PlugIns/Parallels Service.app/Contents/Kexts/10.6/"

sudo cp "/Library/Parallels/Parallels Service.app/Contents/Kexts/10.6/prl_vnic.kext/Contents/enX.plist" "/Library/Parallels/Parallels Service.app/Contents/PlugIns/Parallels Service.app/Contents/Kexts/10.6/"

5) Reboot the Mac or execute the command
sudo "/Library/Parallels/Parallels Service.app/Contents/PlugIns/Parallels Network Start.app/Contents/MacOS/prl_net_start" start


Hello, I tried these steps, but they still don't show in System Preferences.

I'm using the PD6.0.11822 build + Snow Leopard, also, I installed 10.6 on a machine that had 10.5 and I don't remember if I removed those the interfaces from System Preferences while I had 10.5 on my machine.

I need to see them to disable them when I need. My computer is broadcasting this interface's ip (10.211.55.2) on the network and I can't authenticate in a software that needs to see my wireless ip (192.168.1.104)
 
I need to see them to disable them when I need.

Try this way - start /Application/Utilities/Terminal and execute commands "sudo ifconfig vnic0 down" and "sudo ifconfig vnic1 down" (without quotes).

And to revert - "sudo ifconfig vnic0 up", although revert is not required if you don't need to connect to VM from Mac - rare case
 
Unfortunately, this doesn't appear to work anymore.

I installed v6 on a different drive on my MacBook and tried the posted solution to no avail.

The installer appears to have removed my other installation (grr), so there is no way to revert.
 
Unfortunately, this doesn't appear to work anymore.

We are working on KB-article on how to achieve this. Here is a draft of it. This should work.

===

Download the file prl_shownet.zip and extract prl_shownet.sh to your home directory. Then start /Applications/Utilities/Terminal and execute in it next two commands
cd ~
chmod a+x prl_shownet.sh

To make Parallels Adapters be shown in System-preferences, execute
sudo ./prl_shownet.sh
(will ask for the password)

to hide them

sudo ./prl_shownet.sh hide

if all is ok, then something like below should appeared

$ sudo ./prl_shownet.sh
Showing parallels adapters in SystemPreferences
No matching processes were found
No matching processes were found

or

$ sudo ./prl_shownet.sh hide
Hiding parallels adapters from SystemPreferences
 

Attachments

When you install to a different drive, you first need to boot Mac OS X from that drive.

Well, duh. The problem is it removed the application from the NON-root volume. I fully expect it to replace the app on my root volume, but not every single volume I happen to have mounted!
 
We are working on KB-article on how to achieve this. Here is a draft of it. This should work.



editing the system prefs seems to have worked for now. Unfortunately, the latest DP6 and tools makes Linux freeze every 30m. I've reverted to an old version of tools which I hope will fix that problem. PD6 complains that tools is now out of date, but at least it isn't freezing up (kernel 2.6.34)
 
Well, duh. The problem is it removed the application from the NON-root volume. I fully expect it to replace the app on my root volume, but not every single volume I happen to have mounted!

I think you're right. I can't find Parallels Desktop on my Leopard disk anymore (I had version 4 there) even though I only installed Parallels Desktop 6 to my Snow Leopard disk. Parallels should not be erasing stuff without asking me, especially stuff not on the selected disk. I guess next time I should unmount all my other disks before installing.
 
Back
Top