How to share Windows Internet connection AND Airport USB hard disk to WiFi devices?

fvisagie

Active Member
Joined
Apr 4, 2012
Messages
36
Hi All,

I'm trying to share the mobile broadband Internet connection on a Windows 7 PC as well as the USB hard disk connected to the Airport Extreme (2nd Gen) with other WiFi devices. The problem is that I can get either the one to work or the other, but not both.

When I configure the Airport Extreme for DHCP+NAT, all machines on the Airport network can see each other, share files, etc. When I enable Internet Connection Sharing on the Windows 7 machine, the only way I've gotten that to work is to set the Airport Extreme to bridge mode, but then file sharing of the Airport Extreme's disk no longer works.

Device info: Internet-connected Dell Latitude E5420 Windows 7 Professional 32-bit, Airport Extreme 802.11n (2nd Gen), Windows XP Home Edition + Nokia N8 + etc. WiFi devices.

I've read all the manuals I could find and searched these forums but haven't been able to figure out a solution. I'm really getting desperate and will really appreciate any and all suggestions!

Many thanks,
Francois
 

vinodh

Expert Member
Joined
Jan 11, 2009
Messages
2,979
Another option is to use the Airport Extreme just to share the drive and to create a wifi hotspot from the laptop. Here's a quick guide I found somewhere on how to enable the wifi hotspot feature in Windows 7:

Step 1
Feel free to put the following commands into a .bat-file for simpler and faster usage.

Open an elevated command prompt (Type “CMD.EXE” in the start menu search bar, then right click the cmd.exe link and select “Run as Administrator”).
In the command window, type: netsh wlan set hostednetwork mode=allow ssid=MyNet key=MyPassword keyUsage=persistent
Replace “MyNet” with the name you want to use for the wireless network and replace “MyPassword” with your chosen password for accessing it)
Press Enter.
Now type: netsh wlan start hostednetwork
Press Enter.

Step 2 – You need only do this once (usually):
Open Control Panel and go to Network and Sharing Center.
Click Change Adapter Settings.
Right click your Internet connection and select Properties.
Click the Sharing tab.
Check the box that says “Allow other network users to connect.”
Choose your virtual Wi-Fi adapter and click OK.
Now Wi-Fi enabled computers within range should see your new wireless network and others can connect to it if they know the password.
 

fvisagie

Active Member
Joined
Apr 4, 2012
Messages
36
Hi vinodh,

Thanks for your suggestion. Creating a WiFi network specifically for sharing Internet connection is definitely my worst-case backup plan and you've suggested a nice scripted way of doing that.

Not being able to share Internet and drive on the same WiFi network wouldn't be ideal though, since that would mean manually reconfiguring the WiFi clients at each change-over between Internet to drive sharing. One of these client machines is running in unattended mode with no quick & easy GUI access.
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
Francois,
Your best overall solution requires a few other things; yes I know this is most probably going to seem less than ideal for you, but one has to remember:
  1. How the airport extreme was designed to be used
  2. What is going to give you the most flexible and strong wifi signal, and even possible the most flexible mobile solution.
I did a similar setup for my mom recently, only cell signal works at her home, and she wanted the ability to surf if she travelled.

Btw the problem with not seeing the HDD, is because you are trying to use a device that is typically not shared out over the wan port, it can be done but why not rather use the extreme the way it is designed to work.

Basically the airport extreme is a router and not a modem -- key distinction, so you need a modem. Today you have a modem that only has a usb port, and the airport extreme is looking an ethernet port for the WAN connection.

