SRI International Computer Science Laboratory


Email On The Road

John Rushby

Although this started off as "email on the road", it evolved into more general "electronic gadgets on the road". Most of it was written around 2002 and is now rather antiquated (e.g., I haven't used a dialup connection for several years). I'll try to update it soon and to reorganize it to make the different topics clearer.
Note: the following is rather technical. I'll be happy to provide additional details, but only to the level that someone with a programming background can understand.

I'm assuming you just want to exchange short ascii emails with friends and family and to stay in touch with work--say a dozen messages a day, each no longer than about 50 lines. Of course, a Blackberry can do this (now--they didn't exist when I was first writing this); the challenge is to be able to do this inexpensively, from almost anywhere in the world. If you are in an environment where communication of a 6-point agenda requires a 2 MB Powerpoint file (and I have experienced exactly this), then these notes will not help you much. I also include some asides on printing documents and making phone calls while traveling.

To cut to the chase, my currently preferred methods for staying in touch worldwide are to use my Axim 30 Pocket PC with WiFi, if that's available for free, or the Axim (via Bluetooth) or my Palm Zire 31 (via IrDA) with my cellphone on T-Mobile's t-zones (GPRS) service wherever that works (basically, anywhere apart from Japan and Korea, and really remote regions elsewhere).

Aside: Traveling with a Computer

There are only two rational approaches to packing for travel: take almost nothing, or take almost everything. If your journey involves public transport, and airline travel in particular, then this comes down to a choice between traveling with just a carryon, or checking a suitcase. On US airlines, you can carry on a reasonable size rollaboard plus a briefcase or small backpack, so it's feasible to go the carryon-only route; it's also highly advisable, since US airlines typically take 30 minutes to an hour to deliver checked bags. Although many people carry on rollaboards the size of refrigerators, my experience is that the smallest ones (18 inches) make life much simpler. Assuming you need to get some clothes and other stuff in your carryon and backpack, the "almost nothing" approach mandates a laptop that is small (under inch thick with a screen less than 12 inches) and light (under 2 pounds). Small laptops have the additional advantages that they fit into the corner of an ordinary bag without needing one of those special padded laptop cases, they have small, light batteries and power supplies, and you can use them on the plane, even if you are stuck in coach and the person in front reclines their seat.

Most of the really small laptops are not exported to the west (apparently there's no market for them) so you either have to buy them in Japan or get them from a specialized service such as conics.net or dynamism. A plausible American product is the 10 inch series from Averatec.

I've used Toshiba Libretto laptops for many years. These are about the tiniest functional laptops. I started with a model 20, then a 70, and now have an L5, which I bought in Tokyo for under $1,000. It comes with Japanese Windows, which is an educational experience, but I use it mostly with RedHat 7.3 Linux. Toshiba is no longer doing much in this market. The coolest small machine is currently the Panasonic R5.

It's also feasible to accomplish quite a lot with just a palmtop. I've uses a Palm IIIxe and, more recently, a Zire 31. The IIIxe runs on AAA batteries, so you can use it when you are away from reliable power for long periods, or traveling very light. I also have a Dell Axim 30 Pocket PC with built-in WiFi and Bluetooth. I find the Palm is better as a PDA, but the Axim is a better laptop replacement (it can display PDF, Word, and Powerpoint files, and it runs Skype); a higher-end Palm might be the best of both worlds (though it cannot do Skype).

The descriptions below are specialized to the devices I use (and in particular to Linux and Palm) but should apply to similar setups; I've no experience with Windows or Macs, though I have recently acquired a Pocket PC (a Dell Axim 30 with builtin WiFi and Bluetooth) which is an interesting contrast to the Palm.

Power

Computers need power. Most come with universal power supplies (i.e., they work on any voltage from about 100 to 240), so the only thing needed is an adapter between the plug on the power supply and the adapter in your hotel or office. Kropla.com has definitive information on the sockets found worldwide. You can buy individual adapters, or fairly complete sets, from travel and electronic stores. It's an advantage if your power supply uses non polarized US or Japanese-type plugs as these are the smallest, and so are their adapters to other sockets. If you have polarized plugs (one blade wider than the other) or grounded (3-pin) ones, consider first using an adapter down to the two-pin nonpolarized form. I also carry a small, flat, 3-way adapter: this lets me connect three things to one socket, and it also lets me share a socket already in use by someone else in places where these are rare (like airports, outside of clubrooms).

The power supplies for palmtops, cellphones, MP3 players and the like are often bigger and heavier than the devices themselves. However, most devices can be charged through a USB port: either on your own computer, or somebody else's, or on one of these USB power adapters. Both the Zire 31 and Axim 30 can be charged through their USB hotsync cables, and you can get cables to charge most cellphones the same way. The iPod Shuffle MP3 player is tiny and cheap, has excellent sound quality and battery life, and it plugs directly into a USB port for charging. I use the USB method to charge all these devices and leave their power bricks at home. While we're talking about MP3 players, you should throw away the headphones that came with your device and get a decent pair of IEMs (in-ear monitors, also known as canalphones); these go deep inside your ear and provide complete sound isolation and excellent sound quality. Check out the IEMs from Etymotic, Shure, Ultimate Ears, or Westone (I use Westone UM1s). No other consumer purchase will give you so much satisfaction as a pair of IEMs; a good comparison is here. Don't even think about sound-canceling headphones such as Bose: these are inferior to IEMs in every way--expensive, physically huge, you cannot sleep on your side with them on, inferior sound, inferior sound isolation, and they need batteries.

For cameras, mini-speakers, GPS receivers, flashlights, and other travel necessities that require regular batteries, there is no better charger than the fast and tiny Lighning Pack 400n and the high-capacity NiMH cells available from Ripvan100.

Connecting to the Internet

The first step is to connect to the internet. There are four basic approaches: dialup, broadband (either wired or wireless), cellphone (either CSD or GPRS), or internet cafes. It's best to have the equipment, knowledge, and accounts that will enable you to use all four, since you never know what local circumstances you will encounter. However, given a choice, my preference is cellphone and GPRS. After making a connection, you can move on to sending and receiving mail and maybe some light web browsing, or even connect to your home system.

Worldwide Dialup ISPs

You want to be able to dialup a PPP connection to the Internet with a local (or toll-free) call, no matter where you are in the world. There are several ISPs that offer this kind of worldwide service: they have POPs ("Points of Presence") all over the world so that you can usually find one that it is a local call from your hotel. Many countries other than the USA have "nationwide local toll" numbers: these are charged as a local call no matter where in the country you are (in the UK, for example, these are 0845 numbers; from a landline they cost about 4p a minute during the day, 2p in the evenings, and 1p at weekends). Of course, the hotel may add a hefty markup to this. My experience is that the UK is the worst place for gouging on all telephone calls made from hotels; most other countries are very cheap for local calls, even if they gouge on long distance and international (though the US hotel chains tend to gouge worldwide).

It's usually best to belong to more than one of these services, since some are better in some areas than others, and things sometimes go wrong. I use IBMnet (it's now run by ATT under the name ATTGlobal), and Roam International (which has recently ceased operation--the link leads to a replacement service that looks OK but expensive, although I have no personal experience of it).

