linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: linux-bluetooth@vger.kernel.org
Subject: [Bug 60824] [PATCH][regression] Cambridge Silicon Radio, Ltd Bluetooth Dongle unusable
Date: Thu, 25 Jun 2020 11:16:59 +0000	[thread overview]
Message-ID: <bug-60824-62941-GutNICIJ1N@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-60824-62941@https.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=60824

--- Comment #91 from Sergey Kondakov (virtuousfox@gmail.com) ---
Created attachment 289883
  --> https://bugzilla.kernel.org/attachment.cgi?id=289883&action=edit
ISSC_ds4_pass.btsnoop

(In reply to Swyter from comment #90)
> Because it's what I know, plain and simple. It's what I have been using and
> it's what I've been comfortable recommending. As long as they are HCI logs
> and *they exist* it doesn't matter the format, doing `btmon -w my.log` is
> much nicer than `hcidump -X`, that's for sure, so thanks for that. I'm
> learning as I go, I figured that if no one was stepping up I might as well
> give it a try. Seems like a good way of submitting a first patch and
> learning a few things. ¯\_(ツ)_/¯

Sure, it's just that not only hcidump likely to not be installed by default or
even packaged, the fact that it's long time obsoleted means that it can also be
incorrect and no one is going to debug it. btmon's file dumps are binary
though, so you would need to use `tee` to dump text as it scrolls or use `btmon
-r`.

> I took a look at your DS4 logs. I would take similar captures on Windows to
> compare, maybe the role switch isn't really needed. If you could link your
> Windows drivers here it may also be useful, maybe the dongle needs to be
> configured with vendor commands before using it. **Update**: Tested DS4
> pairing myself with BlueZ and no, the `Accept Connection Request` packet
> doesn't show up and it connects normally, the spec says that this isn't
> non-fatal, and in this case the one erroring out due to timeout and
> disconnecting is the DS4, so that's something to keep in mind.
> 
> From what I see, HCI_OP_ACCEPT_CONN_REQ seems to be called by the SCO layer
> in sco_conn_defer_accept():
> https://github.com/torvalds/linux/blob/
> cb8e59cc87201af93dfbb6c3dccc8fcad72a09c2/net/bluetooth/sco.c#L741
> Or alternatively from here, I believe:
> https://github.com/torvalds/linux/blob/
> cb8e59cc87201af93dfbb6c3dccc8fcad72a09c2/net/bluetooth/hci_event.c#L2742
> 
> It's a wild guess, but it may be sound-related.
> 

I might have made that dump with '-S' option which adds SCO messages that
otherwise might be ignored, just for completeness.

DualShocks 3 and 4 are fiddly to connect, when connecting to "new" dongle you
need to:
1) Remove any OS entries of it.
2) Force DS4 into pairing mode by holding SELECT+PS until light flashes
rapidly, for DS3 you need to connect it to USB. It will write dongle's MAC/UID
into itself.
3) Now you can switch it on normally. I'm pretty sure DS wants to be the master
in that connection.

It works fine on my old 2.x ISSC dongle which I tried to replace with fancier
4.x dongles twice while having 2.x as backup. First 4.x dongle killed itself
for no reason a minute after plugging in, bastards didn't even refund me for
its corpse. And second one is this CSR. But timeouts seem irrelevant, sometimes
they just don't react properly fast enough during pairing and they also refuse
to connect to a dongle that's not in their memory.

On Windows I just use Windows' stock drivers and DS4Windows
https://github.com/Ryochan7/DS4Windows for polling rate / latency, lights
controls, battery state tracking and xinput emulation. On Linux there is no
control (polling/latency would be really nice for battery/responsiveness
balancing and parity with new generation of consoles that advertise 1ms
wireless latency which DS4 should be well capable of) but I'm trying out
https://github.com/TheDrHax/ds4drv-cemuhook now. 

I think that Windows' BT stack just not as picky. There is no way they would do
per-device workarounds for garbage bin dongles like that. They JUST recently
(like last year or something) added USB audio driver after years of relying on
crappy, often licensed separately, third-party per-device implementations.

