Subject: Re: com on bluetooth
To: Daniel Carosone <dan@geek.com.au>
From: Iain Hibbert <plunky@rya-online.net>
List: tech-userlevel
Date: 01/17/2007 23:09:20
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-729184356-1169075360=:8530
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Thu, 18 Jan 2007, Daniel Carosone wrote:

> I haven't been able to get the other direction working, fwiw.  While
> RFCOMM to other devices like the gps works, trying to use the phone's
> SPP like a modem doesn't - I get a connection, but just echoes of
> whatever I type and no other response to AT commands, etc. I need to
> resort to irda for that.

There is some weird thing with rfcomm_sppd and pty and cu that I don't
understand..  ie it works for pppd but if I try to 'cu -l' the device I
get like the above. If you capture the session with hcidump you can see
that text is sent, but.. I've never worked it out. (also, some services
act differently)

I was working on a btcom(4) device that would just emulate a normal tty
but work has stalled and I need to get a round tuit again, sigh.

> > It is not difficult to write something that will listen on a
> > RFCOMM channel (and register with SDP server), maybe
> > rfcomm_sppd should be able to handle something like that..
>
> That would be great, and have symmetry with the HF/HSET case for audio
> in each direction.

Yeah, but its complicated - normally you would make the outgoing bluetooth
connection to the phone and either wait for an incoming call or make an
outgoing call before starting up PPP.

unless you were the phone, and its the other way around.

> > there is a program in FreeBSD called rfcomm_pppd that does
> > handle this kind of thing for certain phones, but I didn't
> > port it because it seemed more useful for their user-ppp
> > daemon.
>
> Ahah. The doco for this even mentions the quirky 'callback' behaviour
> of this phone (p900).  This does seem like a more particular bit of
> glue for invoking that program, a more generic SPP listener that just
> made the connection appear on a pty would be fine for me.

Without making any claims, I did modify this program so that it at least
builds on NetBSD but it was a while ago so I don't know if it is of any
use to you (attached) in the meantime?

I will think about what needs to be done to rfcomm_sppd so you can set up
incoming connections that are unaware of bluetooth.

iain
--0-729184356-1169075360=:8530
Content-Type: APPLICATION/octet-stream; name=rfcomm_pppd.tar.gz
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.64.0701172309200.8530@localhost.>
Content-Description: rfcomm_pppd for NetBSD
Content-Disposition: attachment; filename=rfcomm_pppd.tar.gz

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

--0-729184356-1169075360=:8530--