Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Disable Airport Extreme cards to allow VirtualPC networking System
Here is my workaround for the problems with Virtual PC and the 17" PowerBook's built in AirPort Extreme card (Connectix talks about this in their knowledge base - article 4871). This workaround allows you to configure Virtual Switch networking properly so you can run servers in your Virtual PC session. Users of Shared Networking need not do this since Shared Networking "works." Note, however, that this workaround also completely disables the Airport card in your machine (as would Connectix' solution, which is to physically remove the card from the machine!).

I was able to perform this process with the help of my friend Jason from Shekinah Studios who pointed me in the right direction by telling me about the extensions directory and what it was for. Thanks Jason!

[robg adds: I have not tested this hint, and clearly, there's potential for bad things to happen if you do something wrong. However, given the alternative of physically opening the machine up and removing/inserting the card each time you want to use VPC networking, this seems like the much safer solution! Please read the whole article before proceeding, and pay attention to the author's warnings ... and if you know of an easier method, by all means, please post it in the comments.]

A few words of caution before we start:
  • Please read this whole thing before proceeding. At the end, I talk about some of the caveats and issue with this workaround. It would be smart to review all of this before proceeding.
  • You will be working as root and this procedure could potentially damage your operating system if done improperly. The files in the extensions directory are vital to the operation of OS X. If you delete them, you may render your system unusable, requiring a reinstall of OS X. Be smart and take your time. Don't delete files, just move them, and keep multiple backups (as my procedure does). Also, when you operate as root (superuser), you can do anything. This is a very dangerous mode to work in, and you can damage your operating system to the point of non-functionality. If you feel uneasy about this, then don't try it!
  • Please be safe! Backing up your whole system might seem extreme when moving just three files, but if you roast your operating system, you will be glad you did.
  • I take no responsibility for the results of this process. If you perform this procedure, the results are on your head. If OS X chokes and dies, VPC decides not to work, or your cat / dog / boyfriend / girlfriend runs away, it's not my fault, and you have been warned!
Here's how to do it:
  1. Go to the directory /System -> Library -> Extensions/

  2. Create a folder on you desktop to backup these files.

  3. Copy these three files from the extensions folder to the backup directory:
    AppleAirPort.kext, AppleAirPortFW.kext, and AppleAirPort2.kext

  4. Start up a terminal session.

  5. Go to the same directory in terminal with:
    % cd /System/Library/Extensions

  6. Change to superuser mode or prefix each command with sudo (superuser do). The su command will prompt you for your root password. Warning this sets you as root, and you can DO ANYTHING BE CAREFUL
    % su
    Password:


  7. Create a backup directory to store the three files:
    % mkdir backup

  8. Move the three files to this backup directory:
    % mv AppleAirPort.kext backup
    % mv AppleAirPortFW.kext backup
    % mv AppleAirPort2.kext backup


  9. Exit your terminal session

  10. Now reboot your system
This process could also be done entirely from Finder, but I'm more comfortable doing this in a terminal session. You would have to change the permissions of the files before doing the move. I found the method more complicated, but if you know how to do it all from Finder, go ahead. Just be careful. Working as a root user and fiddling with permissions can have disastrous consequences to the functionality of your operating environment.

Caveats:
  • This eliminates your Airport Extreme. It will no longer be visible to OS X. It in effect removes it from the operating system's consciousness. If you need the AirPort, this workaround won't help you. If you need to restore the AirPort, copy the files back into the extensions directory and reboot.

  • After performing this procedure I also had to install a new copy of Windows 2000 since the old instance was totally broken. I don't know if this was because of the changes resulting from this workaround or was due to the messing around I was doing trying to get the thing working. Don't be surprised if you have to re-install Windows 2000 or whatever it is you are using.
    •    
  • Currently 1.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (2 votes cast)
 
[8,869 views]  

Disable Airport Extreme cards to allow VirtualPC networking | 13 comments | Create New Account
Click here to return to the 'Disable Airport Extreme cards to allow VirtualPC networking' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Possible way of doing it without restarting...
Authored by: cparker on Apr 11, '03 01:16:25PM
Someone at work told me he was having this problem and the first thing I thought of was KisMAC, the wireless sniffing tool. It has to unload the Airport Driver to use its own so that you can sniff. That code is based on VihaController which is here.

I don't have anything to try this with, so don't hold me responsible if something breaks. I just know that this software will unload the old Airport driver. It might not even work with the Airport Extreme driver... I do know that I used KisMAC to stop and start the Airport driver on my old iBook without rebooting, and without pain.