IBMnet has vastly different deals in different countries. Typically, it's n hours of use for $m a month, with additional charges for additional hours, for 800-number access, and for "roaming" outside your "home" region (they divide the world into 5 regions: N America, S. America, Europe+Middle East+Africa, Asia-Pacific, China). I have a grandfathered USA account where n=3 and m=5, and the roaming fee is a rather expensive 15c a minute anywhere outside North America. If I were starting today, I'd investigate an account in a European country (this would provide free roaming throughout Europe).

Roam is a simple pay-per-use prepay system: when you register, they hit your credit card for some sum (typically $50). Each call has a per-minute rate (typically under 4c a minute in the US, under 10c a minute elsewhere). When you've used up the prepaid amount, they hit your credit card again. There are no monthly charges or expiry dates. Whereas IBMnet provides you with an email address and storage, Roam just provides net access. Also, Roam does not normally supply detailed accounts of your calls, though these seem to be available on request. Roam uses the IPASS system, among others, and has really massive coverage. As noted earlier, Roam has ceased operations; I'm still looking for a replacement, but MaGlobe looks promising.

Some countries have free ISPs (they make their money by getting the phone company to give them some of the revenue from the phone call, so the business model doesn't work in countries that have unmetered local calls). These can be very useful if you are around for a week or so as you avoid the 10 to 15c a minute you'd pay to Roam or IBMnet over and above the cost of phone call. For example, in the UK, the "no ties" service of Freeserve works very well. Usually, you have to enroll in these services, but there's a very useful one in Northern China that has open access: just dial 16900 (from a hotel you may need to prefix this with 0 to get an outside line), then use login name 169 and password 169. This service is provided by China Netcom and the price of around 5.4 RMB/hour is added to the cost of the call. A similar service is provided nationwide by China Telecom on 16300, but I've not tried it.

Modems

You need a modem that can cope with noisy lines (and you need to know the commands to force it to use slow speeds if it insists on synching up at higher speeds than the line can sustain). With the Libretto, I use an Ositech Five of Hearts modem, which has the huge and unique advantage that it also works with the signal (and tiny plug) that connects the handset to the phone base--this is useful if you are confronted with a digital line, as this signal is always analog. Ositech call this ability DPI; I've needed to use it a few times: once each in Alaska, Australia, Belgium, France, Sweden, and UK, and three times in Germany. On some occasions, the lines were not digital but were nonstandard in some other way, or there was no other accessible plug, and DPI saved the day.

With the Palm, I used to use the old Palm clip-on modem with the IIIxe, but there's no similar device for the Zire: instead you need a device that will connect via the IrDA (infrared) port. Most higher-end cellphones can do this (either for GPRS or CSD), but for a landline modem the choices are limited to the Pegasus III and Psion IR travel modems: there's a comparison (in PDF) here. The Psion modems are no longer in production, but they are readily available on Ebay (mostly on the UK site) for about $15-$30.

I use the Psion modem, which is about the size of a pack of cigarettes and, without the batteries (it uses 2 AAs), very light. It works fine with the Zire. However, the easyswitch software that is used to configure the Psion for different countries crashes the Zire, so you need to do this directly by the modem command AT*MCxx where xx is a country code that, infuriatingly, is not the same as the phone code. Here are the codes I'm aware of.

Country         Psion Code    Country         Psion Code

Australia       24              Italy           28
Austria         21              Japan           35
Belgium         22              Norway          27
Denmark         32              Portugal        36
Finland         29              Spain           26
France          33              South Africa    18
Germany         19              Sweden          30
Greece          37              Switzerland     20
Holland         25              United Kingdom  17
Ireland         34              United States   23

Connecting to the Phone

The first step is to get a dialtone into your modem. All of the many dozens of hotels I've stayed at in the USA over the last few years have an RJ11 modem jack on the phone or by the desk, and none has had a digital phone system. Modem jacks are also fairly common on public phones in US airports and are plentiful in the airline clubrooms. Overseas it can be more difficult. You generally need an adapter (e.g., from teleadapt). Some countries have RJ45 jacks; these often indicate ISDN lines, but sometimes they carry an ordinary line. You don't need an adapter for these: you can stick an RJ11 in the RJ45 jack and pick up the correct signals (since these are always on the two inside pairs, though you may need an adapater to swap the inner and outer pair). Note that in many countries you'll find that the phone is actually attached to its wire by an RJ11, even if the wall plate has something ethnic. An RJ11 doubler and an extension wire are useful here as they let you connect the phone and the modem to the same wire.

In some places it can be impossible to find a phone jack of any kind, so then I resort to the handset jack (via the DPI connection of the Ositech modem) or, if that's infeasible, to a screwdriver (to open up the wall socket), sewing pins (to stick into the conductors in the wire if there's no wall box), and an RJ11 socket connected to a pair of crocodile clips (I got this in Radio Shack). Be careful--some systems send 50 volts or more over the phone line and you could hurt yourself or take the whole hotel off the air. There are some other tips here. Note that the digital line connector discussed there is subsumed by the built-in capability of the Ositech modem, and that the Modem Saver International (see below) deals with the tax impulses.

