January 31, 2004

Yes, yes, yes!

Wasn't this fun! I struggled quite a bit hooking up one of the internal Bluetooth modules to the Newton, but finally managed to get some results. Turns out that the CTS and RTS lines need to be switched and that it helps a lot if you actually provide all necessary power lines to the module. I was trying for a while to run it on 3.3V alone, but the actual core needs 1.8V as well. I'm sure that any hardware designer would have ran out of the room screaming observing how I found all requried connectors on the mainboard, but so what :) The thing runs and answers nicely to a HCI reset command with a command status event. Let's hope that things stay that way!

Posted by Eckhart at 08:20 PM

January 29, 2004

They're here!

Two internal Taiyo Yuden Bluetooth modules. Now let's see how they can be wired to the Newton's internal serial slot.

Posted by Eckhart at 10:29 PM

January 21, 2004

No SyncML for you!

I played around a bit with iSync and mod_ssl to see what's going on behind the scenes when using .Mac to sync your data between devices. Too bad things haven't changed much from this. The protocol to the .Mac servers is clearly not SyncML (and probably will never be. Apple wants to make money with .Mac). That makes a universal SyncML client for the Newton a bit more limited in scope. But so what :) I think I'll still give it a shot at some point!

Posted by Eckhart at 08:22 PM

January 16, 2004

Finally

Neo 0.8.5 contains an important bug fix that now enables sending OBEX data via Bluetooth to MacOS X and is required for correct OBEX transfers from the Newton in general. The bug was that the length of the overall object was sent incorrectly which lead to a timeout during transfer. Things look actually quite usable now!

Posted by Eckhart at 01:21 PM

January 11, 2004

Timers cont.

Timers are working now on the comm tool level. Most things are already in place, just a custom event class needed. A comm tool is running as a task and has already a port to where you can send messages. The message handling function is also implemented, it's called HandleRequest. I now send deferred messages from Blunt to itself and have a nice timer mechanism. This helped in getting around the lost packets issue with MacOS X.

Posted by Eckhart at 10:38 PM

Desktop Bluetooth Sucks

Ok, here I have a Windows 2k laptop and a Mac OS X Cube. I'm trying to figure out what kind of voodoo is needed to get transfers from and to a Newton using Blunt and Neo working properly. I actually have the Windows transfers pretty much under control but it needs a bit more testing. Seems like Windows doesn't know what to do with the MIME type header in the OBEX protocol. But sending to the Mac is still screwed up.

Anyway, to rule out other errors, I experimented a bit using just the two mentioned systems. Turns out that the implementations on both ends suck. MacOS X stalls TCP/IP network connections in iTunes if I start discovery from other devices. Yes, you read that correctly. Did they integrate the Bluetooth stack so deep into the system? Because I also get kernel panics now when I send data from the Mac to say a 3650. But Windows isn't better. Browsing the shared folder on the Mac takes minutes, it loses the local Bluetooth device once in a while, doesn't let me select the Mac as a target for OBEX push and so forth.

Looks like Blunt and Neo are more compliant than this crap...

Posted by Eckhart at 10:35 PM

January 08, 2004

Windows

Ok, pairing from the Newton works now which is at this stage more or less required for Windows. But Windows doesn't seem to like the duplicate L2CAP packets which Blunt sends for connection establishment. Seems like I have to figure out how to use timers in Blunt... Also, Windows refuses to accept OBEX data items. Could this be the same bug which causes Mac OS X to silently drop incoming objects?

Posted by Eckhart at 11:38 PM

January 07, 2004

Vacation is over

Time to start hammering again - and working off my backlog of emails! I just made some small adjustments to Blunt to improve Windows support. Pairing is the first step, and it looks like initiating pairing from the Newton works at least to Mac OS X and my 3650.

I also investigated SyncML a bit. I'm not sure if Apple will ever open iSync enough to allow true SyncML integration... they seem to use server authentication from iSync, most likely to see .Mac services. Instead of using iSync and .Mac, my plan is to play around with my own SyncML server instead and see how much effort a SyncML client for the Newton might be. I got Sync4J running on my Cube, and the vCard and iCal files used by SyncML should be importable into Address Book, iCal and also IC/VC.

Posted by Eckhart at 11:17 PM