From: "Daryl Van Vorst" <daryl@wideray.com>
To: "'Marcel Holtmann'" <marcel@rvs.uni-bielefeld.de>
Cc: "'BlueZ Mailing List'" <bluez-devel@lists.sourceforge.net>
Subject: RE: [Bluez-devel] Qualification Testing
Date: Thu, 8 May 2003 11:11:45 -0700 [thread overview]
Message-ID: <000801c3158d$497da950$5796fea9@baked> (raw)
In-Reply-To: <1052401433.2669.93.camel@pegasus.local>
Hey Marcel,
Thanks for your response!
It'll take me a bit of time to gather all of the logs. I'll send them to yo=
u
as I get them. The logs are a bit lengthy, so I'll send them directly to yo=
u
instead of the list.
My comments are inserted below.
> Can you tell us a little bit more about your product, because=20
> I can't find enough details on the website.
The product hasn't been released yet, so I can't publicly discuss too much.
We could talk a bit off-list about it if you'd like.
> The biggest problem in this test case is the=20
> bluez-kernel-2.3, because it is too much outdated. You should=20
> better use one of -mh patches or try to build a new=20
> bluez-kernel package from the kernel scripts that I have put=20
> into CVS. The bluez-libs-2.3 shouldn't make any problems, but=20
> it is a good idea to update to bluez-sdp-1.1.
Yeah, I figured. It took a bit of work, but I now have a 2.4.18 kernel up
to mh4 (the latest on your site).
> The L2CAP and RFCOMM part is kernel specific and it is a good=20
> idea to do the qualification tests with the an up-to-date=20
> kernel, because in this case it is easier to look at the=20
> problems and fix them.
Yup. From here on it will be done on an up-to-date kernel (Is 2.4.18 with
your most recent patch level considered up-to-date? Moving to 2.4.20 would
be a major hassle). I would have done that earlier, but I didn't realize ho=
w
outdated the bluez-kernel package was until it was too late.
> > L2CAP:
> > 1.) TP/COS/CED/BI-01: Verifies that the IUT rejects=20
> an unkown=20
> > signalling command. The tester sends an unkown L2CAP=20
> command. The IUT=20
> > should respond with an L2CAP_Reject with reason 0 "Command not=20
> > understood". The IUT did not.
>=20
> We have a fixme for this in the l2cap.c code, but currently=20
> no code exists. Should be easy to fix, but nobody cares about it.
Heh heh. I care! ;) Are you going to take a look at that? I could have a
look, but it might take me a while to figure it out.
> > 2.) TP/COS/CFD/BV-01: Tests that IUT is able to handle the=20
> > receiving of more than one request for configuration of=20
> data channel.=20
> > Tester sends L2CAP_Config Req with flag=3D1, IUT responds=20
> with flag=3D0.=20
> > According to section 5.4 p.290 of the version 1.1 spec,=20
> "When used in=20
> > the Configuration Response, the continuation flag must be=20
> set if the=20
> > flag is set in the Request".
>=20
> This seems to be a bug in the current code. But I have to=20
> re-read the L2CAP specification for the details.
It might also help to take a look at the test cases, which are free to
download. But, as with everything bluetooth, if you want all the details yo=
u
have to pay. ;)
> > 3.) TP/COS/CFD/BV-02: Tests that IUT is able to perform=20
> > negotiation while the tester rejects the configuration of a data=20
> > channel. The IUT sends a configuration request and the=20
> tester rejects=20
> > it. The IUT should send another configuration request, but it does=20
> > not.
>=20
> Currently the channel is closed if they reject our config=20
> request, because we don't know how to proceed if they don't=20
> like our settings. We can sent them again, but they will be=20
> rejected again. For this case I also have to read the L2CAP in detail.
Yeah, it seemed a bit odd to me too. But that's what the test case tests.
I'll get some clarification on this one.
> > 4.) TP/COS/RCO/BI-01, BI-02: These tests verify=20
> that the IUT=20
> > performs a consistency check on the data. Both tests send=20
> two packets=20
> > to the IUT. In each test, the first packet has a mistake.=20
> In BI-01 the=20
> > first packet is too short by one byte, and in BI-02 the=20
> first packet=20
> > is too long by one byte. In both cases the stack must correctly=20
> > receive the second packet, but not the first. The data should be=20
> > discarded in the case of the inconsistencies, and an error=20
> reported to=20
> > the application.
>=20
> It seems that we can't handle this case complete correctly,=20
> if the data was put only in one fragment. But in the basics=20
> this should work and the malformed packets should be dropped.=20
> Did you have a detailed log of this test which shows us byte=20
> by byte which request was sent?
Yeah. I should have an HCI dump for both cases. I'll send them to you right
after this.
> > RFCOMM:
> > Note: Some of these comments don't apply to a specific=20
> test case=20
> > (they are more general).
> > 1.) Must not modify pbits in pn (parameter negotiation)=20
> > response. The pbits are dependent on which DLC is being configured.=20
> > Apparently this is a common problem, and one that has been argued=20
> > about with the SIG because apparently nobody uses the bits=20
> - but the=20
> > SIG would not give in (refer to erratum 364). They are specified in=20
> > the TS GSM 07.10 630 spec, section 5.4.6.3.1.
>=20
> I am little bit confused, because I thought that the P/F bit=20
> in a UIH packet response on dlci 0 should always be zero. The=20
> only case where the P/F bit is set should be with credit=20
> based flow control. I will check the specification. Can you=20
> send me the erratum 364?
I should have been more clear. By pbits I meant priority bits, not the P/F
bit. I don't have a copy of the 07.10 630 spec, so I can't look up the
details. Do you have a copy? Anyway, the priority bits are set to a certain
value depending on which DLC you are using. I'm pretty sure that for DLC 0
they should be set to 0. For DLC's 1 through 7, I think they are set to 7.
Beyond that I don't remember. I'll see what I can do about getting a copy o=
f
the erratum 364... But I'm pretty sure there aren't any interesting detail=
s
in it, just people complaining that the bits are pointless. The TS GSM 07.1=
0
630 spec is where the details are.
> > 2.) TP/RFC/BV-07: Closing rfcomm doesn't appear to close=20
> > l2cap. Is this true? This isn't actually required to pass=20
> this test,=20
> > but it did confuse the tester. This may have been a mistake on my=20
> > part. I just hit ctrl-c when rctest was connected and assumed that=20
> > everything would get closed. Would calling close() have a different=20
> > effect?
>=20
> This is working fine for me. After closing the channel, we=20
> close dlci 0 and this also closes the L2CAP connection.
I can retry it with the new kernel modules.
> > 3.) TP/RFC/BV-13-C: Verifies that the IUT responds=20
> to a Remote=20
> > Line Status command from the tester. When the remote line status=20
> > command is received, the remote device must respond with a=20
> remote line=20
> > status response. We responded with NSC (not supported=20
> command) instead=20
> > of RLS response.
>=20
> I have fixed this in patch-2.4.20-mh7 and it is in the not=20
> released 2.4.21-rc2 mainstream kernel.
Great! Is that also in patch-2.4.18-mh4?
> > 4.) TP/RFC/BV-17-C: RFCOMM Parameter Negotiation: RFCOMM=20
> > doesn't respond with desired parameters in RPN response (it=20
> responds=20
> > with 0's). I took a quick look at the RFCOMM code (our=20
> older version)=20
> > and it's apparent that variables are being set with the=20
> desired values=20
> > when the tester requests values that we don't like, but those=20
> > variables are not the ones that are actually sent in the=20
> response. The=20
> > parameter mask is set correctly though.
>=20
> Please enable RFCOMM debug output and send us the request=20
> that the Tester performs.
It'll take a bit of work to accomplish that because testing is being done
remotely... But if we need to do it, we can.
As a first step I'll send you an e-mail with the snippet of code I'm talkin=
g
about and point out what I think the problem is. And when I get tester logs
I'll send them too.
> > 5.) Once an RFCOMM channel is established, the IUT must=20
> > exchange MSC's (modem status commands) before sending data.=20
> That is,=20
> > it must send an MSC, wait for a response, wait for the=20
> sender's MSC,=20
> > and respond to it before sending data. Our device sent an=20
> MSC and then=20
> > immediately started sending data when we used rctest. This=20
> applies to=20
> > many test cases.
>=20
> We send the MSC after the UA. But we also go into=20
> BT_CONNECTED state and in this state you can also start=20
> sending data. We should maybe go from BT_CONNECT -> BT_CONFIG=20
> and only switch to BT_CONNECTED after the successful exchange of MSC.
That sounds good to me. Not sure about the UA though... I'll check on it.
> > 6.) If a connecting device doesn't send a PN=20
> command with CL=20
> > bits set to 0x0f, then it means it is not a 1.1 device and=20
> we must not=20
> > use credit based flow control. In our case, when such a PN=20
> command was=20
> > received, data was sent using credit based flow control but=20
> shouldn't=20
> > have been. This applies to many test cases.
>=20
> This should not happen, because the current RFCOMM code can=20
> deal with 1.0b and 1.1 devices correctly. Please check this=20
> with latest RFCOMM code and send us the detailed log of this problem.
Ok... I'll try it out with the new kernel modules.
-Daryl.
next prev parent reply other threads:[~2003-05-08 18:11 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-06 17:34 [Bluez-devel] Qualification Testing Daryl Van Vorst
2003-05-07 10:56 ` Stephen Crane
2003-05-07 16:44 ` Daryl Van Vorst
2003-05-08 2:18 ` Daryl Van Vorst
2003-05-12 16:37 ` Stephen Crane
2003-05-12 19:38 ` Daryl Van Vorst
2003-05-08 13:43 ` Marcel Holtmann
2003-05-08 18:11 ` Daryl Van Vorst [this message]
2003-05-08 19:53 ` Marcel Holtmann
2003-05-08 21:04 ` Daryl Van Vorst
2003-05-08 21:55 ` Daryl Van Vorst
2003-05-09 0:10 ` Marcel Holtmann
2003-05-08 22:06 ` Daryl Van Vorst
2003-05-08 18:33 ` Daryl Van Vorst
2003-05-09 0:51 ` Max Krasnyansky
2003-05-09 1:14 ` Marcel Holtmann
2003-05-09 18:11 ` Daryl Van Vorst
2003-05-09 18:36 ` Marcel Holtmann
2003-05-09 21:15 ` Max Krasnyansky
2003-05-09 21:52 ` Daryl Van Vorst
2003-05-09 22:51 ` Max Krasnyansky
2003-05-09 23:16 ` Daryl Van Vorst
2003-05-09 23:40 ` Daryl Van Vorst
2003-05-10 0:26 ` Marcel Holtmann
2003-05-10 2:33 ` Daryl Van Vorst
2003-05-10 6:17 ` Max Krasnyansky
2003-05-10 11:25 ` Marcel Holtmann
2003-05-11 3:57 ` Daryl Van Vorst
2003-05-12 22:51 ` Daryl Van Vorst
2003-05-12 23:05 ` Marcel Holtmann
2003-05-13 17:37 ` Max Krasnyansky
2003-05-13 17:55 ` Daryl Van Vorst
2003-05-13 22:31 ` Marcel Holtmann
2003-05-13 23:02 ` Max Krasnyansky
2003-05-13 23:19 ` Marcel Holtmann
2003-05-14 0:05 ` Max Krasnyansky
2003-05-14 0:30 ` Marcel Holtmann
2003-05-14 16:02 ` Daryl Van Vorst
2003-05-14 16:34 ` Max Krasnyansky
2003-05-14 21:12 ` Daryl Van Vorst
2003-05-14 22:24 ` Daryl Van Vorst
2003-05-14 22:27 ` Marcel Holtmann
2003-05-14 22:35 ` Daryl Van Vorst
2003-05-16 0:43 ` Max Krasnyansky
2003-05-16 14:43 ` Daryl Van Vorst
2003-05-16 17:38 ` Max Krasnyansky
2003-05-16 17:54 ` Daryl Van Vorst
2003-05-16 7:17 ` Marcel Holtmann
2003-05-10 6:16 ` Max Krasnyansky
2003-05-10 16:30 ` Marcel Holtmann
2003-05-11 7:19 ` Max Krasnyansky
2003-05-11 7:44 ` Marcel Holtmann
2003-05-12 23:37 ` Daryl Van Vorst
2003-05-13 0:04 ` Marcel Holtmann
2003-05-13 0:43 ` Daryl Van Vorst
2003-05-13 17:49 ` Max Krasnyansky
2003-05-13 17:44 ` Max Krasnyansky
2003-05-13 18:36 ` Daryl Van Vorst
2003-05-15 21:25 ` Daryl Van Vorst
2003-05-16 17:35 ` Max Krasnyansky
2003-05-16 18:01 ` Daryl Van Vorst
2003-05-16 18:23 ` Marcel Holtmann
2003-05-19 21:17 ` Max Krasnyansky
2003-05-19 21:19 ` Max Krasnyansky
2003-05-20 16:40 ` Daryl Van Vorst
2003-05-29 22:51 ` Daryl Van Vorst
2003-06-12 18:08 ` Max Krasnyansky
2003-06-12 18:49 ` Daryl Van Vorst
2003-06-12 19:11 ` Max Krasnyansky
2003-06-12 20:54 ` Daryl Van Vorst
2003-06-12 21:28 ` Marcel Holtmann
2003-06-13 1:22 ` Max Krasnyansky
2003-05-13 13:30 ` Daryl Van Vorst
2003-05-13 14:02 ` Marcel Holtmann
-- strict thread matches above, loose matches on Subject: below --
2004-12-01 0:32 [Bluez-devel] Qualification testing Daryl Van Vorst
2004-12-01 6:42 ` Marcel Holtmann
2004-12-01 19:09 ` Daryl Van Vorst
2004-12-01 19:32 ` Marcel Holtmann
2004-12-01 23:02 ` Daryl Van Vorst
2004-12-02 7:35 ` Marcel Holtmann
2004-12-02 17:56 ` Daryl Van Vorst
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000801c3158d$497da950$5796fea9@baked' \
--to=daryl@wideray.com \
--cc=bluez-devel@lists.sourceforge.net \
--cc=marcel@rvs.uni-bielefeld.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox