All of lore.kernel.org
 help / color / mirror / Atom feed
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;
}

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.