iPhone Voicemail Setup Problems (& Solution)

The first time you select the voicemail button your an iPhone, in typical Apple fashion, it offers to help you configure your voicemail. This was much nicer than the traditional voice prompts one normally has to navigate, but the final step (talking to the network) repeatedly failed for me. Google indicated that it might be necessary to manually activate the voicemail by calling 1750, but that did not work for me. O2 customer service suggested that turning the voicemail off then on again would help (1760 [send] then 1750 [send]) but the setup failed again.

The solution that eventually worked for me was to configure voicemail in the “old-fashioned” (“non-visual”?) manner by dialling 901 and then following the tedious voice prompts. Once this had completed, I retried the iPhone visual voicemail setup using the same PIN as I configured at the voice prompts, and it worked first time.

So is the iPhone any good?

As revealed in my previous post, I recently purchased an iPhone. The reason for this is that the Internet stopped working on my old phone, and since I needed a new portable Internet device anyway and the web being the iPhone’s forté, it seemed like the best choice for my requirements.

But is it any good as a phone? The answer is undoubtedly yes, but it’s not “great”… yet, a few more software updates ought to fix that. Missing features that, upon reflection, I never used on my old phone include voice dialling (I’m sure voice recognition systems are not tested on west country accents!) and video calling. The one feature that is sorely missing is a character counter in the SMS application, a horrendous omission now there are call plans without unlimited text messaging. The other feature that people talk about is the keyboard which is a joy to use—last week’s Heathrow Express post was written and edited entirely on the iPhone.

Debugging an iPhone

While a Mac usually “Just Works”, when it does encounter an error situation, OS X often emits a a very vague message that can make debugging a long-winded process. For example, suppose you have recently brought home a shiny new iPhone and upon connecting it to iTunes you receive: “Could not connect to iPhone because an unknown error occurred (0xE8000001)”.

According to the web, it seems the most common cause of this is connecting the iPhone via a USB hub instead of directly to the computer, but I had no USB hub. Also, most people were experiencing this as a transient fault after regularly and successfully synchronising their iPhone for some months, while mine was a new connection—all very perplexing.

Fortunately, OS X is really UNIX in disguise, and so while the user interface tries to only display friendly messages, the technical details are being logged in the same way as any other UNIX system, hence I checked /var/log/system.log:

Jul 16 12:45:05 yvaine [0x0-0x10010].com.apple.iTunesHelper[136]: MobileDevice: 
AMDevicePair: Could not mkdir /Users/ned21/Library/Lockdown: Permission denied
Jul 16 12:45:05 yvaine [0x0-0x10010].com.apple.iTunesHelper[136]: MobileDevice: 
store_dict_osx: Could not create /Users/ned21/Library/Lockdown/
6b90d8c839e8ec9e74d2dffce9a2e111daf84f7b.plist: No such file or directory
Jul 16 12:45:05 yvaine [0x0-0x10010].com.apple.iTunesHelper[136]: MobileDevice: 
AMDevicePair: Could not store pairing record at 
/Users/ned21/Library/Lockdown/6b90d8c839e8ec9e74d2dffce9a2e111daf84f7b.plist

Aha!—a simple case of “permission denied”. (Which, lets be honest, to a non-techie person would be no less cryptic than the message that the GUI actually displays.) This did present another mystery though since permissions on ~/Library look normal:

yvaine:~ ned21$ ls -ld Library/
drwx------+ 42 ned21  ned21  1428 22 Jun 10:34 Library/

except for that little + sign at the end of the permissions string. A quick check on another mac indicates that this is in fact not normal, and means that the directory has an extended ACL (this is the same convention as in Linux) but unlike Linux, OS X does not have getfacl(1) and setfacl(1) commands for viewing and manipulating ACLs—use “ls -le” instead.

yvaine:~ ned21$ ls -lde Library/
drwx------+ 42 ned21  ned21  1428 22 Jun 10:34 Library/
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
 1: group:everyone deny delete

I have no idea how these ACLs were added to my directory, but let’s wipe them out:

yvaine:~ ned21$ chmod -a# 1 Library/
yvaine:~ ned21$ chmod -a# 0 Library/
yvaine:~ ned21$ ls -lde Library/
drwx------  42 ned21  ned21  1428 22 Jun 10:34 Library/

And my iPhone worked like a charm.

The Heathrow Express

Rant of the day:

1. The website indicates that rail cards are valid, but cannot be used with tickets bought online. Every other rail company manages it so why can’t you?

2. Rail cards can also not be used applied against tickets bought from the automatic ticket machines, one must join the long queue at the ticket office.

3. You finally board your train, and head to the front to have a quick exit at Paddington when you realise that hideous Muzak is piped into every carriage not designated “quiet”, thus all carriages are deserted except the quiet carriages which are full of noisy people.