Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Apr 2008 11:51:55 -0700
From:      "Maksim Yevmenkin" <maksim.yevmenkin@gmail.com>
To:        "Luigi Rizzo" <rizzo@iet.unipi.it>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: any reason to require -t dev in rfcomm_sppd -S ?
Message-ID:  <bb4a86c70804211151l76230f1ek32a9c51b644a983e@mail.gmail.com>
In-Reply-To: <20080417180601.GA76189@onelab2.iet.unipi.it>
References:  <20080417115631.GA72315@onelab2.iet.unipi.it> <bb4a86c70804171039l2f85b360k3ae30e068fee5b83@mail.gmail.com> <20080417180601.GA76189@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_6824_15998800.1208803915996
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

On Thu, Apr 17, 2008 at 11:06 AM, Luigi Rizzo <rizzo@iet.unipi.it> wrote:
>
> On Thu, Apr 17, 2008 at 10:39:16AM -0700, Maksim Yevmenkin wrote:
>  > On Thu, Apr 17, 2008 at 4:56 AM, Luigi Rizzo <rizzo@iet.unipi.it> wrote:
>  > > hi, is there any compelling reason to require
>  > >  the '-t device' option in rfcomm_sppd when used in server mode ?
>  >
>  > technically, no. just need to be careful who is going to setup tty
>  > properly, for example make it 'raw' as rfcomm_sppd(1) does with pty.
>  > rfcomm_sppd(1) already can be used inside ppp(8), i.e. one can do
>  > something like
>  >
>  > set device '!/usr/bin/rfcomm_sppd -a mobile -c sp'
>  >
>  > in /etc/ppp.conf and it will work just fine. rfcomm_sppd(1) does not
>  > do anything to tty when running using stdin/stdout in client mode. the
>  > assumption here is that whatever calls rfcomm_sppd(1) will setup
>  > tty/fd properly.
>  >
>  > >  I tried to disable the one-line that checks it in the code, and
>  > >  things seem to work - and this makes the program very convenient
>  > >  to use in a pipeline, e.g.  to receive data from a remote bluetooth
>  > >  device.
>  >
>  > right. can you please provide usage example? i certainly would not
>  > object to making the change you are requesting.
>
>  sure - i need to listen to a portable ElectroCardioGram (ECG) device
>  which talks to the external world through bluetooth. The device
>  must have some kind of modem inside - its console port says it is
>  issuing commands such as
>
>         AT+ZV SPPConnect XXX
>         ...
>
>  where XXX is the (manually configured) address of the bluetooth
>  dongle on the PC. On the FreeBSD side, running
>  "rfcom_sppd -a YYY" (without the -S option, YYY is the ECG address)
>  sometimes connects, but most of the times doesnt.
>
>  With a patched rfcomm_sppp i can just do
>
>         rfcomm_sppd -S -a YYY | my_data_logger
>
>  rather than having to manually select an available tty/pty pair
>
>  Don't know how many devices behave in this way, but a
>  search for "AT+ZV SPPConnect" gives several matches with
>  documentation for embedded hardware.

ok, please try the attached patch and see if it works for you. i
basically removed the check for tty name in server mode, bind to
"wildcard" channel instead of generating one based on pid (if channel
was not specified) and fixed a possible problem with service
registration in server mode (i.e. always register serial port
service).

thanks,
max



>
>         cheers
>         luigi
>

------=_Part_6824_15998800.1208803915996
Content-Type: text/plain; name=rfcomm_sppd.patch.txt
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ffbemj4y0
Content-Disposition: attachment; filename=rfcomm_sppd.patch.txt

