Linux-Bluetooth Archive on lore.kernel.org
 help / color / Atom feed
* RE: Bluetooth / rfcomm  issue with traffic send
@ 2019-10-03  8:08 Mikhail Pavlukhin
  0 siblings, 0 replies; only message in thread
From: Mikhail Pavlukhin @ 2019-10-03  8:08 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: johan.hedberg, marcel

Resending to the mail list in plain text

From: Mikhail Pavlukhin 
Sent: Thursday, October 3, 2019 10:45 AM
To: 'linux-bluetooth@vger.kernel.org' <linux-bluetooth@vger.kernel.org>
Cc: 'johan.hedberg@gmail.com' <johan.hedberg@gmail.com>; 'marcel@holtmann.org' <marcel@holtmann.org>
Subject: Bluetooth / rfcomm issue with traffic send

Hello,

Would you please assist me with a troubleshooting of the issue with Bluetooth stack? Any advice or recommendation is appreciated.

The system is based on the:
- Linux kernel 4.14.68 
- Bluez - 5.48
- Intel Stick computer with attached Bluetooth USB adapter Broadcom
- Application written in JavaScript/NodeJS and JavaScript plugin https://github.com/waeco/node-bluez helping with Bluetooth connection management

The aim is to establish connection with external device using Bluetooth SPP profile and send/receive certain amount of traffic to the external device. External device is ALPS Evolution series based (https://www.alps.com/prod/info/E/HTML/Communication/Bluetooth/Bluetooth_list1.html)

The observation is the following:
Bluetooth SPP Connection can be successfully established (after SDP discovery, Pairing procedures) and socket descriptor is returned to the user space application. So it is possible to use it for sending - receiving traffic. It is supposed to send some packets containing ASCII symbols with different intensity (packets per second) and packet length. Traffic sending might continue up to several hours. At some moment (spontaneously) that traffic stops (do not see any packets outgoing from the HCI interface associated with Broadcom adapter) even though peer device is available and working fine. Bluez reports devices as paired and connected. In that moment each call of send function on socket finished with failure and errno 11 reported. Tried to check dmesg and system logs, but there is no indication of the failures or error reports. Tried to compare list of open sockets in bad and good case (for rfcomm and our application/NodeJS) - they are the same. Now trying to use Dynamic Debug featu
 re in Linux kernel and trace functions in https://github.com/torvalds/linux/blob/63bdf4284c38a48af21745ceb148a087b190cd21/net/bluetooth/rfcomm/sock.c, but there are a lot of printouts so it is hard to follow what is going on.
It seems the issue with traffic stop reproducible more frequently in case if there is high traffic intensity and small packet length (~64 Kbps).

Could you please advise what modules better to trace with Dynamic Debug feature? Are there any idea why errno 11 can be reported? BTW am I right saying that errno 11 is 
#define EAGAIN šššššš 11šššš /* Try again */ (taken from https://github.com/torvalds/linux/blob/6f0d349d922ba44e4348a17a78ea51b7135965b1/include/uapi/asm-generic/errno-base.h) ?
Actually send attempt is retried, but the traffic sending (towards to the external device) is not restarted even after few minutes.

Thank you in advance, Mikhail.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-03  8:08 Bluetooth / rfcomm issue with traffic send Mikhail Pavlukhin

Linux-Bluetooth Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-bluetooth/0 linux-bluetooth/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-bluetooth linux-bluetooth/ https://lore.kernel.org/linux-bluetooth \
		linux-bluetooth@vger.kernel.org linux-bluetooth@archiver.kernel.org
	public-inbox-index linux-bluetooth

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-bluetooth


AGPL code for this site: git clone https://public-inbox.org/ public-inbox