So to fix this dilemma, I'm only going to describe one option, the one I believe to be the best:
  1. Get an external cellular modem, with an ethernet port + cable
  2. Disable wifi on the external cellular modem (why, because thet're generally very poor quality (distance and standards support) vs the airport extreme).
  3. Finally configure wifi on the airport extreme and connect HHD to the extreme (setup windows sharing name).
  4. Connect other equipment via wifi, or extra ethernet ports on the extreme.

Btw when you need to be portable, unplug the external cell modem, and use on the road via either an ethernet cable or activate/deactivate wifi as needed.
 

fvisagie

Active Member
Joined
Apr 4, 2012
Messages
36
Guys, many thanks for responding so thoroughly. Although what you suggest would work technically, for one reason or another none of the currently available options is ideal for my circumstances.

However, I found a solution that works with my existing equipment! It's now possible to share the Windows 7 machine's Internet connection at the same time as the AirPort's drive. An additional challenge was to avoid having to manually reconfigure every WiFi client, but it turned out that's also possible.

For the sake of posterity, here's the guide! :)

[EDIT: here's a downloadable version of this guide that has inline images:
http://www.mediafire.com/download.php?rd8k8y0j75se8jr]


Background

My setup is based on an AirPort Extreme access point WiFi network. The AirPort shares a hard drive, and a number of Windows clients connect to the network. One of these, a Windows 7 machine, has a USB mobile broadband dongle which I also wanted to share with the network.

Previously I got this to work, but whatever configuration I came up with required manual reconfiguration of each network client, one way or the other. This was not ideal. Also, Internet Connection Sharing (ICS) defaults to IP address .1, the same one to which the AirPort defaults. This needed manual reconfiguration of the ICS host each time ICS was turned on.

Solution

THIS SOLUTION REQUIRES THE AIRPORT TO BE IN EITHER DHCP + NAT OR DHCP MODE. IF FOR SOME REASON YOU DEPEND ON THE AIRPORT BEING IN BRIDGE MODE, UNFORTUNATELY THIS SOLUTION WILL NOT WORK FOR YOU.

1. Do the AirPort's non-Internet configuration
On the AirPort Utility main screen, click the AirPort button, work through all the tab sheets and configure the items as you require. Do the same for the Printers, Disks and Advanced buttons. Once that's complete, we can do the Internet configuration.

2. Set the AirPort to DHCP & NAT
This is needed so you can choose the AirPort network address in the next step (but you can still set a different Connection Sharing mode later on, see step 7). For now, set Connection Sharing to Share a public IP address:

e8f4e69893b61793c9f65a8f3412f012490a17d1d9e6f7fc4d76a0a53afde07b6g.jpg


3. Set the AirPort to the same network address as ICS
Set the AirPort to the network address used by ICS, namely 192.168.137.xyz. Note that the AirPort does not allow a beginning address below 2:

e483ea3b1865340a622490bc49d874a1613fb6e2009bc404398a213b3a5fd5186g.jpg


4. Obtain the AirPort's MAC addresses
These will be used in the next step. Record both the Airport ID as well as the Ethernet ID:

077d1aefc537e12820cf33fddd06fdad24fbe678eb9da33de8bcb0014cf20b0c6g.jpg


5. Fix the AirPort IP addresses to prevent clashing with ICS
The AirPort will default to the same IP address as ICS, namely 192.168.137.1. To prevent this, assign different addresses to the AirPort with DHCP reservations. Underneath DHCP Reservations, click the '+' and create reservations for each of the AirPort and Ethernet interfaces. You can use other values, but to be consistent with the rest of this guide use 192.168.137.253 for the AirPort interface and 192.168.137.254 for the Ethernet interface:

c58423eea92730443b43957c713cb7b2eff55e0bae157b498ffcd8cf2082cea96g.jpg


6. Distribute ICS configuration data with AirPort DHCP
Yes, you read right! This is where the magic happens. To avoid having to manually configure each WiFi client for the additional ICS network, that configuration data is included with the AirPort DHCP configuration. Assuming you've stuck to the numbers above, configure the TCP/IP screen exactly as shown. .254 is the AirPort router (and also its Ethernet interface) address, and .1 is the IP address that Windows configures for the ICS interface:

397e35078fca7437be93ecea8685b625e5b7f1b3d23e8523680635d16e883ffe6g.jpg


7. Set AirPort Connection Sharing
If your AirPort is sharing a connection on its WAN port, choose Share a public IP address, otherwise choose Distribute a range of IP address. In the latter case the NAT tab disappears:

3c960f7ad1d2f0cff9d00cdb665c3e6a2307fe8b0472a4d414950b86b162a47c6g.jpg


8. Save your AirPort's configuration
Your AirPort configuration is now complete and you can push the Update button. Once your AirPort has rebooted, its network will be fully operational.

9. Ensure your Internet sharing port is correctly configured
ICS involves two network ports on the sharing computer - the shared Internet-connected port, and the sharing port connected to your local network. When you enable ICS on the shared port, Windows will temporarily configure the sharing port's settings to fit in with the scheme above (it will get the fixed IP address 192.168.137.1). When ICS is disabled, Windows will restore the default configuration of the sharing port. The purpose of this step is to ensure that the default sharing port configuration is correct. When ICS is inactive the sharing port needs to obtain an IP address automatically from the AirPort via DHCP. Right-click your chosen WiFi sharing connection > Properties > Networking > Internet Protocol Version 4 (TCP/IPv4) > Properties and configure as follows:

59c8a11b186c642a0cf27e0bc009732bf7f05317f14f972368dd68e1fa93feb56g.jpg


10. Share your Internet connection
Right-click the connection you want to share > Properties > Sharing and configure as follows (you may find the other settings also useful but they're not covered here):

6d8e010d9f14fb1f2775b45d58f9c74f60957c5dea65b7e0a944695de99703b96g.jpg


And now you're ready to enjoy your local network services as well as your shared Internet connection, all on your Airport Extreme network - without having to lift a finger to configure network clients!

Windows Network Profiles

If you use Windows network profiles to distinguish between Home, Work and Public networks, here are some additional notes you may find useful.

As Windows recognises networks, it applies their assigned profiles which add or remove sets of restrictions wrt. network discovery, file & printer sharing and so on. The amount of ICS configuration data that can be included with AirPort DHCP information is limited and in some instances this interferes with how Windows recognises networks.

It seems that Windows recognises a network once a default router has been configured for it. Following are some known scenarios with fixes for each, based on that principle.

1. WiFi network not recognised
When ICS is enabled, on the ICS host Windows configures only an IP address for the sharing port and no default router. When ICS is disabled, on the ICS host this port receives its configuration from the AirPort via DHCP, as do all other WiFi clients. This DHCP configuration includes router information for the ICS network, but again no router information for the AirPort network itself.

Therefore the AirPort network is not recognised on any Windows machines on the WiFi network, under any circumstances.

To make Windows recognise the AirPort network, execute the following from the command line with Administrator privileges:

route -4 add 0.0.0.0 mask 0.0.0.0 192.168.137.254 metric 3000​

This metric is high enough to ensure that "real" default routes get preference over this one.

If you want to remove the above routing table entry, execute the following from the command line with Administrator privileges:

route -4 delete 0.0.0.0 192.168.137.254​

For convenience I created shortcuts for these two commands.

2. WiFi network recognised, unrecognised network remains
Once you've added the route above to make Windows recognise your AirPort network, when ICS is disabled Windows will probably identify TWO networks on your WiFi adapter:

Unidentified network, your_AirPort_network​

Windows now recognises your AirPort network, but the DHCP router entry for the inactive ICS network makes it think there must be yet another network. However, the 192.168.137.1 ICS port is not present when ICS is inactive, so Windows reports the inactive router entry as an unidentified network.

If you want to remove this unidentified network/router entry, execute the following from the command line with Administrator privileges:

route -4 delete 0.0.0.0 192.168.137.1​

On your Windows ICS host, removing this entry can cause no harm.

However, on network clients where you removed this entry and subsequently want to share your Internet connection from again, you'll need to add it back.

To restore the ICS router entry, execute the following from the command line with Administrator privileges:

route -4 add 0.0.0.0 mask 0.0.0.0 192.168.137.1 metric 1​
 
Last edited:

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
Congrats on figuring that out -- but far too complex IMO, I like things to be simple, that's one of the reasons I like Apple's goodies.
 
Top