The Horror! The Horror!
I went over to Palm DevCon this past week, and I won the Treo 650 they raffled off! Lucky me, I didn’t have to buy one. Unlucky me, now I don’t have any excuses for not updating my palm software. I didn’t even turn it on till this evening, things being busy as they are. I threw my TMobile SIM into the phone and stuff “just worked”, which was pretty cool. Normally voice will just work, but you’ll have to setup other options to get data services working. I pulled up the web browser and pulled up my blog though, and it worked as it was. Nice. And then the full realization that I had an unlocked quadband GSM version sunk in. See, normally Treos come in a crippled version reflecting the suckitude that is the greed of the american cellular service provider. Most versions can’t be used as a Bluetooth modem with a PC. The one I have does have a dialup networking option! W00t w00t!
I already had my 6600 setup to do dialup networking over Bluetooth, so I figured it would be at the worst mildly annoying to get the Treo working with my Mac (OS X.3.9). Oh man, was I ever wrong. First I couldn’t pair the phone with my laptop. This isn’t rocket science, it’s one of the most basic of Bluetooth operations. Yet the process kept hanging, the Mac cycling forever waiting for some response from the phone. I took a look around and found a thread on treocentral.com talking about pairing a Treo 650 with OS X and discovered that I should be pairing as “other” and not a phone. Okay, whatever, not a big deal. But even after doing that, there were no services detected for the Treo. That meant I wasn’t able to bring up the configuration I needed on the laptop to use the Bluetooth modem. So I flailed around for a while, eventually getting the laptop to rescan services AFTER being paired, and my phone finally said it could provide dialup networking. Still I couldn’t find how to configure the Bluetooth modem connection. I knew things were at least partially working though, cause I could open the tty associated with the phone and throw modem commands and see responses. But how to configure the service? Back to flailing. So without deleting the pairing I again initiated the request from the phone. This time, with the record for DUN already being pushed into the laptops information about the phone, now I got a screen that let me configure the network to use the phone. I ended up needing the generic GPRS script from this set of connection scripts to get the modem connected. But it worked! I snapped the Broadband Reports chart for TMobile data using a Treo 650. It’s an EDGE device, but I’m on TMobile so I don’t see any major speed increase (TMobile doesn’t have an EDGE network out here in the Bay Area).
So it works, I’m happy, but there are a few gotchas. The first is that you have to choose between either using Dialup Networking or using the network functions local on the device. This is an option that the user has to manually set and reset with every usage. I could pretty much be okay with only one of the two working at a time. But having the user have to switch it manually with each usage is just crazy. If only one works at a time detect the Bluetooth connection and only try to claim the network automatically if there are no open connections from phone apps. If there are then ask the user if they want to terminate the current connections to allow a Bluetooth based dialup networking session. Sounds pretty logical to me. My guess is that Palm knew that the DUN functions where going to be crippled out by carriers anway, so they didn’t bother to do it right. The other is that disconnecting the dialup session doesn’t close down the Bluetooth connection. I need to go in and shut down the Bluetooth connection after using the networking control panel to stop the dialup session. It could be worse.. like it did with the 6600 the Mac could just fail to disconnect in an unrecoverable state. Now I need to try this out with Elle’s Cingular SIM and sample the EDGE-y goodness.