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

Discussion in 'Installation and Configuration of Parallels Desktop' started by BallO, Oct 15, 2010.

  1. BallO

    BallO Hunter

    Messages:
    117
    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?
     
  2. BallO

    BallO Hunter

    Messages:
    117
    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
     
  3. Elric

    Elric Parallels Team

    Messages:
    1,718
    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: Oct 16, 2010
  4. Elric

    Elric Parallels Team

    Messages:
    1,718
    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: Oct 16, 2010
  5. BallO

    BallO Hunter

    Messages:
    117
    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 :)
     
  6. BallO

    BallO Hunter

    Messages:
    117
    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!
     
  7. BallO

    BallO Hunter

    Messages:
    117
    (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.
     
  8. Elric

    Elric Parallels Team

    Messages:
    1,718
    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
     
  9. BallO

    BallO Hunter

    Messages:
    117
    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.
     
  10. BallO

    BallO Hunter

    Messages:
    117
    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
     
  11. Elric

    Elric Parallels Team

    Messages:
    1,718
    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
     
  12. FilipeF

    FilipeF Bit poster

    Messages:
    1

    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)
     
  13. Elric

    Elric Parallels Team

    Messages:
    1,718
    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
     
  14. grembo

    grembo Bit poster

    Messages:
    9
    Can you please bring this option back to future builds of PD6 .
     
  15. BallO

    BallO Hunter

    Messages:
    117
    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.
     
  16. Elric

    Elric Parallels Team

    Messages:
    1,718
    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
     

    Attached Files:

  17. joevt

    joevt Forum Maven

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

    Previous version of Parallels Desktop 2.5,3,4,5 can be downloaded at:
    http://kb.parallels.com/5802

    I don't see a way to download previous versions of Parallels Dekstop 6.
     
  18. BallO

    BallO Hunter

    Messages:
    117
    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!
     
  19. BallO

    BallO Hunter

    Messages:
    117


    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)
     
  20. joevt

    joevt Forum Maven

    Messages:
    1,229
    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.
     

Share This Page