SW5kZXg6IHJmY29tbV9zcHBkLjEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Vzci9sb2NhbC9jdnMv
dXNyLmJpbi9ibHVldG9vdGgvcmZjb21tX3NwcGQvcmZjb21tX3NwcGQuMSx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4xMApkaWZmIC11IC1yMS4xMCByZmNvbW1fc3BwZC4xCi0tLSByZmNvbW1fc3Bw
ZC4xCTIxIEFwciAyMDA4IDE4OjEzOjIzIC0wMDAwCTEuMTAKKysrIHJmY29tbV9zcHBkLjEJMjEg
QXByIDIwMDggMTg6Mzc6MDkgLTAwMDAKQEAgLTI1LDcgKzI1LDcgQEAKIC5cIiAkSWQ6IHJmY29t
bV9zcHBkLjEsdiAxLjEwIDIwMDgvMDQvMjEgMTg6MTM6MjMgbWF4IEV4cCAkCiAuXCIgJEZyZWVC
U0Q6IHNyYy91c3IuYmluL2JsdWV0b290aC9yZmNvbW1fc3BwZC9yZmNvbW1fc3BwZC4xLHYgMS4x
MCAyMDA3LzAxLzI1IDIwOjU0OjU5IGVtYXggRXhwICQKIC5cIgotLkRkIEphbnVhcnkgMjQsIDIw
MDcKKy5EZCBBcHJpbCAyMSwgMjAwOAogLkR0IFJGQ09NTV9TUFBEIDEKIC5PcwogLlNoIE5BTUUK
QEAgLTY5LDE0ICs2OSwxNSBAQAogdmlhIHRoZQogLlhyIHNkcGQgOAogZGFlbW9uLgotVGhlCitJ
ZgogLkZsIHQKLW9wdGlvbiBtdXN0IGJlIHNwZWNpZmllZDsKK29wdGlvbnMgd2FzIHNwZWNpZmll
ZCwKIHRoZSBzZXJ2ZXIgc2lkZSBvZiB0aGUgdmlydHVhbCBzZXJpYWwgcG9ydCBpcyBhdHRhY2hl
ZCB0byB0aGUgcHNldWRvLXRlcm1pbmFsCiAuQXIgdHR5IC4KK090aGVyd2lzZSB0aGUgdmlydHVh
bCBzZXJpYWwgcG9ydCBpcyBhdHRhY2hlZCB0byB0aGUgc3RkaW4vc3Rkb3V0LgogLk5tCiBzaG91
bGQgYmUgcnVuIGFzIHJvb3QgaW4gb3JkZXIgdG8gY29tbXVuaWNhdGUgd2l0aAotLlhyIHNkcCA4
CisuWHIgc2RwZCA4CiBpbiB0aGlzIGNhc2UuCiAuUHAKIFRoZQpAQCAtMTEzLDEyICsxMTQsMTgg
QEAKIERldGFjaCBmcm9tIHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCwgaS5lLiwgcnVuIGluIGJh
Y2tncm91bmQuCiAuSXQgRmwgYyBBciBjaGFubmVsCiBJbiBib3RoIGNsaWVudCBhbmQgc2VydmVy
IG1vZGUsCi10aGlzIHJlcXVpcmVkIG9wdGlvbiBzcGVjaWZpZXMgdGhlIFJGQ09NTSBjaGFubmVs
IHRvIGNvbm5lY3QgdG8gb3IgbGlzdGVuIG9uLgordGhpcyBvcHRpb24gc3BlY2lmaWVzIHRoZSBS
RkNPTU0gY2hhbm5lbCB0byBjb25uZWN0IHRvIG9yIGxpc3RlbiBvbi4KIEluIHNlcnZlciBtb2Rl
LAogdGhlIGNoYW5uZWwgc2hvdWxkIGJlIGEgbnVtYmVyIGJldHdlZW4gMSBhbmQgMzAuCiBJZiBu
b3Qgc3BlY2lmaWVkLAogLk5tCi13aWxsIHRyeSB0byBhbGxvY2F0ZSBSRkNPTU0gY2hhbm5lbCBu
dW1iZXIgYmFzZWQgb24gcHJvY2VzcyBJRC4KK3dpbGwgdHJ5IHRvIGJpbmQgdG8KKy5EcSB3aWxk
Y2FyZAorUkZDT01NIGNoYW5uZWwgbnVtYmVyLgorVGhlIGFjdHVhbCBSRkNPTU0gY2hhbm5lbCB3
aWxsIGJlIG9idGFpbmVkIHZpYQorLlhyIGdldHNvY2tuYW1lIDIKK2NhbGwgYW5kIHdpbGwgYmUg
dXNlZCB0byByZWdpc3RlciBTZXJpYWwgUG9ydCBzZXJ2aWNlIHdpdGgKKy5YciBzZHBkIDggLgog
SW4gY2xpZW50IG1vZGUsCiB0aGUgY2hhbm5lbCBjb3VsZCBlaXRoZXIgYmUgYSBudW1iZXIgYmV0
d2VlbiAxIGFuZCAzMCBvciBhIHNlcnZpY2UgbmFtZS4KIFN1cHBvcnRlZCBzZXJ2aWNlIG5hbWVz
IGFyZToKQEAgLTE0NCw4ICsxNTEsNiBAQAogSWYgbm90IHNldCBzdGRpbi9zdGRvdXQgd2lsbCBi
ZSB1c2VkLgogVGhpcyBvcHRpb24gaXMgcmVxdWlyZWQgaWYKIC5GbCBiCi1vcgotLkZsIFMKIG9w
dGlvbiB3YXMgc3BlY2lmaWVkLgogLkVsCiAuU2ggRklMRVMKSW5kZXg6IHJmY29tbV9zcHBkLmMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL3Vzci9sb2NhbC9jdnMvdXNyLmJpbi9ibHVldG9vdGgvcmZj
b21tX3NwcGQvcmZjb21tX3NwcGQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMQpkaWZmIC11
IC1yMS4xMSByZmNvbW1fc3BwZC5jCi0tLSByZmNvbW1fc3BwZC5jCTIxIEFwciAyMDA4IDE4OjEz
OjIzIC0wMDAwCTEuMTEKKysrIHJmY29tbV9zcHBkLmMJMjEgQXByIDIwMDggMTg6Mzk6MjYgLTAw
MDAKQEAgLTEsNiArMSw4IEBACiAvKgogICogcmZjb21tX3NwcGQuYwotICoKKyAqLworCisvKi0K
ICAqIENvcHlyaWdodCAoYykgMjAwMyBNYWtzaW0gWWV2bWVua2luIDxtX2V2bWVua2luQHlhaG9v
LmNvbT4KICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMTcyLDcgKzE3NCw3IEBACiAK
IAkvKiBPcGVuIFRUWXMgKi8KIAlpZiAodHR5ID09IE5VTEwpIHsKLQkJaWYgKGJhY2tncm91bmQg
fHwgZG9zZXJ2ZXIpCisJCWlmIChiYWNrZ3JvdW5kKQogCQkJdXNhZ2UoKTsKIAogCQlhbWFzdGVy
ID0gU1RESU5fRklMRU5POwpAQCAtMTg5LDQzICsxOTEsNDcgQEAKIAlpZiAoZG9zZXJ2ZXIpIHsK
IAkJc3RydWN0IHNvY2thZGRyX3JmY29tbQkgbWE7CiAJCWJkYWRkcl90CQkgYnRfYWRkcl9hbnk7
Ci0JCXNkcF9sYW5fcHJvZmlsZV90CSBsYW47CisJCXNkcF9zcF9wcm9maWxlX3QJIHNwOwogCQl2
b2lkCQkJKnNzOwogCQl1aW50MzJfdAkJIHNkcF9oYW5kbGU7CiAJCWludAkJCSBhY2NlcHRzb2Nr
LCBhYWRkcmxlbjsKIAotCQlpZiAoY2hhbm5lbCA9PSAwKSB7Ci0JCQkvKiBYWFg6IHNob3VsZCBj
aGVjayBpZiBzZWxlY3RlZCBjaGFubmVsIGlzIHVudXNlZCAqLwotCQkJY2hhbm5lbCA9IChnZXRw
aWQoKSAlIDMwKSArIDE7Ci0JCX0KIAkJYWNjZXB0c29jayA9IHNvY2tldChQRl9CTFVFVE9PVEgs
IFNPQ0tfU1RSRUFNLAotCQkgICAgQkxVRVRPT1RIX1BST1RPX1JGQ09NTSk7CisJCQkJCUJMVUVU
T09USF9QUk9UT19SRkNPTU0pOwogCQlpZiAoYWNjZXB0c29jayA8IDApCiAJCQllcnIoMSwgIkNv
dWxkIG5vdCBjcmVhdGUgc29ja2V0Iik7CiAKKwkJbWVtY3B5KCZidF9hZGRyX2FueSwgTkdfSENJ
X0JEQUREUl9BTlksIHNpemVvZihidF9hZGRyX2FueSkpOworCiAJCW1lbXNldCgmbWEsIDAsIHNp
emVvZihtYSkpOwogCQltYS5yZmNvbW1fbGVuID0gc2l6ZW9mKG1hKTsKIAkJbWEucmZjb21tX2Zh
bWlseSA9IEFGX0JMVUVUT09USDsKKwkJbWVtY3B5KCZtYS5yZmNvbW1fYmRhZGRyLCAmYnRfYWRk
cl9hbnksIHNpemVvZihidF9hZGRyX2FueSkpOwogCQltYS5yZmNvbW1fY2hhbm5lbCA9IGNoYW5u
ZWw7CiAKIAkJaWYgKGJpbmQoYWNjZXB0c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSZtYSwgc2l6
ZW9mKG1hKSkgPCAwKQotCQkJZXJyKDEsICJDb3VsZCBub3QgYmluZCBzb2NrZXQgLS0gY2hhbm5l
bCAlZCBpbiB1c2U/IiwKKwkJCWVycigxLCAiQ291bGQgbm90IGJpbmQgc29ja2V0IG9uIGNoYW5u
ZWwgJWQiLAogCQkJICAgIGNoYW5uZWwpOwogCQlpZiAobGlzdGVuKGFjY2VwdHNvY2ssIDEwKSAh
PSAwKQogCQkJZXJyKDEsICJDb3VsZCBub3QgbGlzdGVuIG9uIHNvY2tldCIpOwogCisJCWFhZGRy
bGVuID0gc2l6ZW9mKG1hKTsKKwkJaWYgKGdldHNvY2tuYW1lKHMsIChzdHJ1Y3Qgc29ja2FkZHIg
KikmbWEsICZhYWRkcmxlbikgPCAwKQorCQkJZXJyeCgxLCAiQ291bGQgbm90IGdldCBzb2NrZXQg
bmFtZSIpOworCQljaGFubmVsID0gbWEucmZjb21tX2NoYW5uZWw7CisKIAkJc3MgPSBzZHBfb3Bl
bl9sb2NhbChOVUxMKTsKIAkJaWYgKHNzID09IE5VTEwpCiAJCQllcnJ4KDEsICJVbmFibGUgdG8g
Y3JlYXRlIGxvY2FsIFNEUCBzZXNzaW9uIik7CiAJCWlmIChzZHBfZXJyb3Ioc3MpICE9IDApCiAJ
CQllcnJ4KDEsICJVbmFibGUgdG8gb3BlbiBsb2NhbCBTRFAgc2Vzc2lvbi4gJXMgKCVkKSIsCiAJ
CQkgICAgc3RyZXJyb3Ioc2RwX2Vycm9yKHNzKSksIHNkcF9lcnJvcihzcykpOwotCQltZW1zZXQo
JmxhbiwgMCwgc2l6ZW9mKGxhbikpOwotCQlsYW4uc2VydmVyX2NoYW5uZWwgPSBjaGFubmVsOwor
CQltZW1zZXQoJnNwLCAwLCBzaXplb2Yoc3ApKTsKKwkJc3Auc2VydmVyX2NoYW5uZWwgPSBjaGFu
bmVsOwogCi0JCW1lbWNweSgmYnRfYWRkcl9hbnksIE5HX0hDSV9CREFERFJfQU5ZLCBzaXplb2Yo
YnRfYWRkcl9hbnkpKTsKLQkJaWYgKHNkcF9yZWdpc3Rlcl9zZXJ2aWNlKHNzLCBzZXJ2aWNlLCAm
YnRfYWRkcl9hbnksCi0JCSAgICAodm9pZCAqKSZsYW4sIHNpemVvZihsYW4pLCAmc2RwX2hhbmRs
ZSkgIT0gMCkgeworCQlpZiAoc2RwX3JlZ2lzdGVyX3NlcnZpY2Uoc3MsIFNEUF9TRVJWSUNFX0NM
QVNTX1NFUklBTF9QT1JULAorCQkJCSZidF9hZGRyX2FueSwgKHZvaWQgKikmc3AsIHNpemVvZihz
cCksCisJCQkJJnNkcF9oYW5kbGUpICE9IDApIHsKIAkJCWVycngoMSwgIlVuYWJsZSB0byByZWdp
c3RlciBMQU4gc2VydmljZSB3aXRoICIKIAkJCSAgICAibG9jYWwgU0RQIGRhZW1vbi4gJXMgKCVk
KSIsCiAJCQkgICAgc3RyZXJyb3Ioc2RwX2Vycm9yKHNzKSksIHNkcF9lcnJvcihzcykpOwo=
------=_Part_6824_15998800.1208803915996--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bb4a86c70804211151l76230f1ek32a9c51b644a983e>