I want to use my Mac as a wifi-router on a private network (no internet access). I want users to be able to connect to the network by selecting the SSID on their iOS devices.

Is there a way to do this from the command line? I can select "Create Network..." from the networking menu but that has 2 problems.

  1. The created network shows up under a special section "devices" on iOS. I want it to appear in the normal list of wifi hotspots. How do I do this? I'm assuming maybe I can do it manually I can set whatever needs to be set so iOS can't tell the difference between my mac and a normal router

  2. When selecting it in iOS is says it's not connected to the internet. I want to avoid that message. I get that I'm not actually letting them connect to the internet. The question is, how and I fool iOS into thinking it is connected to the internet. I have a feeling this is related to #1 because how does iOS know there's no internet when it hasn't actually connected to the network yet (I haven't selected it).

Note: any pointers into apple docs would be great as well. I've even tried looking at how something similar would be done in Linux in the hopes that it might lead to ideas about OSX but my Google foo is weak for this topic.

  • What's the benefit of connecting to a network and display it pretending it has internet, but it does not? – Rob Apr 15 '14 at 7:09
  • The created network shows up under a special section "devices" on iOS. - Where is this? I dont think I have ever seen such a section on an iOS device. – bobbyalex Apr 15 '14 at 7:58
  • See "sysg" at the bottom of this screenshot. Note: It's off the screen and you'd have to scroll down to see it. – gman Apr 15 '14 at 8:17
  • 2
    @Rob, I'm making an art installation that requires users to connect to a network at the site to access. I'm trying to make it as seamless as possible. That means telling users they have to scroll down because the thing they need to select is off the screen is a no-go. Similarly, having their iOS device tell them there's no internet and therefore refusing to allow them to access Safari is also a no-go. I can setup a router to do this but then, anyone else that wants to put on the exhibit also needs to go out and buy a router. If OSX can be the router they can do it without spending more $ – gman Apr 15 '14 at 8:21

What you are trying to do is indeed possible, but it requieres a lot of work to get it working.

I thought about that for a while and it is a great Idea to use a mac as Wifi-Router, especially in Virtual-Test-Environments. But Mac OS X does not work like that.
The reason for that is, that Mac OS X only starts the service, if you really have Internet connection. Why would you share your internet, if there is no internet. Simple as that. Simple as a Mac ;D

But you can work around this by setting up virtual Network Interfaces, that would simulate internet.
There is a nice discussion about Virtual network interfaces on Stack Overflow, meantoning your problem in a comment :

https://stackoverflow.com/questions/87442/virtual-network-interface-in-mac-os-x

(especially the long post by "bmasterswizzle" with the comment : "I've tested it and yes, it does. I was able to share my OpenVPN tun0 device (from my Ethernet connection) over my WiFi using this method. ")

You get this problem often with Virtual Machines, because there OS X also shares ethernet via the NAT-Bridge, but in fact does not need to have Internet Access to make it work.

It is a bit of an efford and I think you could easily go around it, if you have a script that fakes the Internet Traffic on En0 so you can share the En0 to the Wifi-Adapter. But I have no clue how to talk to the en0 interface via command line and faking traffic.

And as long as there is no traffic, your Mac won't share the Connection.

This type of network is know as an Ad-hot network. The procedure to create one is listed here: http://www.maclife.com/article/columns/maclife_101_how_create_adhoc_network

After creating an Ad-hoc network, you will see it listed in the list of wifi networks on your iOS device.

Note that you wont be able to connect to the internet using your WiFi connection if a device is connected to the adhoc network. But since you dont want the other device to access the internet, this should be ok.

I don't think the act of just connecting to a wifi network results in the message you stated. I have only seen that message, say, if you launch the browser or open an app that requires an Internet connection and as far as I know, there is no way to disable that message on an iOS device.

  • Thanks for the try but as pointed out in the original message this doesn't work. Unless there is internet to actually share picking to share the internet doesn't startup anything. No SSIDs appear on other machines to select to connect to on the iOS devices. As for the message on iOS. That's why I'm asking. The hardware is certainly capable of doing this as I can install Linux or Windows and do it just fine. So the question is, how to do it on OSX, even if I have to install other software or edit system configuration files. – gman Apr 15 '14 at 8:08
  • The message is shown by iOS. What has OSX got to do with it? – bobbyalex Apr 15 '14 at 8:12
  • That's the whole point of the question. Why is OSX causing iOS to display this message when a normal router does not? I want OSX to behave like a router so I'm asking how to do that. – gman Apr 15 '14 at 8:23
  • If your iOS device is connected to a wireless network which does not have access to the Internet, and if you open an app which requires a connection to the internet, it will show that error message. This is not specific to OSX ad hoc networks. BTW, where exactly are you seeing this error message? – bobbyalex Apr 15 '14 at 8:27
  • I don't get this message if I connect my iOS device to a router that is not connected to the internet. I only get it if I connect it to my Mac which is not connected to the internet. I want to know how to get my Mac to behave EXACTLY like the router. (a) so the SSID shows up with other routers instead of its own special section and (b) so that when I select it it doesn't complain there is no internet. – gman Apr 15 '14 at 8:32

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.