> 
> Another thing to keep in mind is that the bluez-utils package has a nifty
> `bccmd` tool for CSR devices (a clone of a proprietary tool, actually) that
> is able to get and set most of the internal firmware properties and detect
> the chip type, in theory. It doesn't work for me, though. I'm guessing
> there's an alternative way of accessing the vendor commands via USB, or the
> interface has changed since then.
> 
> But at least worth a shot on your end. Maybe you guys have more luck doing
> `bccmd chiprev`.

Fails for me with "Can't execute command: No such device or address (6)"

-- 
You are receiving this mail because:
You are the assignee for the bug.

  parent reply	other threads:[~2020-06-25 11:17 UTC|newest]

Thread overview: 197+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-60824-62941@https.bugzilla.kernel.org/>
2019-06-24 14:43 ` [Bug 60824] [PATCH][regression] Cambridge Silicon Radio, Ltd Bluetooth Dongle unusable bugzilla-daemon
2019-06-24 17:12 ` bugzilla-daemon
2019-06-25 16:15 ` bugzilla-daemon
2019-08-01  1:56 ` bugzilla-daemon
2019-08-15  5:54 ` bugzilla-daemon
2019-08-17  4:52 ` bugzilla-daemon
2019-08-17 22:42 ` bugzilla-daemon
2019-08-18  1:45 ` bugzilla-daemon
2019-08-20  4:49 ` bugzilla-daemon
2019-09-11 18:20 ` bugzilla-daemon
2019-09-16  7:30 ` bugzilla-daemon
2019-09-16 11:12 ` bugzilla-daemon
2019-10-13 17:25 ` bugzilla-daemon
2019-10-15 21:00 ` bugzilla-daemon
2019-11-03  9:12 ` bugzilla-daemon
2019-12-06 19:36 ` bugzilla-daemon
2019-12-10  4:54 ` bugzilla-daemon
2020-01-17  6:29 ` bugzilla-daemon
2020-01-17  6:50 ` bugzilla-daemon
2020-01-25 14:52 ` bugzilla-daemon
2020-02-07 15:31 ` bugzilla-daemon
2020-02-07 16:50 ` bugzilla-daemon
2020-02-07 17:00 ` bugzilla-daemon
2020-02-07 17:24 ` bugzilla-daemon
2020-02-13 19:59 ` bugzilla-daemon
2020-02-15 20:59 ` bugzilla-daemon
2020-02-15 21:01 ` bugzilla-daemon
2020-04-06 19:43 ` bugzilla-daemon
2020-04-23 17:17 ` bugzilla-daemon
2020-04-24 13:14 ` bugzilla-daemon
2020-05-02 21:54 ` bugzilla-daemon
2020-05-03  0:52 ` bugzilla-daemon
2020-05-09  6:15 ` bugzilla-daemon
2020-05-10 14:50 ` bugzilla-daemon
2020-05-10 15:15 ` bugzilla-daemon
2020-05-10 16:14 ` bugzilla-daemon
2020-05-10 18:53 ` bugzilla-daemon
2020-06-21 20:30 ` bugzilla-daemon
2020-06-24  2:44 ` bugzilla-daemon
2020-06-24 14:03 ` bugzilla-daemon
2020-06-24 16:48 ` bugzilla-daemon
2020-06-24 17:23 ` bugzilla-daemon
2020-06-24 18:42 ` bugzilla-daemon
2020-06-24 21:37 ` bugzilla-daemon
2020-06-24 21:44 ` bugzilla-daemon
2020-06-25  0:04 ` bugzilla-daemon
2020-06-25  7:34 ` bugzilla-daemon
2020-06-25 11:16 ` bugzilla-daemon [this message]
2020-07-18 19:16 ` bugzilla-daemon
2020-07-18 21:39 ` bugzilla-daemon
2020-07-19  1:50 ` bugzilla-daemon
2020-07-20 21:13 ` bugzilla-daemon
2020-07-24 15:43 ` bugzilla-daemon
2020-07-24 15:46 ` bugzilla-daemon
2020-07-26 21:26 ` bugzilla-daemon
2020-07-27  4:16 ` bugzilla-daemon
2020-07-27  5:53 ` bugzilla-daemon
2020-08-03  8:05 ` bugzilla-daemon
2020-08-03  8:18 ` bugzilla-daemon
2020-08-03  8:27 ` bugzilla-daemon
2020-08-03  8:28 ` bugzilla-daemon
2020-08-03  8:29 ` bugzilla-daemon
2020-08-03  8:47 ` bugzilla-daemon
2020-08-03  9:03 ` bugzilla-daemon
2020-08-03  9:08 ` bugzilla-daemon
2020-08-03  9:08 ` bugzilla-daemon
2020-08-03 14:54 ` bugzilla-daemon
2020-08-10 22:35 ` bugzilla-daemon
2020-08-13 19:32 ` bugzilla-daemon
2020-08-15  0:16 ` bugzilla-daemon
2020-08-18 22:53 ` bugzilla-daemon
2020-08-20  5:43 ` bugzilla-daemon
2020-08-22 14:39 ` bugzilla-daemon
2020-08-23  6:58 ` bugzilla-daemon
2020-08-25 15:17 ` bugzilla-daemon
2020-08-26 17:08 ` bugzilla-daemon
2020-09-01 19:39 ` bugzilla-daemon
2020-09-02  2:28 ` bugzilla-daemon
2020-09-09 14:12 ` bugzilla-daemon
2020-09-12 15:54 ` bugzilla-daemon
2020-09-23 14:06 ` bugzilla-daemon
2020-09-27 12:45 ` bugzilla-daemon
2020-10-16 21:46 ` bugzilla-daemon
2020-10-29  0:26 ` bugzilla-daemon
2020-11-10 14:06 ` bugzilla-daemon
2020-11-18  2:21 ` bugzilla-daemon
2020-11-26 20:03 ` bugzilla-daemon
2020-12-12 14:43 ` bugzilla-daemon
2020-12-21  4:35 ` bugzilla-daemon
2021-01-20  8:52 ` bugzilla-daemon
2021-01-22 13:25 ` bugzilla-daemon
2021-01-22 13:45 ` bugzilla-daemon
2021-01-22 15:50 ` bugzilla-daemon
2021-01-22 16:19 ` bugzilla-daemon
2021-01-31 15:47 ` bugzilla-daemon
2021-05-06  3:33 ` bugzilla-daemon
2021-05-06  8:38 ` bugzilla-daemon
2021-05-06 13:40 ` bugzilla-daemon
2021-05-17  9:59 ` bugzilla-daemon
2021-05-17 11:36 ` bugzilla-daemon
2021-05-17 13:55 ` bugzilla-daemon
2021-05-17 22:39 ` bugzilla-daemon
2021-05-17 22:46 ` bugzilla-daemon
2021-05-17 23:11 ` bugzilla-daemon
2021-05-30  1:09 ` bugzilla-daemon
2021-06-24 11:43 ` bugzilla-daemon
2021-07-29 22:12 ` bugzilla-daemon
2021-08-02 18:12 ` bugzilla-daemon
2021-08-07 21:16 ` bugzilla-daemon
2021-08-12 14:27 ` bugzilla-daemon
2021-08-12 14:51 ` bugzilla-daemon
2021-08-12 18:16 ` bugzilla-daemon
2021-08-13  3:39 ` bugzilla-daemon
2021-08-13 11:09 ` bugzilla-daemon
2021-08-14 23:30 ` bugzilla-daemon
2021-08-15  5:28 ` bugzilla-daemon
2021-08-16  6:39 ` bugzilla-daemon
2021-09-08 22:40 ` bugzilla-daemon
2021-09-08 23:36 ` bugzilla-daemon
2021-09-09  0:02 ` bugzilla-daemon
2021-09-10  7:37 ` bugzilla-daemon
2021-09-24  3:11 ` bugzilla-daemon
2021-11-03  1:20 ` bugzilla-daemon
2021-11-03  1:25 ` bugzilla-daemon
2021-11-03 17:56 ` bugzilla-daemon
2021-11-07 19:22 ` bugzilla-daemon
2021-11-17  3:28 ` bugzilla-daemon
2022-01-01 15:32 ` bugzilla-daemon
2022-01-01 16:10 ` bugzilla-daemon
2022-01-01 18:12 ` bugzilla-daemon
2022-01-01 18:55 ` bugzilla-daemon
2022-01-01 21:00 ` bugzilla-daemon
2022-01-01 21:01 ` bugzilla-daemon
2022-01-02  2:54 ` bugzilla-daemon
2022-01-02  9:33 ` bugzilla-daemon
2022-01-06 16:55 ` bugzilla-daemon
2022-01-18 12:19 ` bugzilla-daemon
2022-01-22  5:05 ` bugzilla-daemon
2022-01-24  3:44 ` bugzilla-daemon
2022-01-27 20:16 ` bugzilla-daemon
2022-02-03 21:18 ` bugzilla-daemon
2022-03-05  7:07 ` bugzilla-daemon
2022-03-10 18:25 ` bugzilla-daemon
2022-03-12 21:53 ` bugzilla-daemon
2022-03-30 14:57 ` bugzilla-daemon
2022-03-30 16:49 ` bugzilla-daemon
2022-03-30 16:49 ` bugzilla-daemon
2022-04-19  3:01 ` bugzilla-daemon
2022-10-08 23:44 ` bugzilla-daemon
2022-10-11  6:53 ` bugzilla-daemon
2022-10-11 13:21 ` bugzilla-daemon
2022-10-15 17:59 ` bugzilla-daemon
2022-10-15 18:02 ` bugzilla-daemon
2022-10-15 19:12 ` bugzilla-daemon
2022-10-15 19:43 ` bugzilla-daemon
2022-10-27  9:59 ` bugzilla-daemon
2022-10-28  2:59 ` bugzilla-daemon
2022-10-28  8:44 ` bugzilla-daemon
2022-10-29 14:43 ` bugzilla-daemon
2022-10-29 20:39 ` bugzilla-daemon
2022-10-30 10:45 ` bugzilla-daemon
2022-10-30 10:49 ` bugzilla-daemon
2022-10-30 11:43 ` bugzilla-daemon
2022-10-30 12:52 ` bugzilla-daemon
2022-10-31  3:03 ` bugzilla-daemon
2022-10-31 11:00 ` bugzilla-daemon
2022-10-31 11:09 ` bugzilla-daemon
2022-10-31 12:47 ` bugzilla-daemon
2022-10-31 12:56 ` bugzilla-daemon
2022-10-31 13:11 ` bugzilla-daemon
2022-10-31 13:21 ` bugzilla-daemon
2022-10-31 14:12 ` bugzilla-daemon
2022-11-01  3:14 ` bugzilla-daemon
2022-11-13 17:22 ` bugzilla-daemon
2022-11-22  2:56 ` bugzilla-daemon
2022-11-22  8:00 ` bugzilla-daemon
2022-11-25  2:45 ` bugzilla-daemon
2022-12-11 15:37 ` bugzilla-daemon
2022-12-12 15:55 ` bugzilla-daemon
2022-12-23 18:36 ` bugzilla-daemon
2022-12-23 18:42 ` bugzilla-daemon
2022-12-23 22:33 ` bugzilla-daemon
2023-02-08 15:30 ` bugzilla-daemon
2023-02-24 22:05 ` bugzilla-daemon
2023-02-26  0:15 ` bugzilla-daemon
2023-03-08 20:43 ` bugzilla-daemon
2023-04-20 17:35 ` bugzilla-daemon
2023-04-20 18:15   ` [Bug,60824,regression] " bluez.test.bot
2023-06-25 15:31 ` [Bug 60824] [PATCH][regression] " bugzilla-daemon
2023-07-14 14:58 ` bugzilla-daemon
2023-07-14 15:07 ` bugzilla-daemon
2023-07-27 19:23 ` bugzilla-daemon
2023-10-17 12:18 ` bugzilla-daemon
2023-12-27 14:54 ` bugzilla-daemon
2024-02-11 13:59 ` bugzilla-daemon
2024-02-22 19:59 ` bugzilla-daemon
2024-02-23 16:45 ` 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-60824-62941-GutNICIJ1N@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@bugzilla.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).