From: bugzilla-daemon@kernel.org
To: linux-bluetooth@vger.kernel.org
Subject: [Bug 218494] New: btrtl/rtl8761bu: RFCOMM is not working
Date: Wed, 14 Feb 2024 16:44:06 +0000 [thread overview]
Message-ID: <bug-218494-62941@https.bugzilla.kernel.org/> (raw)
https://bugzilla.kernel.org/show_bug.cgi?id=218494
Bug ID: 218494
Summary: btrtl/rtl8761bu: RFCOMM is not working
Product: Drivers
Version: 2.5
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P3
Component: Bluetooth
Assignee: linux-bluetooth@vger.kernel.org
Reporter: manio@skyboo.net
Regression: No
Hi,
I am trying to use an RFCOMM-capable dongle under Arch Linux (kernel:
6.6.10-arch1-1).
The BT usb adapter is:
ID 0bda:8771 Realtek Semiconductor Corp. Bluetooth Radio
dmesg:
[ 19.174428] Bluetooth: Core ver 2.22
[ 19.174448] NET: Registered PF_BLUETOOTH protocol family
[ 19.174448] Bluetooth: HCI device and connection manager initialized
[ 19.174452] Bluetooth: HCI socket layer initialized
[ 19.174454] Bluetooth: L2CAP socket layer initialized
[ 19.174460] Bluetooth: SCO socket layer initialized
[ 20.497753] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b
lmp_ver=0a lmp_subver=8761
[ 20.500891] Bluetooth: hci0: RTL: rom_version status=0 version=1
[ 20.500894] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
[ 20.502433] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_config.bin
[ 20.503140] Bluetooth: hci0: RTL: cfg_sz 6, total sz 30210
[ 20.898620] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 20.898620] Bluetooth: BNEP filters: protocol multicast
[ 20.898620] Bluetooth: BNEP socket layer initialized
[ 21.285074] Bluetooth: hci0: RTL: fw version 0xdfc6d922
[ 21.430191] Bluetooth: MGMT ver 1.22
[ 40.360736] Bluetooth: RFCOMM TTY layer initialized
[ 40.360743] Bluetooth: RFCOMM socket layer initialized
[ 40.360746] Bluetooth: RFCOMM ver 1.11
The rfcomm utility was not provided so I had to install:
https://archlinux.org/packages/extra/x86_64/bluez-deprecated-tools/
unfortunately the command:
rfcomm connect 0 B8:8B:15:0A:1C:AD
gives:
Can't connect RFCOMM socket: Operation now in progress
I tried also with `bind` argument - all of this gives errors.
Finally I tried python tools to directly use RFCOMM, then even a rust rfcat
tool from:
https://github.com/bluez/bluer/blob/master/bluer-tools/src/rfcat.rs
All gives various errors/timeouts and cannot connect to the dongle's
serial port. I was also trying to pair/connect with bluetoothctl prior
this - no change.
In fact (see below - pairing seems not needed at all).
Finally I started very very old Asus laptop with debian.
I invoked:
rfcomm connect 0 B8:8B:15:0A:1C:AD
and this immediately gives me:
Connected /dev/rfcomm0 to B8:8B:15:0A:1C:AD on channel 1
Press CTRL-C for hangup
... and it works like a charm!!! I can connect minicom and communication is
working (no pairing/connecting with bluetoothctl needed).
dmesg there:
[ 298.641307] Bluetooth: Core ver 2.22
[ 298.641393] Bluetooth: HCI device and connection manager initialized
[ 298.641405] Bluetooth: HCI socket layer initialized
[ 298.641409] Bluetooth: L2CAP socket layer initialized
[ 298.641419] Bluetooth: SCO socket layer initialized
[ 299.673331] Bluetooth: hci0: unexpected event for opcode 0x0000
[ 311.510413] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 311.510422] Bluetooth: BNEP filters: protocol multicast
[ 311.510435] Bluetooth: BNEP socket layer initialized
[ 1902.017008] Bluetooth: RFCOMM TTY layer initialized
[ 1902.017026] Bluetooth: RFCOMM socket layer initialized
[ 1902.017048] Bluetooth: RFCOMM ver 1.11
the adapter is:
ID 0b05:1712 ASUSTek Computer, Inc. BT-183 Bluetooth 2.0+EDR adapter
I am now trying to identify the problem/difference. I've logged all data using
btmon from the start to invoking the rfcom connect.
I can see that the difference start when my Asus laptop is showing this:
< ACL Data TX: Handle 42 flags 0x02 dlen 10
#13 [hci0] 40.891571
L2CAP: Information Request (0x0a) ident 1 len 2
Type: Extended features supported (0x0002)
> HCI Event: Number of Completed Packets (0x13) plen 5
> #14 [hci0] 40.898476
Num handles: 1
Handle: 42 Address: B8:8B:15:0A:1C:AD (OUI B8-8B-15)
Count: 1
> ACL Data RX: Handle 42 flags 0x02 dlen 16
> #15 [hci0] 40.899488
L2CAP: Information Response (0x0b) ident 1 len 8
Type: Extended features supported (0x0002)
Result: Success (0x0000)
Features: 0x00000000
< ACL Data TX: Handle 42 flags 0x02 dlen 12
#16 [hci0] 40.899554
L2CAP: Connection Request (0x02) ident 2 len 4
PSM: 3 (0x0003)
Source CID: 64
I don't see any L2CAP and RFCOMM lines on the "bad" ArchLinux setup.
ps. I tested the dongle also from Windows and Android - also works OK.
update:
I've exposed the laptop's bluetooth adapter to my ArchLinux using USB/IP
method.
This way on the same platform where the Realtek USB adapter is not
working I was able to also use laptop's BT adapter.
Here are the results:
❯ rfcomm -i hci0 connect 0 B8:8B:15:0A:1C:AD
Can't connect RFCOMM socket: Operation now in progress
# --> problem on realtek
❯ rfcomm -i hci1 connect 0 B8:8B:15:0A:1C:AD
Connected /dev/rfcomm0 to B8:8B:15:0A:1C:AD on channel 1
Press CTRL-C for hangup
^CDisconnected
# --> works great on Asus BT
Conclusion: the ArchLinux platform is OK (i mean the distribution,
bluetooth stack, kernel modules and utilities).
The problem seems to be the Realtek drivers/firmware for my rtl8761bu...
I am attaching full logs (called good and bad). dvbsnoop logs also
included.
update2: I also tested the initial firmware added (from 2021-06-09):
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/log/rtl_bt/rtl8761bu_fw.bin
also doesn't work
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are the assignee for the bug.
next reply other threads:[~2024-02-14 16:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-14 16:44 bugzilla-daemon [this message]
2024-02-14 16:45 ` [Bug 218494] btrtl/rtl8761bu: RFCOMM is not working bugzilla-daemon
2024-02-14 16:45 ` bugzilla-daemon
2024-02-14 16:45 ` bugzilla-daemon
2024-02-14 16:46 ` bugzilla-daemon
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=bug-218494-62941@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@kernel.org \
--cc=linux-bluetooth@vger.kernel.org \
/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.