modem saver pic It's prudent to check the line for polarity and overvoltage (which usually indicates a digital line): I use a Modem Saver International. This device has the extremely useful additional properties that it can be used as a surge suppressor, and also filters out the tax impulses that break connections in Germany and a few other places. I have found a few lines overseas that worked only with the ModemSaver in the circuit, and a few that worked only with it out of the circuit: you often have to experiment. This device also comes with useful adapters for swapping the inner and outer pairs of wires, and for swapping polarity.

It's often necessary to dial with the phone rather than the modem (e.g., if there's a special "external line" key, or if you are using a calling card or dialaround service) so make sure you know how to make your modem pick up a manually-dialed call (basically, have it blind-dial a null number). If dialing by modem, you should check (by pressing a few buttons) whether the phone is tone or pulse dial and adjust the modem dialing string accordingly. Most are tone these days, but I've met pulse dial in Italy and a few other places. The mark-space ratio for pulse dialing is different in different countries, but I've not found the the default setting on a US modem to cause problems.

Dialing

Once you have a dial tone (though your modem may not recognize it as such--it's often necessary to force it to blind dial with ATX1 or similar) you need a number to dial. Both IBMnet and Roam provide dialers for Windows, and IBMnet also provides one for the Palm that works very well. Roam has a Palm dialer that I haven't tried.

With Linux, you need to find the actual phone numbers. You can look up numbers on the IBMnet and Roam web sites or in their Windows or Palm dialers, and you can get the complete lists from the following links for IBMnet and Roam International respectively. Note that downloading from the Roam site can only be done from Windows! Incidentally, if your laptop is running Japanese Windows (as mine is), then the Roam Windows dialer will come up in Japanese. If you hit ctrl-l with the cursor in the dialer, it will flip into English and stay that way.

With a bit of luck, you'll be able to make a local call to one of these services and get a working PPP connection. I use kppp to do the dialing in Linux and the IBMnet dialer or the built-in applications (preferences->connection and preferences->network) on the Palm. For debugging, or probing modem registers, I use minicom on Linux and Pilot VT100 for the Palm. I've not been defeated (except by the total absence of a phone) anywhere that I've been in the USA, Canada, Japan, Australia, New Zealand, China, Hong Kong, Thailand, India, UK, Ireland, France, Portugal, Spain, Germany, Austria, Italy, Belgium, Denmark, Sweden, Hungary, the Netherlands, and Switzerland during the last few years (I forgot to take my modem to Israel).

Aside: Printing via FAX

In addition to connecting to an ISP, a modem is very useful as a way of printing while on the road: just use the fax capabilities of modern modems and call the fax number of your hotel. Sometimes you can do this as an internal call, other times it's an external but local call. Very rarely do hotels charge for incoming faxes. I usually fake up the cover sheet so it looks as though it's being sent from my office, and not from my hotel room! I use efax to do faxing in Linux. It ought also to be possible to do this using a cell phone as a fax modem, but T-Mobile in the USA blocks fax calls unless you pay some outrageous monthly charge for an additional service (which is oriented to receiving faxes but has the sending capability bundled with it).

Aside: Calling Long Distance

Sometimes, you need to dial directly into your home system to sort out a problem. And sometimes you might actually want to call a person rather than a computer. Making international calls from hotels is ruinously expensive. Cellphones are viable if you have the right plan and a phone that works where you are, but sometimes you just have to use a regular phone.

From within the USA, there are dialaround services like onesuite.com that provide reliable long distance and international calling for trival sums via local or 800 numbers (2.9c/minute domestic and 4c to Germany, for example); beware, however, of minimum-use charges.

Outside the USA, the US phone companies all have services for calling back to the USA via the local equivalent of an 800 number, but they aren't so good for calling, say, Australia from Germany. For this, I use Cognicall, which is a postpay service (they bill your credit card each month for the calls you made in that month). The Germany to Australia example is 12.3c a minute with Cognicall and Germany to the USA is 11.6c; their rates for calls from the USA aren't as good a OneSuite's (6.9c/minute domestic and 5.4c to Germany) but they are low enough (and have no minimums) that you might want to opt for simplicity and use them as your sole long-distance and international supplier. A prepay equivalent is nobelcom.com. Callback services such as telcan.net are another option: you call their number in the USA and hang up on the first ring; they call you back and then you dial your number into their system. This is good in circumstances where incoming calls are free (though beware that Telcan has a $4/month minimum).

If you happen to have a broadband connection, then VOIP using your laptop or Pocket PC as a phone is very effective: Skype is the leader; calls to other Skype users and to POTS phones in the USA and Canada are free; calls to POTS phones worldwide cost a few cents a minute. The Skype client for the Pocket PC works very well (particularly if you use headphones to eliminate feedback). If you've replaced your home phone by a VOIP service such as Vonage, then you can plug their box into a broadband connection anywhere in the world and it'll be like you are calling (and receiving) from home.

Broadband Access

Hotels in the USA and Asia (and now even in Old Europe) are starting to provide fast Internet access in the rooms via standard ethernet connections. This is usually provided by a service such as LodgeNet. Some hotels charge (typically $9.95 a day), others (e.g., many of the mid-tier Hilton, Marriott, Intercontinental, and Starwood brands, and all Wingate Inns) provide it free.

To use these services from Linux, you need an ethernet adapter with an RJ14 connector. Plug in, and use dhcp to get an IP address. If you put something like this

  DEVICE=eth0
  ONBOOT=no
  BOOTPROTO=dhcp
  TYPE='Ethernet'
  USERCTL='yes'
  PEERDNS=yes
in /etc/sysconfig/network-scripts/ifcfg-eth0 then ifup eth0 should start things up. Usually, the ISP intercepts your first click in a web browser and substitutes their own home page. After signing up to the fee (if any), they get out of the way and things work normally. Depending on your version of the Linux dhcp, you may need to set the DNS entries (in /etc/resolv.conf) by hand (and you'll almost certainly have to restore them by hand afterwards), and you'll have to change the SMTP server. Some of these services block certain ports, so you may be unable to make ssh or vpn connections (see here for workarounds), but email and web browsing should always work.

Wireless Broadband (WiFi)

WiFi (802.11b) service is widely available in technical campuses, and increasingly in hotels and public places. Commercial operators such as T-Mobile Hotspot (which can be found in Starbucks, Borders, and airport lounges) used to have quite reasonable pay-as-you-go schemes, but now have outrageous minimums (typically $10). Another problem with commercial operators is that the market is Balkanized among several players, and you need to open an account with each one that you use. Due to the cost and hassle, I no longer use commercial operators for short email connections--the calculation changes, however, if I'm stuck somewhere for most of a day, when a $10 fee might be reasonable.

Increasingly, however, you can find free WiFi connections provided as a public service by individuals or institutions (e.g., the Menlo Park public library adjacent to SRI provides free access) or as an inducement by businesses. There are web sites that list these, such as the WiFi FreeSpot Directory, but if you want to know whether there's a signal right where you are, you need a sniffer program such as Kismet.

The important file for tinkering with WiFi access is /etc/sysconfig/network-scripts/ifcfg-eth1, which needs to contain something like the following.

  DEVICE=eth1
  BOOTPROTO=dhcp
  ONBOOT=yes
  ESSID=""
  MODE="Managed"
  KEY="off"
For those services that require a specific SSID, put it in the quotes in the ESSID field. If WEP (encryption) is enabled and you have the key as an ascii string, then put it in the KEY field as follows; note the crucial s: at the beginning.
  KEY="s:asciistring"
Incidentally, if you are setting WiFi up at home with Linksys equipment, you'll need to enter the key into the base station in hex (the ascii method provided by Linksys is specific to Windows). The following
  echo "asciistring" | od -A n -tx1 | tr -d " "
turns the string into hex--it'll yield something like 6d7931336368617274726b65790a and that (less the final 0a) is what goes in the Linksys WEP key field.

Cellphone Access

A mobile phone offers several possibilities for email on the road that are both convenient and inexpensive. These include doing email (and possibly web browsing) directly from the phone, or using the phone as a modem that connects to a Palm or laptop via a cable, IrDA (infrared) or Bluetooth (radio). The phone can make either an ordinary dialup call to an ISP (so-called circuit-switched-data or CSD), or it may be able to provide a direct digital connection via GPRS.

To use these facilities, you want a high-end cellphone that has a modem (for CSD), GPRS, IrDA, Bluetooth, and built-in email clients and a web browser. Ideally, it should be unlocked (i.e., not restricted to a particular service provider who subsidized the price you paid for it) so that you can use different providers when traveling. You can buy unlocked phones, or you can sometimes get the service provider to unlock it for you (usually after you've used their service for some time), or you can break the lock. There's a useful FAQ on unlocking here.

Most of the world uses the cellphone system called GSM on frequencies of 900 MhZ and 1800 MHz. The main exceptions are Japan (which uses something completely unique, though it is now moving to 3G) and the USA (and several other countries in North and South America), which use several systems, among which GSM is a minor player on the less common frequency of 1900 MHz (recently they've started using 850 MHz as well). The US service suppliers that use GSM are T-Mobile and Cingular (which recently bought ATT's network); these provide adequate coverage in major cities. A GSM tri-band (900, 1800, and 1900 MHZ) phone is the most useful for travel; quad-band (which adds 850 MhZ) would be even better, but these are rare at the moment. (Note that some US tri-band phones are for 850, 1800, and 1900 MHZ, and these are less useful overseas because they lack the 900 band). There's a useful table of which countries use which frequencies toward the bottom of this page. 3G (next-generation GSM, aka W-CDMA or UMTS) services are available in some countries; reportedly an unlocked 3G phone will work with a standard GSM SIM if the provider whose SIM you are using has a roaming agreement with the 3G service concerned. Short of renting a local phone, this is about the only way to get service in Japan (e.g., put a US T-Mobile SIM in an unlocked 3G phone). Here is a good FAQ on cell phones in Japan.

I use an Ericsson R520m, which is a GSM tri-band phone from a few years ago that can be had for under $100 unlocked (also look for them on Ebay). It is first-rate as a phone, with excellent RF, built-in speakerphone and other useful features, and it has all the connectivity capabilities mentioned above. As befits an older phone, its ringtones are monophonic, and its screen is fairly small and monochrome; it's a bit tall compared with the latest models, but it is thin and light. The cheap unlocked R520m's often come without a user manual; you can download one from the Ericsson website. To avoid having to take the charger and its adapters with you when traveling, you can get a cable that will charge it from the USB port of your laptop.

Far aside: Repair for the R520m Volume 0/0 Bug

After I'd been using my R520m for a few months, it appeared to stop working as a phone, though all its other functions were fine. It turned out that the volume for both earpiece and microphone had somehow got stuck at 0/0 and nothing I could do as a normal user would undo it. Research revealed this is a known bug that requires attention from an Ericsson Service Center. As there's only one of these in the USA (and that one is in the wilds of Minnesota) and they told me a repair could take 3 weeks and might cost more than I paid for the phone in the first place, I found out how to fix it myself. Since this is not documented anywhere else, here's how to do it.

Search on Google or Ebay for something called a Terminator Dongle and the DIV 8.4 or DIV 3.1 USB software that usually comes with it. It'll cost under $50. This allows you to reflash the software in the phone (as well as perform other functions of uncertain propriety, such as unlock a locked phone). There's an overview here. Then get hold of a small file called T65_Volume00_fix.gdf (it will probably be included with the DIV software), and upload it to the phone using the Write GDFS function of the DIV software. Problem solved.

Aside: Using a Cellphone Overseas

Using a cellphone outside your home country invokes International Roaming. Whether this works at all depends on whether your plan allows it (you often have to request it specially), whether your home supplier has a roaming agreement with a local carrier, and whether your phone is compatible with the local system.

Making or receiving calls while roaming internationally invariably triggers fairly high per-minute charges, but if you have a decent plan it can be a reasonable option for occasional use (99c a minute is typical). However, there are several traps for the unwary. Incoming calls will trigger the per-minute international roaming charges, so you may decide to reject non-urgent calls, or leave them unanswered. Rejecting calls is safe: you will not be charged; but leaving them unanswered will cause them to go to your voicemail and will trigger the per-minute international roaming charges twice over (once to get to your phone, and a second time to get back to your voicemail). Even if the caller hangs up immediately on hearing your voicemail announcement, you'll still trigger a minute of (double) international roaming. Incidentally, this will still happen if you turn the phone off: the system will send the call to the last place your phone was detected, then back to voicemail. These double charges are a property of the (GSM) system, not any particular supplier. A partial solution is to set the no-answer timeout to 30 seconds: most callers will hang up before it rolls over to voicemail. You can do this by dialing *61*[dest]*11*30# where dest is the number to divert to.

A more drastic solution is to set your phone to unconditionally forward to voicemail. Of course, this means you'll no longer receive any calls at all, even the ones you might have wanted to answer. Another problem is that many foreign networks automatically turn off unconditional forwarding when you show up on their network. Some will even send you an SMS message (for which you'll be charged) telling you that they have done this. You can reset unconditional forwarding when this happens, and it will stick until another network picks you up. A more subtle pitfall with unconditional forwarding is that, on many plans, calls that divert in this way are charged against your regular minutes, whereas conditionally forwarded calls come out of another (more generous) bucket.

A different solution is to turn off all conditional forwarding: there are three of these (forward when busy, when unanswered, when unreachable) and they usually go to your voicemail. There will be menu entries on the phone to do this, but you can always just dial ##002#. If you turn conditional forwarding off, callers won't get voicemail when you don't answer, but you won't get charged either. Unfortunately, however, many providers (e.g., T-Mobile USA, Orange UK) automatically turn conditional forwarding back on whenever you turn it off (this is called default conditional forwarding--DCF).

A more aggressive solution is to forward all calls (either conditionally or unconditionally) to a permanently busy number. The telcos have several of these (presumably for testing purposes), such as 212-628-9970. The rationale is that you are not charged for calls to busy numbers. If you do it conditionally, you have the option of answering the call or letting it roll over to the busy number. If you do it unconditionally, then not only will you be unable to receive any calls, but those who call you may be bewildered. But it can be viable if you use your phone only for data and for outgoing calls.

If all these costs and pitfalls seem too much, then another alternative is to acquire service from a local carrier. This is perfectly feasible in most of the world, where prepaid services are ubiquitous.

Aside: Prepaid SIMs

A GSM phone acquires its phone number and service details from a smartcard about the size of a postage stamp called a SIM (Subscriber Identity Module) that fits into a slot (usually under the battery), so you can switch a single phone among several services by just swapping the SIMs; your phone needs to be unlocked for this to work. In many countries, you can get very reasonable local pay-as-you-go (prepaid) service: you pay a few dollars and get a SIM that provides you with a local number. The SIM comes with some amount of prepaid service; you "top it up" by buying scratch cards in newsagents or other stores, or by calling the service supplier and charging to a credit card. This link from Cellularabroad describes the basics, and here's a more comprehensive explanation. The service usually expires if you don't use it for some time. Unlike the USA, the rest of the world does not charge air time for incoming calls (instead, the caller pays a much higher rate to call a mobile number compared to a landline), so a local prepaid service can be very useful if you are in a country for more than a couple of weeks. In the USA, T-Mobile To Go is a prepaid GSM service that includes limited access to GPRS (see below). HowardForums is the place to look for information on this and other cellphone topics.

There are companies that specialize in providing prepaid SIMs from other countries; for example, Cellularabroad and Telestial. However, if you speak the local language, it's easy and cheaper to get one when you arrive (see the comprehensive information at prepaidgsm.net). For example, in the UK, you can buy a VirginMobile SIM for 10 pounds, which includes 5 pounds of calls. Their calling rates are quite reasonable: most domestic calls are 15p a minute for the first 5 minutes of use in a day, then 5p a minute; 0845 numbers (most ISPs have these) are 10p a minute, and international calls are also reasonably inexpensive (e.g., the USA is 20p a minute). Voicemail is free. You can top up by buying scratch cards, or using a swipe card they send once you register your SIM, in thousands of shops. However, unless you have a UK credit card, you cannot order the SIM over the web nor by phone, nor can you top it up by those means (instead, you'll have to go to a store in person). Unfortunately, because of growing security concerns, many countries now require a local address and some proof residence to get a prepaid SIM or phone; at the very least, you may need to provide a Xerox of your passport (usually the picture page and the visa, if any) and sometimes a passport picture as well.

A service that looks attractive is United Mobile. This a prepaid service that works in over 100 countries; it has very reasonable calling rates (using a callback that is transparent to the user) and incoming calls are free in 60 of those countries. There are more of these services popping up all the time: there's a comparison here, and a new service that's not in that chart called Oneroam (in the UK). Note that threatened EU regulation will force Cellphone service providers to reduce their roaming fees in Europe; this is already having an effect, so it is becoming fairly inexpensive to call, say, Germany from France with a UK SIM, and in-country calls (e.g., from France to France with a UK SIM) are becoming quite reasonable.

Aside: How to Reach You?

If you've disabled forwarding to voicemail on your cellphone, or are using a local SIM, then it's going to be hard for people to reach you. They can always use email, of course, but what about those who want to reach you right now? I think the simplest solution is to tell people to send an SMS message to your home cellphone; this will show up within a few minutes of you turning your cellphone on with its home SIM installed, and you can call them back. Most cellphones can send SMS messages (though few people over the age of 18 use this feature), and you can also send them from a computer as email if you know the address format for the operator concerned (e.g., for T-Mobile in the USA it's phonenumber@tmomail.net). A useful service is teleflip.com which allows you to send an SMS to any US cellphone using the address phonenumber@teleflip.com.

If you want actual voice calls to reach you without triggering international roaming on your cellphone, then the simplest solution is to give people a fixed phone number that you can program remotely to forward anywhere in the world. You used to be able to do this with T-Mobile, but they no longer allow international forwarding. You can do this with SkypeIn and, reportedly, with 800 numbers from telcan.net.

Circuit Switched Data (CSD)

CSD uses the cellphone as a modem to call a dialup ISP in the usual way. CSD is billed as an ordinary phone call (i.e., by the minute), so depending on your plan, it can prove fairly expensive, especially if roaming overseas. However, if you have a local SIM, CSD can be a better choice than a hotel phone. In the UK, for example, I've found that it's often cheaper, as well as more convenient, to make a CSD call using VirginMobile than to pay the exorbitant rates charged in many UK hotels (where 50p a minute is not unusual). Note, though, that CSD has fairly low performance (about 9,600 baud). Also, some GSM services (e.g., ATT in the USA) seem to block CSD calls (reportedly to drive users toward their expensive GPRS service).

General Packet Radio Service (GPRS)

There used to be an excellent packet radio service in the Bay Area and major US cities called Ricochet. This gave always-on internet connectivity at quite high speeds. Sadly, after providing service for many years, Ricochet went bankrupt in the dot.com bust (though a vestigial bit still survives).

However, GSM cellphone service providers now have something called GPRS (General Packet Radio Service). Although much slower than Ricochet's service, this has the benefit that it is ubiquitous worldwide. It is usually charged by the amount of data you transfer.

In the USA, the GSM provider T-Mobile offers something called t-zones as a $4.99 add on to any voice plan. This allows unlimited GPRS access to email and to WAP sites, but not to other services (ports other than 25, 110, 143, 993 and 995 are blocked, although this does seem to vary by where you are). More expensive T-Mobile plans give access to all ports (so that the web, ftp, telnet, ssh, and vpn etc. become available) and others include the 802.11 Hotspot service. Although t-zones does not provide access to regular web sites, it does allow web browsing via T-Mobile's proxy server at 216.155.165.50 on port 8080.

Outside the USA, T-Mobile has GPRS roaming agreements with service providers worldwide at a fixed rate of 1.5 cents a KB. Thus, using t-zones you can do email and modest web browsing for free anywhere in the USA that has T-Mobile service, and can do quick email checks worldwide for a few cents a day. I've used it successfully in the UK, France, Germany, the Netherlands, Portugal, Spain, Italy, Australia, New Zealand, India, Thailand, Japan, Hong Kong, and China. You don't need to change any settings to use GPRS from a T-mobile phone overseas (though you do need to have International calling enabled on your account), but you do sometimes need to manually override the choice of roaming network to get a GPRS signal.

Connecting Your Computer To Your Cellphone

If you want to use GPRS, you need to have a suitable data setting in the phone. On the R520m, this is under Settings->Data comm->Data accounts, where you want to create an account with the correct APN (Access Point Name); for T-Mobile using t-zones this is wap.voicestream.com and it works worldwide. (To use WAP from the phone you need to tell it to use this account and to give it the gateway 216.155.165.050; these are set under WAP service->WAP settings.) What you do next depends on the mechanism by which you connect your computer to the phone. I'll describe two cases: Palm via IrDA infrared, and Linux laptop via Bluetooth radio.

Palm via IrDA

Create a new "cellphone" entry on the palm under preferences->connections that uses the "IrCOMM to Modem" connection method, touchtone dialing, low volume, 115,200 bps, automatic flow control, and blank as the init string.

For CSD, under preferences->networks, create a "CSD" service entry that uses "cellphone" as the connection, plus whatever user name, password, and phone number you need to reach your ISP. For GPRS, create a "GPRS" entry that also uses the cellphone connection, a space as the username and password, and *99# as the phone number. In both cases, just hit the "connect" button to connect; the IP and DNS addresses can be left automatic.

Linux Laptop via Bluetooth

This first requires you to get Bluetooth working on your laptop. I describe how to do this here.

Assuming you've aliased the Bluetooth connection to the phone as /dev/modem, you can then use kppp to do the dialing. For CSD, it's just as if you were using a dialup connection; for GPRS, create a data account in the phone with the correct APN as described above, then use *99# as the phone number and blank as the PAP username and password. Using T-Mobile in California, I get about 4 kb/sec from GPRS over Bluetooth in Linux.

Internet Cafes

These are pretty simple, but invariably run Windows so you need to have some basic familiarity with that system. I fire up Explorer and use the free version of Yahoo Mail to send messages; there's an option somewhere that'll set the Reply-to field to your usual address. Yahoo mail can also download incoming messages from a POP3 server--look for the "check other mail" option. Gmail from Google lacks the ability to download mail from other POP3 servers.

Sending and Reading Email

The key to being able to read and send email inexpensively on the road is to do it using POP3 and SMTP services: these download and upload mail to/from your laptop or Palm so you can deal with it offline.

Sending Email: SMTP

You can compose messages, and reply to any mail that warrants it, offline using whatever on Linux (I use M-x mail in Emacs) and the built-in mail application on the Palm (note: there's a bug in the Palm mail program that omits the comma between the concatented "from" and "to" lists when doing "reply to all"--you have to insert it by hand).

When you next have a connection, you can upload these messages to an SMTP (Simple Mail Transfer Protocol) server for delivery. I use sendmail to do this on Linux and GNU Got Mail (you should also grab the Palm Mail program found there if you have something like a Zire 31, that lacks it) or Proximail (this seems to be no longer available) on the Palm. The Palm programs are easy to set up; for Linux sendmail you need to configure the sendmail.cf file, which is a black art. Basically, you need to set it up so that it uses the SMTP server as a "smart host" (this is specified via the DS entry), and makes outgoing mail "masquerade" (via the DM entry) as if it came from your usual address (so that replies will go there).

To prevent spamming, most SMTP servers can only be accessed from their "home networks"; thus you need to know the SMTP server for the connection you are currently using. For T-Mobile GPRS, this is myemail.t-mobile.com (a recent change requires authentication to use this--see below), and for IBMnet it's specific to your account details. When you switch SMTP servers in sendmail, you need to restart it with killall -HUP sendmail. On the Palm, Proximail has an advantage over GnuGotMail in that it supports multiple "profiles" which can each use different SMTP servers and network connections; on the other hand, GnuGotMail has the advantage that it can do SMTP authentication (see below).

Roam International uses many different networks and provides an SMTP server that uses authentication so it can be used out-of-ISP. To access it, you must set up your sendmail to do authentication. On the Palm, GnuGotMail can do authentication (use the login variety). For linux, you need to tinker with sendmail: these instructions work for Sendmail 8.11. In /etc/sendmail.cf find the line that looks like

  O AuthMechanisms=LOGIN PLAIN GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
and make sure that LOGIN is among the options mentioned there. Also make sure you have lines like the following
  # default authentication information for outgoing connections
  O DefaultAuthInfo=/etc/mail/default-auth-info

  # SMTP AUTH flags
  O AuthOptions=A

  # "Smart" relay host (may be null)
  DSroamingsmtp.com
The file /etc/mail/default-auth-info must be readonly to root and needs to contain the following four lines
  your roam id
  anything
  your roam password
  anything
Although authentication should allow you to use this SMTP server from anywhere, I've found that some networks seem to block authentication; for example, on T-Mobile GPRS in certain parts of the country, it appears to work, but nothing sent to the Roam server ever gets delivered, while freeserve.co.uk (whose own smtp servers can take 12 hours to deliver a message) blocks it outright. The Roam server listens on ports 25001 and 25002 in addition to the standard port 25, so that may be one way around these annoyances (though I haven't tried it).

Using T-Mobile's SMTP server is a bit complex to set up: it uses what's called POP-before-SMTP authentication: essentially, you authenticate yourself to a POP3 server, and the SMTP server then trusts you. However, because T-Mobile doesn't provide a POP3 server of its own, you have to tell it about some other one that you have access to. To do this, go to t-zones My E-Mail and follow the instructions. Then, to authenticate yourself, you first make a POP3 access to myemail.t-mobile.com with username AAABBBCCCC:1 (where AAABBBCCCC is your 10-digit T-Mobile cellphone number) and the password of the real POP3 server that you linked to t-zones. Actually, that method no longer seems to work. What does work currently is to use myemail.t-mobile.com as the SMTP server using what's called "login" authentication with username AAABBBCCCC:1 and the password of the the POP3 server that's linked to t-zones; GnuGotMail can do this, as can the mail client of the Pocket PC.

In cases where there's no accessible SMTP server, you can use ssh or vpn to connect to your home machine and use its mail system (this won't work for services such as t-zones that don't allow access to these ports), or you can use Yahoo mail over the web (this also won't work over services such as t-zones that block https access).

Reading Email: POP3

If your email account is provided by an ISP, your mail is probably delivered to a POP3 (Post Office Protocol) server automatically. However, if, like me, your email comes in to a corporate machine that's behind a firewall, you'll need to do something extra. Since our machines run Unix, I simply use a procmail script to forward a copy of some of my mail to a private mailbox with an ISP that provides POP3 access. A suitable procmail script is the following.
  :0 c:
  | formail -k -X From: -X Cc: -X Subject: -X Date: -X To: -X Reply-to:
     -s bin/sed -f $HOME/mailtrim.sed | $SENDMAIL myotheraddress@myotherisp
I don't want to deal with massive enclosures when I'm traveling (can't decode them on the Palm anyway) so, as an added refinement, I forward only the first 80 ascii lines of each message and eliminate any mime enclosures. This is accomplished in mailtrim.sed, which is the following sed script. /^Content-Type: text\/x-vcard/,$d /^Content-Type: text\/html/,$d /^Content-Type: application/,$d /<html/,$d /^CONTENT-TYPE: TEXT\/X-VCARD/,$d /^CONTENT-TYPE: TEXT\/HTML/,$d /^CONTENT-TYPE: APPLICATION/,$d /<HTML/,$d /^Content-Type: Text\/X-Vcard/,$d /^Content-Type: Text\/Html/,$d /^Content-Type: Application/,$d /<Html/,$d 80,$d My actual procmail script is more complex than this, since I also have it send a "vacation" reply and filter out confidential and corporate stuff and junkmail.

Once the mail is on a POP3 server, you can download it to your own machine. Note that unlike SMTP, you can access the POP3 servers of ISPs other than the one you are using to connect to the Internet.

Linux

On Linux, I use fetchmail to retrieve messages from POP3 servers and then read the messages in Emacs (M-x rmail). You need a .fetchmailrc that looks something like this (the second part all has to be on one line and you have to provide suitable values for the uppercase fields). If you omit the password entry, it will prompt you; fetchmail -v lets you see what's going on.
  set postmaster "MYLINUXLOGIN"

  poll POP3SERVER with proto pop3 user "POP3LOGIN" there is MYUNIXLOGIN here
      password POP3PASSWORD smtphost localhost options fetchall # limit 5000
The commented limit entry causes it to download only messages shorter than 5,000 characters; another useful option is keep, which leaves all messages on the server after downloading (usually, they are deleted).

I've found that fetchmail sometimes just hangs. This is because fetchmail uses sendmail to deliver the mail and sendmail does a DNS lookup to canonify the origin address. For spam, this is often faked or nonexistent so DNS lookups take a long while, and eventually fail. You are burning up expensive connect time while this is happening--just to get spam! The way to fix it is to configure sendmail not to do DNS lookups, not to canonify, and to accept unresolvable domains. How you do this depends on your sendmail version: Google for instructions.

An annoying possible side-effect of these changes is that people who use Microsoft software may no longer be able to reply to mail that you send. This is because, although you have set sendmail so that mail sent from your laptop masquerades as from your normal email address in the header, Microsoft ignores this and replies to the address it finds in the envelope! This used to be masked by the canonicalization, but now that you have turned that off to cope with spammers, you also need to cope with Microsoft's inability to comply with standards. The fix is to turn on the masquerade_envelope feature in the sendmail configuration.

Aside: Downloading web-based email

You generally have to pay for services that provide POP3 email. A free alternative is web-based email such as Yahoo mail. Although you cannot access Yahoo mail by POP3 (unless you pay), there are other ways to download Web-based email. Check out mrpostman and yahoopops. Gmail does allow POP3 downloading for free but it doesn't support 'leave on server' configurations, nor downloading just the the first few lines of a message only.

Palm

On the Palm, I use GnuGotMail or Proximail: these download mail into the built-in Palm mail application; both can be set to leave the messages on the server for later retrieval into Linux. GnuGotMail has the advantage that you can download just the most recent messages if there's a lot of stuff in your mailbox, and also just the first few lines of each message. There are also full-blown standalone mail systems for the Palm such as Eudora. If you download a lot of email to your Palm and aren't diligent about filing or deleting it, you'll find the Palm Mail Cleaner useful (GnuGotMail can also do this).

Phone

The R520m cellphone has built in clients for pop3 and smtp, but I find it tedious to "type" messages on phone keys, and not very functional to read them there. Much more useful is a WAP service called entrian wapmail that retrieves your mail from a POP3 server and gives you very brief summaries via the phone's WAP browser. (WAP is a limited browsing capability that is built in to many phones; it uses a restricted markup language called wml. If you want to explore WAP services from your Linux machine, there's this experimental WMLbrowser extension for Mozilla Firefox.) I find this very useful for quickly checking if anything significant has arrived (in which case I'll retrieve the full message by some other means). Because the summaries are so brief, the GPRS costs are minimal when roaming overseas. Wapmail's code is open source, so you can modify it to suit your own needs and put it on your own server. Yahoo mail also has a phone client that works quite well; you can use it to empty your POP3 account into Yahoo Mail if you've let it get too full for Wapmail.

Web Browsing

Web browsing on Linux is pretty standard. I find
Firefox to be excellent, and particularly appreciate its ability to block popups and (though its adblock extension) advertising images. You may find that although your connection allows ordinary http connections, it blocks https. A way around this is to use port forwarding and a socks proxy on your home server, as described in the next section.

Pocket PCs such as the Axim come with Pocket Interent Explorer (PIE), which is OK. An excellent extension is ftxPBrowser, which adds tabs.

For older Palms, a free and functional web browser is available from Eudora. This does not work on newer Palms that use OS5. For these, you need Web Pro which is included with devices such as the Zire 72, or you can buy an older version from PalmOne.

In the days before full web browsing was viable on Palms, there were lightweight "clipping" (aka. pqa) applications that were much more functional for getting information quickly while traveling (e.g., finding out if your flight was delayed). These applications and their supporting services seem to be falling into disrepair, but excellent instructions for using them are available here. There used to be hundreds of clipping applications, but the dedicated Web Clipping Apps page now just points to general wireless stuff.

On an older phone such as the R520m, you are limited to WAP pages. As noted in the previous section, entrian wapmail is an excellent way to check mail via WAP. The only other WAP site I find really useful is the BBC at www.bbc.com/mobile; Google's WAP site is www.google.com/wml and it has the useful additional attribute of operating as a proxy that translates ordinary html sites into wml.

Aside: Other Useful Palm Travel Stuff

Most of the airlines have timetables for the Palm; these are extremely useful for researching options if your flight is delayed or misconnects. You can download these from the airlines' own sites, but nearly all of them are provided by a company called Goldenware and you can get any of them from that one site.

MetrO provides excellent directions for most of the subways in the world.

If you make notes on an older Palm while traveling and worry about backing them up (and you should worry--security at airports in India, for example, often confiscates all batteries), you might want to consider Backup Pro from Handera ($9.95). This lets you save stuff in the 500kb of unused flash on the Palm IIIxe. Or you could upload files by ftp; see lftp (see later), or the smartdoc doc file editor ($19.95), which can upload doc files by ftp (Smartdoc seems to have become Quickword and to have lost the ftp capability). With a newer Palm such as the Zire 31, you can simply copy files to an MMC flash card plugged into the extension socket. The built in software can do this, but FileZ provides a full file manager. Under Palm OS5, "Desk Accessories" (DAs) replace the "hacks" that provided useful additional functionality in the older systems. You need DA Launcher to get started (direct download). Useful DAs include DTMF DA (lets you dial a phone number using DTMF tones), and LClip DA (gives you 10 large clipboards).

To install Palm software and to do backups with a Linux machine, you need Pilot-Link. Devices like the Zire 31 that have the Palm photo viewer installed will crash the backup. You need to create an "exclude" file with the entries ImgFile-Foto and Jpeg-Foto and to specify this in the backup command. If your Zire crashes and you need to do a restore, you recreate these by installing the files called imgfile_stream.pdb and jpeg_stream.pdb from the CDROM that comes with the Zire.

You cannot directly install mp3 and jpg files using pilot-link. Use ZBoxZ to package and unpackage them.

Accessing Your Home System

You need to practice this stuff before leaving home. It's usually worth an international call to check out any foreign dialin numbers you plan to use.

If all else fails you may need to make a connection to your home machine to fix things or to up/download files. Services such as telnet and ftp are unsecure so most corporate systems disable them, or block them at their firewalls. You'll need to use comparable methods that provide strong encryption. If your home system uses VPN, you'll need to use that. An equally secure option is ssh, which also lets you do some additional things via port forwarding and a "socks" proxy. The ssh server usually listens on port 22, but this is sometimes blocked by the network your laptop is connected to, so it's useful to have it also listen on less commonly blocked ports like 995 (which is intended for POP3 over SSL) or 993 (IMAP over SSL). These examples use port 995, so

ssh -C -p 995 your.ssh.host
gives you a connection into your home system, compressed (-C option) for speed. If things are set up right, you can also do secure ftp.
sftp -oPort=995 -C your.ssh.host
If your home system doesn't have sftp set up, you can sometimes transfer files by using ssh to get into your home sytem, then ftp back to your laptop (type ifconfig to a shell to find its current IP address). This won't work if your laptop is connected to a network that's using NAT translation. In that case, you may still be able to download (but not upload) files by using the ssh connection to copy them temporarily to somewhere on your home system that's visible to the web, then using your web browser (or the wget program) to download the files. If web browsing is blocked, you'll need to tunnel that over the ssh connection using socks.

For a socks proxy, do the following.

ssh -N -C -p 995 -D 1080 your.ssh.host
then tell you your web browser to use a socks 4 proxy on 127.0.0.1 and port 1080 (this will be under the browser's proxy settings). This is also useful when you need to access a secure site but https is blocked by the network you are on.

For the Pocket PC, a good ssh client is PockeTTY from DejaVu software. The free version allows nonstandard ports, but only a 5-minute connection. The paid version removes this restriction and adds port forwarding.

For the Palm, there's an excellent ssh client called pssh. It can handle nonstandard ports, but does not provide the port forwarding capabilities of a full Unix client. A few other free programs that are useful once you have your Palm connected to the Internet are sntp (an sntp client to set the time accurately, there's also a Web Server(!) available at the same site), lftp (an ftp client, there's also lget, a wget-like universal downloader available at the same site), and ping.

Return to my home page