I had this same problem, and even after Pontus Fuch's patch, it still wasn't
working. However, I figured out what the basic bug is, so it works for me
now. I'm not sure if this is the best solution (or even correct in the spirit
of the overall protocol), but it works for me.
I should make a patch for this, but I'll just do this instead:
in irda-utils-0.9.4/obex/src/obex_connect.c, change the
obex_connection_indication and obex_connect_confirm routines to look
like those given below. The basic problem with the patch was
that self->object must be NULL before the call back routines are
invoked, since the palm3 code tests self->object = NULL to show that
the connection isn't busy.
Hope this works,
Steve
/*
* Function obex_connect_indication (self, buf, actual)
*
* Received a connect request from a remote device
*
*/
gint obex_connect_indication(obex_t *self, GNetBuf *msg)
{
int ret;
DEBUG(4, __FUNCTION__ "()\n");
ret = obex_parse_connect_frame(self, msg);
if (ret == 0) {
obex_object_delete(self->object);
self->object = NULL;
if (self->notify.connect_indication)
self->notify.connect_indication(self, self->target);
}
return ret;
}
/*
* Function obex_connect_confirm (self, msg)
*
* Connection confirmed. But we check that the connect frame is OK just in
* case.
*
*/
gint obex_connect_confirm(obex_t *self, GNetBuf *msg)
{
int ret;
DEBUG(4, __FUNCTION__ "()\n");
ret = obex_parse_connect_frame(self, msg);
if (ret == 0) {
self->connected = TRUE;
obex_object_delete(self->object);
self->object = NULL;
if (self->notify.connect_confirm)
self->notify.connect_confirm(self);
}
return ret;
}
_______________________________________________
Linux-IrDA mailing list - [EMAIL PROTECTED]
http://www4.pasta.cs.UiT.No/mailman/listinfo/linux-irda