[ Reply to This | # ]
Possible way of doing it without restarting...
Authored by: jambrose on Apr 11, '03 02:13:40PM
Went to the KisMAC site to check this out since a piece of software that and enable/disable the Airport Extreme is very preferable to moving the extensions. Unfortunately, it appears the Airport Extreme is not supported now. :(

In addition, I can say that 10.2.5 did nothing for the AE/VPC problem, not that I expected it to. I replaced the extensions for the upgrade just in case, did the upgrade and tested. Still no go. However, I did discover that the only extension you really need to move is the AppleAirPort2.kext. The others do not seem to matter.

[ Reply to This | # ]

An easier way
Authored by: yoel on Apr 11, '03 04:09:22PM
To disable Airport:
% sudo kextunload -b com.apple.driver.AppleAirPort2

To turn it back on:
% sudo kextload /System/Library/Extensions/AppleAirPort2.kext

Much easier than moving files and rebooting, no?

[ Reply to This | # ]
An easier way
Authored by: JohnnyMnemonic on Apr 11, '03 07:40:02PM

Don't forget "kextload" when you want to start it up again!

I haven't tried this, as I don't have AE,but does it actually work? Would be a pretty useful as a script!



[ Reply to This | # ]
An easier way
Authored by: don4r on Apr 11, '03 10:39:29PM
Here is such a script. It is derived from the driver.sh script for loading/unloading the viha wireless driver used with kismac.

To unload the airport extreme kext, type: sudo sh ./ae_driver.sh stop
To start it back up: sudo sh ./ae_driver.sh start
If you want to unload/reload the driver (because something strange is happening): sudo sh ./ae_driver.sh restart

[ Reply to This | # ]

An easier way
Authored by: thewolf on Apr 13, '03 09:07:29AM

That didn't work for me on a PowerBook 17" with OS X 10.2.5:

***
sudo kextunload -b com.apple.driver.AppleAirPort2

unload id com.apple.driver.AppleAirPort2 failed (result code 0xe00002c2)
***

Any idea?

Thanks.



[ Reply to This | # ]
Hmmm
Authored by: yoel on Apr 13, '03 08:50:44PM
Can you post the results of running kextstat?

[ Reply to This | # ]
Hmmm
Authored by: thewolf on Apr 14, '03 04:13:08AM

Here you go:

---
sudo kextstat
Index Refs Address Size Wired Name (Version) <Linked Against>
1 1 0x0 0x0 0x0 com.apple.kernel (6.5)
2 10 0x0 0x0 0x0 com.apple.kernel.bsd (6.5)
3 40 0x0 0x0 0x0 com.apple.kernel.iokit (6.5)
4 39 0x0 0x0 0x0 com.apple.kernel.libkern (6.5)
5 26 0x0 0x0 0x0 com.apple.kernel.mach (6.5)
6 3 0x0 0x0 0x0 com.apple.iokit.IOADBFamily (6.5)
7 1 0x0 0x0 0x0 com.apple.iokit.IONVRAMFamily (6.5)
8 1 0x0 0x0 0x0 com.apple.iokit.IOSystemManagementFamily (6.5)
9 1 0x0 0x0 0x0 com.apple.iokit.ApplePlatformFamily (6.5)
10 1 0x0 0x0 0x0 com.apple.driver.AppleNMI (6.5)
11 15 0x14ec5000 0x9000 0x8000 com.apple.iokit.IOPCIFamily (1.2) <4 3>
12 0 0x14f4f000 0x18000 0x17000 com.apple.driver.AppleMacRISC2PE (1.3.4f1) <11 5 4 3>
13 0 0x14f80000 0x6000 0x5000 com.apple.BootCache (12.3) <5 3 2>
14 4 0x15048000 0x2d000 0x2c000 com.apple.iokit.IOHIDFamily (1.2.5) <4 3>
15 3 0x150a4000 0x2000 0x1000 com.apple.iokit.IOHIDSystem (1.2.1) <14 4 3>
16 5 0x1514c000 0x1c000 0x1b000 com.apple.iokit.IOGraphicsFamily (1.2.6) <11 4 3>
17 0 0x1518a000 0x4000 0x3000 com.apple.driver.AppleGossamerPE (2.0.0d5) <11 5 4 3>
19 0 0x151e5000 0x3000 0x2000 com.apple.driver.AppleCore99NVRAM (1.1) <5 4 3>
20 0 0x15217000 0x6000 0x5000 com.apple.driver.AppleMacRiscPCI (1.3) <11 5 4 3 2>
21 0 0x15233000 0x3000 0x2000 com.apple.driver.AppleHWClock (1.0.3d2) <5 4 3>
22 0 0x1525c000 0x6000 0x5000 com.apple.driver.AppleI2C (3.2.8) <5 4 3>
23 4 0x15325000 0x18000 0x17000 com.apple.iokit.IONDRVSupport (1.2.6) <16 11 4 3>
24 2 0x155c3000 0xe3000 0xe2000 com.apple.NVDAResman (2.2.0) <23 16 11 4 3>
25 0 0x1582a000 0x30000 0x2f000 com.apple.nvidia.nv10hal (2.2.0) <24 23 16 11 4 3>
26 0 0x1e89b000 0x9000 0x8000 com.apple.driver.AppleKeyLargo (1.3.5d1) <5 4 3>
27 0 0x1e9a3000 0x20000 0x1f000 com.apple.iokit.IOPCCardFamily (1.3.1) <11 5 4 3>
28 0 0x1e9d7000 0x3000 0x2000 com.apple.driver.AppleMPIC (1.1) <5 4 3>
29 0 0x1e9ef000 0x4000 0x3000 com.apple.driver.AppleVIA (1.1) <5 4 3>
30 4 0x1ea47000 0x11000 0x10000 com.apple.iokit.IOATAFamily (1.5.3f1) <4 3>
31 0 0x1ea7e000 0x3000 0x2000 com.apple.driver.KeyLargoATA (1.0.9f1) <30 4 3>
33 8 0x1eb19000 0x1b000 0x1a000 com.apple.iokit.IOUSBFamily (1.9.8) <5 4 3>
34 0 0x1eb80000 0xb000 0xa000 com.apple.driver.AppleUSBOHCI (1.9.9f3) <33 11 5 4 3>
35 0 0x1ebe9000 0x17000 0x16000 com.apple.driver.ApplePMU (1.8.5) <5 4 3>
36 4 0x1ec70000 0x14000 0x13000 com.apple.iokit.IOSCSIArchitectureModelFamily (1.2.4) <5 4 3>
37 0 0x1ecbd000 0x5000 0x4000 com.apple.iokit.IOATAPIProtocolTransport (1.2.0) <36 30 5 4 3>
38 6 0x1ed32000 0x19000 0x18000 com.apple.iokit.IOStorageFamily (1.2.3) <4 3 2>
39 0 0x1eda6000 0xb000 0xa000 com.apple.iokit.IOATABlockStorage (1.2.4) <38 30 4 3 2>
40 0 0x1eddd000 0x3000 0x2000 com.apple.driver.AppleKauaiATA (1.0.0d3) <30 11 4 3>
41 3 0x1ef06000 0x3a000 0x39000 com.apple.iokit.IOFireWireFamily (1.2.9) <4 3>
42 0 0x1efc7000 0x12000 0x11000 com.apple.driver.AppleFWOHCI (1.3.7) <41 11 4 3>
43 0 0x1f04f000 0x9000 0x8000 com.apple.driver.AppleUSBHub (1.9.9f6) <33 5 4 3>
44 2 0x1f0b1000 0xd000 0xc000 com.apple.iokit.IOCDStorageFamily (1.2.1) <38 5 4 3 2>
45 1 0x1f137000 0x11000 0x10000 com.apple.iokit.IOSCSIBlockCommandsDevice (1.2.4) <38 36 5 4 3 2>
46 1 0x1f19a000 0x7000 0x6000 com.apple.iokit.IODVDStorageFamily (1.2) <44 38 5 4 3 2>
47 0 0x1f266000 0x18000 0x17000 com.apple.iokit.IOSCSIMultimediaCommandsDevice (1.2.4) <46 45 44 38 36 5 4 3 2>
48 0 0x1f2c5000 0x6000 0x5000 com.apple.iokit.SCSITaskUserClient (1.2.4) <38 36 5 4 3 2>
49 0 0x1f2f4000 0x3000 0x2000 com.apple.driver.AppleUSBComposite (1.9.7) <33 5 4 3>
50 0 0x1f33d000 0x3000 0x2000 com.apple.driver.AppleADBKeyboard (2.3.2d1) <15 14 6 5 4 3>
51 0 0x1f384000 0x3000 0x2000 com.apple.driver.AppleADBButtons (1.0.2) <15 14 6 5 4 3>
52 1 0x9ffa000 0x12000 0x12000 com.apple.driver.ndrv.NVDA,NVMac.0x9ffa700 (4.2.0f4)
53 1 0x14e15000 0xb000 0xa000 com.apple.iokit.IOFireWireAVC (1.2.3) <41>
54 0 0x14e20000 0x4000 0x3000 com.apple.driver.AppleMLANAudio (1.0.3b2) <53 41>
55 0 0x14e24000 0xd000 0xc000 com.apple.driver.AppleVSP (1.0.3fc1)
56 3 0x14e40000 0xb000 0xa000 com.apple.iokit.IOSerialFamily (6.0.1d19)
58 0 0x14e60000 0x5000 0x4000 com.apple.iokit.IOUSBHIDDriver (1.9.7) <33 14>
61 2 0x14e73000 0x1d000 0x1c000 com.apple.iokit.IONetworkingFamily (1.2)
62 0 0x14e92000 0xa000 0x9000 com.apple.iokit.IOUSBUserClient (1.9.7) <33>
63 0 0x14ea0000 0xa000 0x9000 com.apple.iokit.AppleGMACEthernet (1.2.4b3) <61 11>
64 3 0x14ed6000 0x1e000 0x1d000 com.apple.iokit.IOAudioFamily (1.3.5)
65 2 0x14eb2000 0x8000 0x7000 com.apple.driver.AppleDBDMAAudio (1.8.8b1) <64>
66 1 0x14ef4000 0x12000 0x11000 com.apple.driver.AppleOnboardAudio (1.8.8b4) <65 64>
67 1 0x14eba000 0x3000 0x2000 com.apple.driver.AudioI2SControl (1.8.8b1)
69 2 0x14f86000 0x34000 0x33000 com.apple.iokit.IOBluetoothFamily (1.2fc10)
70 1 0x14f11000 0x5000 0x4000 com.apple.driver.AppleUSBBluetoothHCIController (1.2fc10) <69 33>
71 0 0x14f16000 0x3000 0x2000 com.apple.driver.CSRUSBBluetoothHCIController (1.2fc10) <70 69>
72 0 0x14fba000 0x60000 0x5f000 com.apple.iokit.AppleAirPort2 (3.0.4) <61 11>
73 0 0x14f2f000 0x7000 0x6000 com.apple.driver.AppleADBMouse (2.0.8d1) <15>
74 0 0x14f6a000 0x4000 0x3000 com.apple.driver.MacIOGPIO (1.0.1fc1)
75 0 0x14f71000 0x5000 0x4000 com.apple.driver.InternalModemSupport (2.1.1) <56 33>
76 0 0x150ae000 0x4000 0x3000 com.apple.kext.AppleLMUController (1.0fc1)
77 0 0x150b2000 0xb000 0xa000 com.apple.AppleOnboardDisplay (1.3.5) <23 16 11>
79 0 0x150cb000 0x28000 0x27000 com.apple.GeForce (2.2) <24 23 16 11>
80 0 0x15113000 0x3000 0x2000 com.apple.driver.AppleADM103x (1.0.3fc1)
81 0 0x15377000 0xf8000 0xf7000 com.abc.xUSBTADrv (1.0d1) <56 33>
82 0 0x1511a000 0xb000 0xa000 com.apple.driver.AppleTexas2Audio (1.8.8b2) <67 66 65 64>
84 0 0x1512d000 0x3000 0x2000 com.apple.driver.AppleHWSensor (1.0d1)
87 0 0x152ac000 0xb000 0xa000 com.apple.iokit.IOBluetoothSerialManager (1.2fc10) <56>
88 0 0x1ea03000 0x6000 0x5000 com.apple.nke.SharedIP (1.3.1)
89 0 0x1ede5000 0x51000 0x50000 com.netlock.kext.NetlockKernel (2.1.2)
90 0 0x1ecec000 0x6000 0x5000 com.apple.nke.IPFirewall (1.2.1)
---

Thanks.



[ Reply to This | # ]
OK
Authored by: yoel on Apr 14, '03 02:40:43PM
Try
% sudo kextunload -b com.apple.iokit.AppleAirPort2
to turn off the card.

[ Reply to This | # ]
it worked!
Authored by: thewolf on Apr 15, '03 04:51:01AM

It worked, thanks.

But I had to issue the command two times, since the first try didn't work:

---
sudo kextunload -b com.apple.iokit.AppleAirPort2
unload id com.apple.iokit.AppleAirPort2 failed (result code 0xdc004002)

sudo kextunload -b com.apple.iokit.AppleAirPort2
unload id com.apple.iokit.AppleAirPort2 succeeded (any personalities also unloaded)
---

Any idea?

Also, how do I reload the airport driver?

Thanks.



[ Reply to This | # ]
To reload -- and have you had any problems? [Was: it worked!]
Authored by: don4r on Apr 15, '03 03:11:04PM
To reload: sudo kextload /System/Library/ Extensions/AppleAirPort2.kext

However, I have had very bad luck doing this.. To the tune of system lockups, hangs on reload of the kext, failure to suspend and resume... Anyone else seen this?

[ Reply to This | # ]

No Problems Here
Authored by: saint.duo on Apr 11, '03 04:20:42PM

one of my coworkers has a 17" PowerBook with AirPort Extreme, and is having no issues with Virtual PC 6.
just an FYI.

---
--
duo



[ Reply to This | # ]
No Problems Here
Authored by: michael_aos on Apr 12, '03 03:43:09AM

I bet your friend is using "shared networking" instead of "Virtual switch".

"Virtual Switch" will not function at all with an Airport Extreme card installed.

Mike



[ Reply to This | # ]