Cisco and Apple will battle it out in court over the use of product name iPhone, but given the experience I’ve had the last few days with Cisco’s Linksys WIP330 iPhone, I want Cisco to relinquish the name and go stand in the corner to think about what they’ve done. Hopefully then someday I will have a good experience from an iPhone – it just won’t be Cisco’s. Linksys shipped their first iPhones out to reviewers last summer, but the WIP330 they sent to me quickly worked its way into a desk drawer – not to see the light of day until this week. I decided to try and use the phone as part of the TalkSwitch review I was already working on, but getting the phone updated and configured correctly was a beastly project that I simply couldn’t imagine when I started. I maintain a Trapeze Network-based WLAN in our San Francisco office that is strictly for testing, so I have full control over the network settings, security and quality of service without worrying about affecting pesky users. The WIP330 supports WPA-PSK, my WLAN supports WPA-PSK … it should just be a matter of entering the correct WPA key on the phone. What could be easier? But the phone would not connect successfully to the WLAN. The phone could not detect the network when I scanned the airwaves, even though I do not bother hiding the AP beacons. If I configured a WLAN profile on the phone and attempted to connect that way, the WIP330 would associate, and appear to authenticate, but could not retrieve an IP address. I created an additional WLAN with no security, figuring I would start there. The WIP330 would see the network and begin associating, but again would fail at the IP addressing stage. Thinking something was wrong with the WLAN now, I tried connecting several laptops. Whoops, that worked for both the WPA and open networks. I looked at the phone firmware, which was listed as v18.104.22.168 — several revisions out of date. So I figured I would upgrade the phone to start figuring this out with the latest code, forgoing butting my head against bugs that have already been resolved. There was no option to upgrade the WIP330 from the handset interface. I instead needed to open up the phone’s Web interface to perform that step – which requires the phone be connected to the WLAN. So, I pulled a 3Com access point out of a drawer and set that up. From a previous test, the 3com device was configured for WPA with the beacon hidden. No way I could connect the WIP330 to that, right? Wrong. So now I had network connectivity for some unknown reason. I figured out the default password (0000), opened the Web page and tried uploading the new firmware that I downloaded from Linksys. But rather than uploading and upgrading the firmware, the action opened up a new screen on the phone that connects to a Web site (https://www.wip330.com) and attempts to download the firmware file from there. But the phone says the file (l01_img.bin) doesn’t exist. That’s not even the name of the file I want to upload, but there’s no where I can see to change it. I sucked it up and read the documentation, which showed that I needed to perform an intermediary step to upgrade to the latest version (as mine was too old). But the version the documentation references was not available on the Linksys Web site. So I found it here. I started the intermediary upload (it worked in Internet Explorer but not Firefox, by the way). This time the phone downloaded the intended file (wip330_sbe.bin). The upgrade took about 15 minutes total, with the phone rebooting twice. This update unlocks some of the administrative features of the phone, uncovering signs of the WIP330’s WinCE OS as well as the upgrade capabilities from the handset itself. But when I tried to upgrade, the utility again looked for the same non-existent file (l01_img.bin). And again, I could not change it. Worse, the Web admin page was now disabled with this intermediary firmware installed, so I could not use the same method I did the first time around. Since the phone is Windows CE based and I was running out of options, I thought I would try to access its configuration files by using ActiveSync. Once I connected the phone to my workstation via USB, however, Windows XP could not find the right device drivers. I eventually located the right drivers here (certainly not on the Linksys Web site), along with other firmware copies for the WIP330. Thankfully the drivers installed without a hitch. Exploring the device via ActiveSync, I came across the SysSet.ini file which turned out to be the master configuration file for the phone, containing Wi-Fi, SIP and upgrade settings. And yes, SIP and WPA passwords are stored in plain text on the phone. I downloaded the file to my computer, modified the upgrade setting to point to the right bin file, then uploaded the file back. Suddenly, I could now FINALLY upgrade to the latest code. Again it took about 15 minutes. I’m finally back to the task at hand, connecting to the Wi-Fi network then registering with the TalkSwitch PBX. But again, the Wi-Fi doesn’t work — to either the open or WPA-encrypted WLANs on my Trapeze network. I remove the WPA WLAN and try just the open network. No luck. I reverse course, delete the open network and create a WPA network. Progress! I can see the network in scans, even though I still can’t connect. I shorten the WPA key for the network, taking out some of the complex symbols. No dice. I remove all options for WPA2 from the encrypted network, deleting support for AES encryption and RSN. Hallelujah! I’m in! After that it was pretty simple to get the phone registered with the TalkSwitch IP PBX. I’ll be using it throughout the day to see how it works for me. But the amount of work that it took to get to that stage was insane and shows that even if Cisco is lurking behind the scenes for the WIP330, this is a Linksys product aimed at home users who buy the phone from a service provider selling VOIP (voice over IP) services. It is apparent that Cisco/Linksys has little to no desire for this device to actually be used in an enterprise setting with a premise-based telephony solution. And that is simply disappointing.