[NTLK] Sharing a Mac's internet connection over Bluetooth

From: Steven Frank <stevenf_at_panic.com>
Date: Mon Sep 11 2006 - 19:14:48 EDT

Forgive me if this has been covered before. I did a quick search and
didn't see anything.
Assuming you have a Mac with a working internet connection, and a
Newton with a working Bluetooth card, your Mac can "share" the
internet connection to the Newton, via Bluetooth.

Why is this neat? Well, for example, I usually keep my Bluetooth
card in my Newton, but used to have to swap it out for a WiFi card if
I wanted to connect the Newt to the internet. Also, the WiFi card
uses WAY more battery power than the Bluetooth card. Now, if I'm
within 30 feet of my Mac, I can get my Newton online with a nice low
power Bluetooth connection.

Unfortunately, setting it up is a bit complex.

It is assumed that you already have worked out the kinks in your
Newton Bluetooth setup. You should be paired with the Mac, and have
done a service discovery. Make sure you select the Mac's Serial Port
service in the Newton's Bluetooth Setup (there was only one in my
case).

Next, you'll need to go to Terminal on the Mac, and carefully enter
these commands.

sudo /usr/sbin/sysctl -w net.inet.ip.forwarding=1

sudo /usr/sbin/natd -interface en1 -use_sockets -same_ports -dynamic -
clamp_mss

(Note the "en1" here. If your Mac is connected to the internet using
AirPort, use en1. If it's connected using Ethernet, use en0 here
instead.)

sudo /sbin/ipfw add divert natd ip from any to any via en1

(Same deal with the "en1" here.)

sudo named

sudo named

(I'm not sure this has to be done twice. One site I was reading
suggested it.)

sudo /usr/sbin/pppd /dev/tty.Bluetooth-PDA-Sync 230400 noauth local
passive proxyarp asyncmap 0 silent persist :10.0.1.111

This starts a PPP server on the Bluetooth-PDA-Sync serial port. Note
the IP address here. I've used 10.0.1.111. This will be the address
assigned to your Newton.

This can be anything you like, but it should be a valid IP address
for your LAN. If you use, for example, 192.168 addressing, you
should use a 192.168.0.x address instead. Make sure it's not an
address that's in use by something else!

Now, you need to set up an internet connection on the Newton side!
Whew!

Create a new Internet Setup called whatever you like.

Protocol: PPP
Configuration: Manual
User ID: <none>
When closing, disconnect: <your preference>
Local IP Address: (whatever IP address you used in the pppd command
above!)
Gateway/Router Address: (the IP address of the machine that's sharing
its connection -- in my case, the Mac. NOT the address of your
actual router!)
Primary DNS: <an actual working DNS address> (Using 0.0.0.0 doesn't
seem to cut it.)
Secondary DNS: <optional, up to you>
Domain Name: <none>

Now, cross your fingers, and initiate a network connection from the
Newton. With a little luck, it should connect to the PPP server
running on your Mac, and get online.

When you are all done, and you want to turn off the internet sharing
on the Mac, try the following commands:

sudo killall pppd
sudo killall named
sudo /sbin/ipfw -f flush
sudo killall natd
sudo /usr/sbin/sysctl -w net.inet.ip.forwarding=0

A FEW NOTES:

- I've only tried this on Mac OS X 10.4 Tiger

- At one point I went into the Bluetooth system preferences pane,
Sharing tab, and changed the Bluetooth-PDA-Sync serial port from
"Modem" to "RS-232". I'm not sure if this is required, but it's
something to try if it doesn't work for you.

- Because this runs a PPP server on the Bluetooth-PDA-Sync port, it
will conflict with anything else that tries to use that port, such as
Palm HotSync.

- Some day I should probably make this a one-click operation in
NewTen. :)

Good luck, and let me know how it goes...

Steven
http://panic.com/
http://stevenf.com/

-- 
This is the NewtonTalk list - http://www.newtontalk.net/ for all inquiries
Official Newton FAQ: http://www.chuma.org/newton/faq/
WikiWikiNewt for all kinds of articles: http://tools.unna.org/wikiwikinewt/
Received on Mon Sep 11 19:14:51 2006

This archive was generated by hypermail 2.1.8 : Wed Sep 20 2006 - 19:30:00 EDT