From owner-freebsd-bluetooth@FreeBSD.ORG Mon Apr 21 18:51:58 2008 Return-Path: Delivered-To: freebsd-bluetooth@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A78EF1065670 for ; Mon, 21 Apr 2008 18:51:58 +0000 (UTC) (envelope-from maksim.yevmenkin@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.158]) by mx1.freebsd.org (Postfix) with ESMTP id 8CEA28FC22 for ; Mon, 21 Apr 2008 18:51:57 +0000 (UTC) (envelope-from maksim.yevmenkin@gmail.com) Received: by fg-out-1718.google.com with SMTP id 16so2025984fgg.35 for ; Mon, 21 Apr 2008 11:51:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; bh=X8QH8PE89jdaPHKahX2DCNb4RLnB5b0ldsb5EMwP1FM=; b=CxxayPewZRWkwDnt50n26mmhGAqMsPqHoh8/+odTNAr/Hu+1tdP5LgVlzhUp53rOJLwPaKYV2LtvoVnn68olrA2QiwQSpvxgs2bDubSv6yj5RxCPmyWAnvqxxw2iI1r1MEmLtwTuZLhVxW/S30H3HkFWG7j0ttkabOKTdWQQG4M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=IFSe6Km+NFZKESdpbPnopirLUBIVykhSOMPIz6lZQ59U6xj3q08g+R+H3vZe4KL/oj36GVL7StcV5tRN8C9eBaNKVQ9vo8OrtDgog6ukEsP7kHJGPkOW36qHPWWOey/Qk5itffzU11o0mRpCZCeeQoVPwc2K1kUpOSK4PHHtrDI= Received: by 10.86.97.7 with SMTP id u7mr13800640fgb.54.1208803916015; Mon, 21 Apr 2008 11:51:56 -0700 (PDT) Received: by 10.86.71.15 with HTTP; Mon, 21 Apr 2008 11:51:55 -0700 (PDT) Message-ID: Date: Mon, 21 Apr 2008 11:51:55 -0700 From: "Maksim Yevmenkin" To: "Luigi Rizzo" In-Reply-To: <20080417180601.GA76189@onelab2.iet.unipi.it> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_6824_15998800.1208803915996" References: <20080417115631.GA72315@onelab2.iet.unipi.it> <20080417180601.GA76189@onelab2.iet.unipi.it> Cc: freebsd-bluetooth@freebsd.org Subject: Re: any reason to require -t dev in rfcomm_sppd -S ? X-BeenThere: freebsd-bluetooth@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Using Bluetooth in FreeBSD environments List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Apr 2008 18:51:58 -0000 ------=_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 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 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--