Tuesday, 14 August 2012

How To: Connect Your PS3 To Mac Internet Sharing WiFi

Recently I moved to a new house and had to make changes to the way I set up my network to extend WiFi coverage. Part of the solution I employed was to enable Internet Sharing of the ethernet connection on my Mac Mini so other devices could use it as a WiFi connection point.

My Mac Mini is still running OS X 10.6.8 so I had to solve the problems of connecting non-Apple devices to a Mac using WEP. Even when I had other devices connecting, I couldn't get my Playstation 3 to connect. Thankfully the PS3 connection test gives some specific indicators of what is failing, so I could see that the problem was related to getting an IP Address assigned.

When you enable Internet Sharing on your Mac a file is created at /etc/bootpd.plist which should contain something like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Subnets</key>
  <array>
    <dict>
      <key>_creator</key>
      <string>com.apple.nat</string>
      <key>allocate</key>
      <true/>
      <key>dhcp_domain_name_server</key>
      <string>192.168.2.1</string>
      <key>dhcp_router</key>
      <string>192.168.2.1</string>
      <key>lease_max</key>
      <integer>86400</integer>
      <key>lease_min</key>
      <integer>86400</integer>
      <key>name</key>
      <string>192.168.2</string>
      <key>net_address</key>
      <string>192.168.2.0</string>
      <key>net_mask</key>
      <string>255.255.255.0</string>
      <key>net_range</key>
      <array>
        <string>192.168.2.2</string>
        <string>192.168.2.254</string>
      </array>
    </dict>
  </array>
  <key>bootp_enabled</key>
  <false/>
  <key>detect_other_dhcp_server</key>
  <integer>1</integer>
  <key>dhcp_enabled</key>
  <array>
    <string>en0</string>
  </array>
  <key>reply_threshold_seconds</key>
  <integer>4</integer>
</dict>
</plist>

To get your Playstation3 to connect (or other device that is timing out while waiting for an IP Address), you need to change the integer value for the key reply_threshold_seconds from 4 to 0 (zero). Note: You will need an Administrator password to complete this process.

Here are the steps you'll need to follow to get this to work:

  • Turn on Internet Sharing so that the file mentioned above is created.
  • Open the Terminal application (usually found in Applications > Utilities)
  • Type this command and then press return to copy the file into the tmp directory:
    cp /etc/bootpd.plist /tmp/bootpd.plist
  • Turn off Internet Sharing. This will delete /etc/bootpd.plist
  • To open the copied file in TextEdit, type this command in the Terminal window and press return:
    open -e /tmp/bootpd.plist
  • Find this section near the end of the file
    <key>reply_threshold_seconds</key>
    <integer>4</integer>
  • Change 4 to 0 (zero).
  • Save and Close the file and Quit TextEdit.
  • To copy the file back to the original location, type this command  in the Terminal window and press return:
    sudo cp /tmp/bootpd.plist /etc
  • You will be prompted to enter a Password. Enter your Administrator password and press return.
  • Turn on Internet Sharing.
  • Try and connect with your PS3 (or other device).

You can also find details on how to fix this issue at Apple Support Communities and PlayStation®3 Technical Solutions.

Sunday, 12 August 2012

Internet Sharing WiFi with WEP encryption from OSX to non-Apple devices

I almost entitled this post as "How To Use Your Mac As A WiFi Hot-Spot", but hopefully the title I used will help more people find the article and get the simple answer on how to connect to Airport via Internet Sharing when using WEP as security.

There are a lot of simple articles about how to use your Mac as a WiFi Hot-Spot by sharing your Ethernet connection. If you don't know how to do that yet, then I recommend reading "How to Use Your Mac as a Wireless Router" which covers the general setup process nicely, although it does not address the problems you can face when using WEP and trying to connect from non-Apple devices (e.g Android phone/tablet, Windows PC, PS3, Wii, etc.)

The Mac Mini that I was using to share WiFi was running OS X 10.6.8, so the setup screens are slightly different from those in the article above. Here's a screenshot if you want to compare:



Mac OS X 10.6.8 only supports WEP security on Internet Sharing so you either have to use WEP or no security. Nobody wants uninvited users on their network, so using WEP is recommended. Unfortunately using WEP is what usually causes non-Apple devices to fail to connect to the network.

There is a "trick" to get it to work that I will clearly outline for you here, so you don't have to cobble together the solution from a half-dozen sources that all point in the direction but never actually have all the required steps (as I had to do).

This is the process that worked for me:

  • Set a Network Name that does not include spaces or special characters, you may need to reduce the name length (my actual Network Name is 9 characters long)
  • Leave the Channel as automatic unless you need to use something specific
  • Check the box for "Enable encryption (using WEP)"
  • Set the WEP Key Length to "40-bit (more compatible)"

Now comes the arcane step that will allow your non-Apple devices to connect
  • You must use a Password containing five HEXADECIMAL values prefixed with a dollar sign ($). The $ prefix tells your Mac you are entering a hexadecimal value. You do not need to use the $ prefix when connecting to the your Mac
  • Hexadecimal values contain of a pair of characters which are limited to 0-9 and A-F, so you need to enter a password which starts with $ and then has ten characters which must be numbers or the letters A, B, C, D, E or F. (examples $A1B2C3D4E5, $1234567890, $2FACEDBABE )
  • As soon as you enter the $ in the Password field, the WEP Key Length and the OK button will be disabled. When you have entered the same value in Confirm Password (including the $ prefix) then the OK button will be enabled for you to click.
  • If you want to use 128-bit encryption, you must enter 13 hexadecimal values, which equates to 26 characters plus the $ prefix. As soon as you type a password longer than described for 40-bit, then the disabled WEP Key Length field will change to 128-bit. (Note: I have not tested that 128-bit actually works)
  • Click OK and then check the Internet Sharing box, and then click Start.

You should now be able to connect your non-Apple device (and your Apple devices) to your HotSpot using the new password. Remember, you do not need to use the $ prefix when connecting to your Mac.

If you are still unable to connect to your Mac, it may be because your device is failing to receive an IP Address. This is a common problem with Playstation3 consoles, and there is a fix for that which I will detail in my next post How To: Connect Your PS3 To Mac Internet Sharing WiFi.


Note: This is a follow-up post to Dealing With WiFi Dead Zones.


Friday, 10 August 2012

Dealing With WiFi Dead Zones

This month we moved to a new home. Some things about the new place are better, other things are worse, and some things are just different. One of the "different" things is the property layout, it's much longer and narrower. This does cause a problem because the router is located at one end of the property, conveniently near my desk, but too far away from the living room for any usable WiFi.

I didn't want to install long ethernet cables here, so my first response was to look into signal boosting. I even tried the Windsurfer foil parabola reflector which didn't really work for me. Another inexpensive option I considered was to relocate the router to a more central position by using a long modem cable.  This approach didn't really work due to our property layout and the position of power outlets.

In the end I stumbled across a completely different approach which was fairly inexpensive and has provided WiFi signal across the whole house, although with two hotspots.

"TP-LINK's TL-PA211 powerline adapter takes advantage of your home's existing electrical wires to transfer data while simultaneously transferring traditional power. That means, with no additional wiring required, users can simply plug the TL-PA211 into existing power sockets and instantly establish a networking infrastructure."


I'd never used powerline adaptors for extending my network before, but I took a punt on these which has worked out to be a good solution for my set up. I plugged one powerline adaptor in next to the router and connected the ethernet cable, and then plugged the other adaptor at the other end of the house and connected it to my Mac Mini which is currently connected to the TV.

I then enabled Internet Sharing on the Mac Mini running 10.6.8, so that it acts as a WiFi hotspot. This worked great for connecting with an iPad and iPod Touch, but needed some special tweaks to connect non-Apple devices including an Android phone, Dell laptop, Wii and Playstation3. I'll detail the tricks for connecting those devices in my next posts.