hello, I did not think I needed to use D-Bus with SDP and L2CAP.
Would someone please provide me more information on how the SDP sends data with L2CAP as the transport layer?
Or point me to a direction where I can find the information?
Thanks in advance
Meena
---------------------------------------------
Send Bluez-devel mailing list submissions to
bluez-devel@lists.sourceforge.net
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/bluez-devel
or, via email, send a message with subject or body 'help' to
bluez-devel-request@lists.sourceforge.net
You can reach the person managing the list at
bluez-devel-owner@lists.sourceforge.net
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Bluez-devel digest..."
Today's Topics:
1. Re: L2CAP sockets, SDP (Claudio Takahasi)
2. Re: problems with getting Plan tronics M1000 to pair on
Ubuntu system (Brad Midgley)
3. Re: RemoteNameRequested signal during discovery patch
(Marcel Holtmann)
4. used (chips)
5. Re: new sco flowcontrol patch (Brad Midgley)
6. Re: new sco flowcontrol patch (Marcel Holtmann)
----------------------------------------------------------------------
Message: 1
Date: Tue, 3 Apr 2007 09:10:44 -0300
From: "Claudio Takahasi" < cktakahasi@gmail.com>
Subject: Re: [Bluez-devel] L2CAP sockets, SDP
To: "BlueZ development" <bluez-devel@lists.sourceforge.net>
Message-ID:
<e1effdeb0704030510q3f0e271ej2a94e270f35475eb@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
On 4/3/07, Meenakshi Seeballack <meena2010@gmail.com> wrote:
> Hello,
> I have tried to understand how to open an L2CAP socket, and have used the
> BlueZ API. This is what I have got so far:
> /*
> * l2cap_listen(l2cap_channel)
> * Use this channel as a listening post
> */
> static int l2cap_listen(const bdaddr_t *bdaddr, unsigned short psm, int lm,
> int backlog)
> {
> struct sockaddr_l2 addr;
> struct l2cap_options opts;
> int sk;
>
> /* allocate a free socket */
> if ((sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP)) < 0)
> return -1;
>
> /* open connection to remote device */
> memset(&addr, 0, sizeof(addr));
> addr.l2_family = AF_BLUETOOTH;
> bacpy(&addr.l2_bdaddr, bdaddr); /* update source address of socket */
> addr.l2_psm = htobs(psm);
>
> /* bind socket to newly formed socket */
> if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
> perror("ERROR: Could not bind socket");
> close(sk);
> return -1;
> }
>
> setsockopt(sk, SOL_L2CAP, L2CAP_LM, &lm, sizeof(lm));
>
> memset(&opts, 0, sizeof(opts));
> opts.imtu = HIDP_DEFAULT_MTU;
> opts.omtu = HIDP_DEFAULT_MTU;
> opts.flush_to = 0xffff;
>
> setsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &opts, sizeof(opts));
>
> /* backlog: specifies the number of unaccepted connection
> * that the system will allow before refusing new connections
> */
> if (listen(sk, backlog) < 0) {
> close(sk);
> return -1;
> }
>
> return sk;
> }
>
> /*
> * l2cap_connect_req()
> * Establishes connection with specific socket
> * Request to establish connection from remote
> * communication partner.
> * Such a socket has to have been previously created
> * by an application with the command listen.
> */
> static int l2cap_connect(bdaddr_t *src, bdaddr_t *dst, unsigned short psm)
> {
> struct sockaddr_l2 addr;
> struct l2cap_options opts;
> int sk;
>
> /* socket allocation */
> if ((sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP)) < 0)
> perror("ERROR: Could not create socket");
> return -1;
>
> memset(&addr, 0, sizeof(addr));
> addr.l2_family = AF_BLUETOOTH;
> bacpy(&addr.l2_bdaddr, src); /*update source address of socket */
>
> /* binds socket to psm */
> if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
> close(sk);
> return -1;
> }
>
> memset(&opts, 0, sizeof(opts));
> opts.imtu = HIDP_DEFAULT_MTU;
> opts.omtu = HIDP_DEFAULT_MTU;
> opts.flush_to = 0xffff;
>
> setsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &opts, sizeof(opts));
>
> memset(&addr, 0, sizeof(addr));
> addr.l2_family = AF_BLUETOOTH;
> bacpy(&addr.l2_bdaddr, dst);
> addr.l2_psm = htobs(psm);
>
> if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
> close(sk);
> return -1;
> }
>
> return sk;
> }
>
> /*
> * l2cap_accept()
> * (Permits incoming connection)
> * Blocks and accepts incoming connection
> * Function switches from BT_LISTEN to BT_CONNECTED
> */
> static int l2cap_accept(int sk, bdaddr_t *bdaddr)
> {
> struct sockaddr_l2 addr;
> socklen_t addrlen;
> int nsk;
>
> memset(&addr, 0, sizeof(addr));
> addrlen = sizeof(addr);
>
> // accept one connection
> if ((nsk = accept(sk, (struct sockaddr *) &addr, &addrlen)) < 0)
> return -1;
>
> if (bdaddr)
> bacpy(bdaddr, &addr.l2_bdaddr);
>
> return nsk;
> }
> --------------------
> I am eventually aiming to register the mouse HID events, and send it via the
> L2CAP socket to "control" another bluetooth-enabled PC.
> How do I use an SDP service in conjunction with the existing L2CAP code? How
> do I use the control channel (L2CAP_PSM_HIDP_CTRL 0x11) and the interrupt
> channel (L2CAP_PSM_HIDP_INTR 0x13)
> I think the control channel is used by SDP for signalling, (device
> discovery); the interrupt channel is used for data transfer (service
> discovery)
> Thanks in advance for any help!
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Bluez-devel mailing list
> Bluez-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
>
>
Hi Meenakshi,
Check the D-Bus Input service implementation: utils/input
It contains the code that you want.
BR,
Claudio.
--
---------------------------------------------------------
Claudio Takahasi
Instituto Nokia de Tecnologia - INdT
------------------------------
Message: 2
Date: Tue, 03 Apr 2007 11:21:34 -0600
From: Brad Midgley <bmidgley@xmission.com>
Subject: Re: [Bluez-devel] problems with getting Plan tronics M1000 to
pair on Ubuntu system
To: BlueZ development < bluez-devel@lists.sourceforge.net>
Message-ID: <46128D1E.2050609@xmission.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Brett
> I tried pairing and then tried a connect - do I have a PIN issue?
i got something similar when bluez-passkey-gnome needed to be installed
brad
------------------------------
Message: 3
Date: Tue, 03 Apr 2007 21:05:56 +0200
From: Marcel Holtmann <marcel@holtmann.org>
Subject: Re: [Bluez-devel] RemoteNameRequested signal during discovery
patch
To: BlueZ development <bluez-devel@lists.sourceforge.net>
Message-ID: <1175627156.5815.402.camel@violet>
Content-Type: text/plain
Hi Johan,
> > > A new version of the patch.
> > > Are you okay with it ?
> >
> > the patch looks okay to me. However I prefer if Claudio or Johan can
> > have an additional look.
>
> Looks good to me.
feel free to commit it to the CVS then.
Regards
Marcel
------------------------------
Message: 4
Date: Tue, 3 Apr 2007 21:16:43 -0000
From: "chips" <Jul@pbpfab.com>
Subject: [Bluez-devel] used
To: bluez-devel@lists.sourceforge.net
Message-ID: < 001201c77635$61395500$86572f97@davide10>
Content-Type: text/plain; charset="iso-8859-1"
Choices multiple, mak management service kms activates. Conflict vistaiam school students.
Comments seis office, you need read.
Help, links by xpearlier, for pcsshared computer. Megatest fastest, modems revealed gps navigation, get from no.
Word priced hungery crap, anonymous sucksdidnt say blue.
Connecting computers going online. Thread subject author algo, de, slackware hay una que. Someone bringing their home, installing leaving again.
Re newest greg mar kentucky sorta looked.
Officially than, chips awful stick check. Certainly looks, set put. Students finally gone mad beyond bull shit apart high?
Hunter blogs linux amp, open source news! Able as welland pieces? Tito, sites sport finance music.
Wed, feb previous, message, messages.
Groups direct phone, connection.
Vbulletin copyright jelsoft scheduled. Hmmm wonder willhmmm, big higher normal reinstall rates like. Used anything another call moment able as.
Worth trouble sysprep xml file hard.
Its world server macs.
Imminent arrival business enterprise, additions, dropped nasty little.
-------------- next part --------------
An HTML attachment was scrubbed...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 4634 bytes
Desc: not available
------------------------------
Message: 5
Date: Tue, 03 Apr 2007 15:04:29 -0600
From: Brad Midgley <bmidgley@xmission.com>
Subject: Re: [Bluez-devel] new sco flowcontrol patch
To: BlueZ development < bluez-devel@lists.sourceforge.net>
Message-ID: <4612C15D.2080900@xmission.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Marcel
> And why do we have to do "c->tx_timer.function = hci_sco_tx_timer" over
> and over again. Isn't it enough if we set the timer function once after
> init of the timer.
should this happen directly inside hci_conn.c or through something like
a notification?
To use it in hci_conn I'd want to move the definition of the function
there too but that may not be the right fit.
Brad
------------------------------
Message: 6
Date: Tue, 03 Apr 2007 23:08:47 +0200
From: Marcel Holtmann <marcel@holtmann.org>
Subject: Re: [Bluez-devel] new sco flowcontrol patch
To: BlueZ development <bluez-devel@lists.sourceforge.net>
Message-ID: <1175634527.5815.409.camel@violet >
Content-Type: text/plain
Hi Brad,
> > And why do we have to do "c->tx_timer.function = hci_sco_tx_timer" over
> > and over again. Isn't it enough if we set the timer function once after
> > init of the timer.
>
> should this happen directly inside hci_conn.c or through something like
> a notification?
>
> To use it in hci_conn I'd want to move the definition of the function
> there too but that may not be the right fit.
actually hci_sco_tx_timer() should be in hci_conn.c. There is no need to
put that into hci_core.c and make this so complex.
Regards
Marcel
------------------------------
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
------------------------------
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
End of Bluez-devel Digest, Vol 12, Issue 9
******************************************