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 14:55:10 -0700 [thread overview]
Message-ID: <001101c315ac$7f545fa0$5796fea9@baked> (raw)
In-Reply-To: <000801c3158d$497da950$5796fea9@baked>
Marcel,
Have a look at the rfcomm_recv_rpn() function pasted below. I did a diff
between it and the latest, and the only difference is how a variable is
declared - nothing significant.
Here's what I see happening:
Take a look at XON and XOFF. If we see a value we don't like, we set
rpn->xon_char to the value that we would like to see. We also update the
rpn_mask variable. Then at the bottom of the function we call
rfcomm_send_rpn() with xon_char and not rpn->xon_char. So it sends 0 instea=
d
of the desired character, but it does send the correct rpn_mask.
It looks to me like most of the tests act on the right variables. Just xon,
xoff, and flow control appear to have the problem.=20
Do you agree?
-Daryl.
> > > 4.) TP/RFC/BV-17-C: RFCOMM Parameter Negotiation: RFCOMM
> > > doesn't respond with desired parameters in RPN response (it=20
> > responds
> > > with 0's). I took a quick look at the RFCOMM code (our
> > older version)
> > > and it's apparent that variables are being set with the
> > desired values
> > > when the tester requests values that we don't like, but those
> > > variables are not the ones that are actually sent in the=20
> > response. The
> > > parameter mask is set correctly though.
> >=20
> > Please enable RFCOMM debug output and send us the request
> > that the Tester performs.
>=20
> It'll take a bit of work to accomplish that because testing=20
> is being done remotely... But if we need to do it, we can.
>=20
> As a first step I'll send you an e-mail with the snippet of=20
> code I'm talking about and point out what I think the problem=20
> is. And when I get tester logs I'll send them too.
static int rfcomm_recv_rpn(struct rfcomm_session *s, int cr, int len, struc=
t
sk_buff *skb)
{
struct rfcomm_rpn *rpn =3D (void *) skb->data;
int dlci =3D __get_dlci(rpn->dlci);
u8 bit_rate =3D 0;
u8 data_bits =3D 0;
u8 stop_bits =3D 0;
u8 parity =3D 0;
u8 flow_ctrl =3D 0;
u8 xon_char =3D 0;
u8 xoff_char =3D 0;
u16 rpn_mask =3D RFCOMM_RPN_PM_ALL;
=09
BT_DBG("dlci %d cr %d len 0x%x bitr 0x%x line 0x%x flow 0x%x xonc
0x%x xoffc 0x%x pm 0x%x",=20
dlci, cr, len, rpn->bit_rate, rpn->line_settings,
rpn->flow_ctrl,
rpn->xon_char, rpn->xoff_char, rpn->param_mask);
=09
if (!cr)=20
return 0;
=09
if (len =3D=3D 1) {
/* request: return default setting */
bit_rate =3D RFCOMM_RPN_BR_115200;
data_bits =3D RFCOMM_RPN_DATA_8;
stop_bits =3D RFCOMM_RPN_STOP_1;
parity =3D RFCOMM_RPN_PARITY_NONE;
flow_ctrl =3D RFCOMM_RPN_FLOW_NONE;
xon_char =3D RFCOMM_RPN_XON_CHAR;
xoff_char =3D RFCOMM_RPN_XOFF_CHAR;
goto rpn_out;
}
/* check for sane values: ignore/accept bit_rate, 8 bits, 1 stop
bit, no parity,
no flow control lines, normal XON/XOFF
chars */
if (rpn->param_mask & RFCOMM_RPN_PM_DATA) {
data_bits =3D __get_rpn_data_bits(rpn->line_settings);
if (data_bits !=3D RFCOMM_RPN_DATA_8) {
BT_DBG("RPN data bits mismatch 0x%x", data_bits);
data_bits =3D RFCOMM_RPN_DATA_8;
rpn_mask ^=3D RFCOMM_RPN_PM_DATA;
}
}
if (rpn->param_mask & RFCOMM_RPN_PM_STOP) {
stop_bits =3D __get_rpn_stop_bits(rpn->line_settings);
if (stop_bits !=3D RFCOMM_RPN_STOP_1) {
BT_DBG("RPN stop bits mismatch 0x%x", stop_bits);
stop_bits =3D RFCOMM_RPN_STOP_1;
rpn_mask ^=3D RFCOMM_RPN_PM_STOP;
}
}
if (rpn->param_mask & RFCOMM_RPN_PM_PARITY) {
parity =3D __get_rpn_parity(rpn->line_settings);
if (parity !=3D RFCOMM_RPN_PARITY_NONE) {
BT_DBG("RPN parity mismatch 0x%x", parity);
parity =3D RFCOMM_RPN_PARITY_NONE;
rpn_mask ^=3D RFCOMM_RPN_PM_PARITY;
}
}
if (rpn->param_mask & RFCOMM_RPN_PM_FLOW) {
if (rpn->flow_ctrl !=3D RFCOMM_RPN_FLOW_NONE) {
BT_DBG("RPN flow ctrl mismatch 0x%x",
rpn->flow_ctrl);
rpn->flow_ctrl =3D RFCOMM_RPN_FLOW_NONE;
rpn_mask ^=3D RFCOMM_RPN_PM_FLOW;
}
}
if (rpn->param_mask & RFCOMM_RPN_PM_XON) {
if (rpn->xon_char !=3D RFCOMM_RPN_XON_CHAR) {
BT_DBG("RPN XON char mismatch 0x%x", rpn->xon_char);
rpn->xon_char =3D RFCOMM_RPN_XON_CHAR;
rpn_mask ^=3D RFCOMM_RPN_PM_XON;
}
}
if (rpn->param_mask & RFCOMM_RPN_PM_XOFF) {
if (rpn->xoff_char !=3D RFCOMM_RPN_XOFF_CHAR) {
BT_DBG("RPN XOFF char mismatch 0x%x",
rpn->xoff_char);
rpn->xoff_char =3D RFCOMM_RPN_XOFF_CHAR;
rpn_mask ^=3D RFCOMM_RPN_PM_XOFF;
}
}
rpn_out:
rfcomm_send_rpn(s, 0, dlci,=20
bit_rate, data_bits, stop_bits, parity, flow_ctrl,
xon_char, xoff_char, rpn_mask);
return 0;
}
next prev parent reply other threads:[~2003-05-08 21:55 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
2003-05-08 19:53 ` Marcel Holtmann
2003-05-08 21:04 ` Daryl Van Vorst
2003-05-08 21:55 ` Daryl Van Vorst [this message]
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='001101c315ac$7f545fa0$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