T3.6 USB Host - Bluetooth

Hi @mjs513 and @defragster,

As you have noticed I have not played yet with the BT mouse here. I probably should. My Logitech mouse can bind to three different Bluetooths, currently on my main computer and as I mentioned I don't really like it.. So maybe better to use it to test this stuff out.

I pushed the current stuff up to github

Question is what priority to try next.

a) Put the string caching in. Not a big deal.
b) Maybe extend PS4 functionality. Would be great, but wait until I get some more stuff working... So if someone else beats me to it :D
c) Get a few more BTish joysticks to work, like PS3, XBox One. Not sure if I still have a Wii remote around here or not...
d) BT Mice
e) Get more dongles to work... Might try a quick hack to see if this might work. I have had to do this in some other cases, like some joysticks did not setup as HID device so we had to process the device directly...

...

Then figure out how to have multiple devices connect... Again like Mouse and Keyboard...
 
Hi @mjs513 and @defragster,

As you have noticed I have not played yet with the BT mouse here. I probably should. My Logitech mouse can bind to three different Bluetooths, currently on my main computer and as I mentioned I don't really like it.. So maybe better to use it to test this stuff out.

I pushed the current stuff up to github

Question is what priority to try next.

a) Put the string caching in. Not a big deal.
b) Maybe extend PS4 functionality. Would be great, but wait until I get some more stuff working... So if someone else beats me to it :D
c) Get a few more BTish joysticks to work, like PS3, XBox One. Not sure if I still have a Wii remote around here or not...
d) BT Mice
e) Get more dongles to work... Might try a quick hack to see if this might work. I have had to do this in some other cases, like some joysticks did not setup as HID device so we had to process the device directly...


Then figure out how to have multiple devices connect... Again like Mouse and Keyboard...
Kurt
Think you pretty much got the order right. I would recommend a couple minor changes:

a) Put the string caching in. Not a big deal.
b) Maybe extend PS4 functionality. Would be great, but wait until I get some more stuff working... So if someone else beats me to it
Not quite sure what you mean by more stuff. But I think rumble/leds and the full report from the ps4 bt is kind of necessary to at least match what the usb version is capabilities. I still playing with getting rumble, leds and full report working. Funny once in a while it does work. Wondering if you need a small delay or something.
d) BT Mice - in between (b) - to do when you get fustrated. :)
e) Get more dongles to work... Might try a quick hack to see if this might work. I have had to do this in some other cases, like some joysticks did not setup as HID device so we had to process the device directly...
c) Get a few more BTish joysticks to work, like PS3, XBox One. Not sure if I still have a Wii remote around here or not...

Thats just my 2 cents.
 
Kurt
Think you pretty much got the order right. I would recommend a couple minor changes:

b) Maybe extend PS4 functionality. Would be great, but wait until I get some more stuff working... So if someone else beats me to it
Not quite sure what you mean by more stuff. But I think rumble/leds and the full report from the ps4 bt is kind of necessary to at least match what the usb version is capabilities. I still playing with getting rumble, leds and full report working. Funny once in a while it does work. Wondering if you need a small delay or something.
I was sort of implying that maybe someone (i.e. you) will figure it out before I do ;)

Forgot to mention, that I have now tried e) to have table of VID:pID to try to go ahead and claim. It claims, but I am not working... I don't see anything like a led light... Probably need to do additional things like some BLE things...
 
I was sort of implying that maybe someone (i.e. you) will figure it out before I do ;)

Figured as much :) that's why I said do that in between …. May have a couple of questions for your tomorrow as I sort through this.
 
DOH - though MouseBt might be the ticket :)

Had to pull the ZIP from KurtE to get changes - somehow my web FORK won't pull them over? And desk top is cloned from that?

So running JoystickBt.ino with Bt adapter it doesn't ask to connect?

Plugged in USB and I see:
Code:
*** Device HID1 54c:268 - connected ***
  manufacturer: SHANWAN
  product: PS3 GamePad
*** HID Device Joystick1 54c:268 - connected ***
  manufacturer: SHANWAN
  product: PS3 GamePad
Joystick: buttons = 0 0:128 1:128 2:128 5:128 42:252 43:1 44:220 46:124
Joystick: buttons = 0 44:208
Joystick: buttons = 0 44:220
Joystick: buttons = 0 44:208
// …
Joystick: buttons = 0 44:208
Joystick: buttons = 0 44:244
*** Device HID1 - disconnected ***
*** HID Device Joystick1 - disconnected ***

Cool it has a motion controller built in.

Buttons all seem to register - but no response to the two thumb joysticks.

Not sure of the step to get PS/3 joy to be offered and connected on Bt?

KurtE - the Bt Rii doesn't seems to connect with USB - let me know if there is support for that device.

… suppose I need to get back to my real task ASAP
 
Mouse - stuff, I need to go through and/or make logic traces of how the drivers talk to the mice to set them up. I would assume pretty close to what the keyboard code does.

Will look more in the morning.

With the Rii - Yours might be more modern than mine is... But on mine, what I need to do to bind.

Is to use the version of the constructor like: BluetoothController bluet(myusb, true, "0000");

Then at least on mine, I turn on the rii, then press the BT button toward the upper right. Then maybe delay a little and then type in the PIN number in this case: 000 and hit the enter key. Then it should hopefully be bound... Not sure if I have tried recently to see if it will then work without having to enter the PIN and the smaller constructor...

Kurt

If I remember correctly the USB adapter only is used to charge the unit.
 
Using MouseBt with that edit I got a connect :cool:

Will trust this to work and get on with my task . . .

Code:
USB Host Testing
960
*** Device Bluet a12:1 - connected ***
  product: CSR8510 A10
key '0'  48 MOD: 0 OEM: 0 LEDS: 0
key '0'  48 MOD: 0 OEM: 0 LEDS: 0
key '0'  48 MOD: 0 OEM: 0 LEDS: 0
key '
'  10 MOD: 0 OEM: 0 LEDS: 0
key 'q'  113 MOD: 0 OEM: 0 LEDS: 0
key 'q'  113 MOD: 0 OEM: 0 LEDS: 0
key 'w'  119 MOD: 0 OEM: 0 LEDS: 0
key 'e'  101 MOD: 0 OEM: 0 LEDS: 0
key 'r'  114 MOD: 0 OEM: 0 LEDS: 0
key 't'  116 MOD: 0 OEM: 0 LEDS: 0
key 'y'  121 MOD: 0 OEM: 0 LEDS: 0
[COLOR="#FF0000"]key 'H'  72 MOD: 0 OEM: 0 LEDS: 0[/COLOR]
key 'e'  101 MOD: 0 OEM: 0 LEDS: 0
key 'l'  108 MOD: 0 OEM: 0 LEDS: 0
key 'l'  108 MOD: 0 OEM: 0 LEDS: 0
key 'o'  111 MOD: 0 OEM: 0 LEDS: 0
key ' '  32 MOD: 0 OEM: 0 LEDS: 0
[COLOR="#FF0000"]key 'W'  87 MOD: 0 OEM: 0 LEDS: 0[/COLOR]
key 'o'  111 MOD: 0 OEM: 0 LEDS: 0
key 'r'  114 MOD: 0 OEM: 0 LEDS: 0
key 'l'  108 MOD: 0 OEM: 0 LEDS: 0
key 'd'  100 MOD: 0 OEM: 0 LEDS: 0
key '
'  10 MOD: 0 OEM: 0 LEDS: 0
[COLOR="#FF0000"]key 'R'  82 MOD: 0 OEM: 0 LEDS: 0
key 'i'  105 MOD: 0 OEM: 0 LEDS: 0
key 'i'  105 MOD: 0 OEM: 0 LEDS: 0[/COLOR]
*** Device Bluet - disconnected ***
*** Device Bluet a12:1 - connected ***
  product: CSR8510 A10

Agreed - given the PC ignored the Rii - that is charge only. It saw the PS3 gamepad.
 
Finally debug_tt is usable on T_3.6 - seems bad on T4:: https://github.com/Defragster/T4_demo/tree/master/debug_tt

The FAULT code is where it is failing - so don't cause any faults and the behavior and output is good. I should be able to run that back on … but must go offline ...

Two tested up to date examples are :: DebugMin_tt and Trace_tt.

If you hit 'y' three times on T_3.6 with Trace_tt it will FAULT. There is a 2 second delay between the ASSERTS that lead to that.

On a T_3.6 it looks like doing back to back " debTrace_tt( ARM_DWT_CYCCNT, __LINE__, __func__ ); " calls takes ~94 CPU cycles. { FASTRUN adds a couple of cycles ??? }

Keys calls are exposed in \libraries\debug_tt\debug_ttc.h - that should work for use in library/cores code to get prototypes:
Code:
extern "C" void printf_tt(const char *format, ...);
#define assert_tt( a ) if (!(a)) { assert_ttf(__FILE__, __LINE__,  #a, __func__); lastF_tt=(char*)__func__; lastL_tt=__LINE__; }
#define haltif_tt( a ) if ((a)) { haltif_ttf(__FILE__, __LINE__,  #a, __func__); lastF_tt=(char*)__func__; lastL_tt=__LINE__; }
#define debTrace_tt( a, b, c ) { debTrace_ttf( (uint32_t) a, (uint32_t) b, (const char *) c, __LINE__, __func__); lastF_tt=(char*)__func__; lastL_tt=__LINE__; }
#define deb_tt( a, b ) {debSet( a, (uint32_t)b, __LINE__, __func__ ); lastF_tt=(char*)__func__; lastL_tt=__LINE__; }
void debTraceShow_tt( int Max, const char *aa, const char *bb, const char *cc);

The examples show use of the above for sample use … look for
Code:
#include "debug_tt.h"

void Debug_Dump(void){}   // your SKETCH code to do anything on a HALT or ASSERT or _isr break

// PICK ONE: SERIAL# to use, GPIO pin to toggle, _isr pin for interrupt break
  debBegin_tt( &SERIAL_tt, LED_BUILTIN, 12);
  debBegin_tt( (HardwareSerial*)&Serial, LED_BUILTIN, 12);

// TRACING :: Sketch passes param 1,2,3 - MACRO adds #4 and #5
void debTrace_ttf( uint32_t aa, uint32_t bb, const char *cc, int __lineno, const char *__func) {

// [U]Max[/U] is max # to print. -1 stops Trace recording, -2 enables, -3 says print all, 0 says to clear the Trace data
//  The Params aa,bb,cc are the printf() specifiers to print with the three trace values aa,bb,cc
void debTraceShow_tt( int [U]Max[/U], const char *aa, const char *bb, const char *cc) {…}
 
@KurtE

I wanted to do some debug printing from usbhost_t36 this morning so I uncommented "//#define USBHOST_PRINT_DEBUG" and the it just died on me - not sure its a Serial1 problem or not. This is what I get at the point it dies:
Code:
sizeof Device = 36
sizeof Pipe = 96
sizeof Transfer = 64
power up USBHS PHY

Now if I uncomment the next 2 prints in ehci.cpp I works, i.e., it connects and data is printed. But no debug data from usbhost_t36 is printed.
 
Last edited:
@mjs513 - Wonder if the sketch you had running? I assume it did a start on Serial1.begin with some baud rate...

Here is the startup on mine this morning, with some additional stuff in trying to allow that dongle with class 255 to act as BT Dongle...
The startup on mine shows:
Code:
USB2 PLL running
 reset waited 5
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20007000
periodictable = 20007000
port change: 10001803
    connect
  begin reset
port change: 10001805
  port enabled
  end recovery
new_Device: 12 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 FF 01 01 40 5C 0A E8 21 12 01 01 02 03 01
    VendorID = 0A5C, ProductID = 21E8, Version = 0112
    Class/Subclass/Protocol = 255 / 1 / 1
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Broadcom Corp
enumeration:
Product: BCM20702A0
enumeration:
Serial Number: 0019860023AA
enumeration:
Config data length = 218
enumeration:
Configuration Descriptor:
  09 02 DA 00 04 01 00 E0 00
    NumInterfaces = 4
    ConfigurationValue = 1
  09 04 00 00 03 FF 01 01 00
    Interface = 0
    Number of endpoints = 3
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 81 03 10 00 01
    Endpoint = 1 IN
    Type = Interrupt
    Max Size = 16
    Polling Interval = 1
  07 05 82 02 40 00 01
    Endpoint = 2 IN
    Type = Bulk
    Max Size = 64
    Polling Interval = 1
  07 05 02 02 40 00 01
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 64
    Polling Interval = 1
  09 04 01 00 02 FF 01 01 00
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 00 00 01
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 0
    Polling Interval = 1
  07 05 03 01 00 00 01
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 0
    Polling Interval = 1
  09 04 01 01 02 FF 01 01 00
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 09 00 01
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 9
    Polling Interval = 1
  07 05 03 01 09 00 01
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 9
    Polling Interval = 1
  09 04 01 02 02 FF 01 01 00
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 11 00 01
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 17
    Polling Interval = 1
  07 05 03 01 11 00 01
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 17
    Polling Interval = 1
  09 04 01 03 02 FF 01 01 00
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 19 00 01
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 25
    Polling Interval = 1
  07 05 03 01 19 00 01
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 25
    Polling Interval = 1
  09 04 01 04 02 FF 01 01 00
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 21 00 01
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 33
    Polling Interval = 1
  07 05 03 01 21 00 01
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 33
    Polling Interval = 1
  09 04 01 05 02 FF 01 01 00
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 31 00 01
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 49
    Polling Interval = 1
  07 05 03 01 31 00 01
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 49
    Polling Interval = 1
  09 04 02 00 02 FF FF FF 00
    Interface = 2
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 255 / 255
  07 05 84 02 20 00 01
    Endpoint = 4 IN
    Type = Bulk
    Max Size = 32
    Polling Interval = 1
  07 05 04 02 20 00 01
    Endpoint = 4 OUT
    Type = Bulk
    Max Size = 32
    Polling Interval = 1
  09 04 03 00 00 FE 01 01 00
    Interface = 3
    Number of endpoints = 0
    Class/Subclass/Protocol = 254 / 1 / 1
  09 21 05 88 13 40 00 10 01
    HID, 64 report descriptors
enumeration:
USBHub memory usage = 960
USBHub claim_device this=20003840
USBHub memory usage = 960
USBHub claim_device this=20003C00
HIDParser claim this=20003FE0
HIDParser claim this=200044E0
HIDParser claim this=200049E0
HIDParser claim this=20004EE0
HIDParser claim this=200053E0
JoystickController claim this=20006100
BluetoothController claim this=200058E0
BluetoothController claim this=200058e0 vid:pid=a5c:21e8
    9 4 0 0 3 ff 1 1 0 7 5 81 3 10 0 1 7 5 82 2 40 0 1 7 5 2 2 40 0 1 9 4 1 0 2 ff 1 1 0 7 5 83 1 0 0 1 7 5 3 1 0 0 1 9 4 1 1 2 ff 1 1 0 7 5
    83 1 9 0 1 7 5 3 1 9 0 1 9 4 1 2 2 ff 1 1 0 7 5 83 1 11 0 1 7 5 3 1 11 0 1 9 4 1 3 2 ff 1 1 0 7 5 83 1 19 0 1 7 5 3 1 19 0 1 9 4 1 4 2 ff
    1 1 0 7 5 83 1 21 0 1 7 5 3 1 21 0 1 9 4 1 5 2 ff 1 1 0 7 5 83 1 31 0 1 7 5 3 1 31 0 1 9 4 2 0 2 ff ff ff 0 7 5 84 2 20 0 1 7 5 4 2 20 0 1 9
    4 3 0 0 fe 1 1 0 9 21 5 88 13 40 0 10 1
      rxep=1(16) txep=2(64) rx2ep=2(64)
BluetoothController, rxep=1(16), txep=2(64)
new_Pipe
allocate_interrupt_pipe_bandwidth
 best_bandwidth = 3, at offset = 0, shift= 0
new_Pipe
allocate_interrupt_pipe_bandwidth
 best_bandwidth = 6, at offset = 0, shift= 1
new_Pipe
HCI_RESET called (03 0c 00 )
    control callback (bluetooth) 1
0E 04 01 03 0C 00
BT rx_data(6): e 4 1 3 c 0
HCI_WRITE_CLASS_OF_DEV called (24 0c 03 04 08 00 )
    control callback (bluetooth) 3
0E 04 01 24 0C 00
BT rx_data(6): e 4 1 24 c 0
HCI_Read_BD_ADDR called (09 10 00 )
    control callback (bluetooth) 4
0E 0A 01 09 10 00 AA 23 00 86 19 00
BT rx_data(12): e a 1 9 10 0 aa 23 0 86 19 0
   BD Addr:aa:23:0:86:19:0
HCI_Read_Local_Version_Information called (01 10 00 )
    control callback (bluetooth) 4
0E 0C 01 01 10 00 06 00 10 06 0F 00 0E 22
BT rx_data(14): e c 1 1 10 0 6 0 10 6 f 0 e 22
    Local Version: 6
HCI_WRITE_SCAN_ENABLE called(1a 0c 01 02 )
    control callback (bluetooth) 0
0E 04 01 1A 0C 00
BT rx_data(6): e 4 1 1a c 0
Write_Scan_enable Completed
Which I did not think worked yesterday.. As no blinking lights or the like on dongle... But reran just now with the Bind option on USB object and it does work :D
I think at one point I thought the data was different. Anyway I will probably put that change up to git? Not sure what is happening on your side?

Is the chip pushed down on the pins... Mine at times pops up
 
Morning Kurt
Think I have it sorted out why I didn't see some of my prints - but interesting that it crashes when I did something like uncommenting the debug define in usbhost_t36.

Reason I was curious was because it doesn't seem the rumble code is being called - have to sort out why that is occurring.
 
UPdate:
...

Question is what priority to try next.

a) Put the string caching in. Not a big deal.
e) Get more dongles to work... Might try a quick hack to see if this might work. I have had to do this in some other cases, like some joysticks did not setup as HID device so we had to process the device directly...

...

Then figure out how to have multiple devices connect... Again like Mouse and Keyboard...
I just pushed an update to github for e)

At claim time, I now have a list of VID:pID (currently only one) that if it is this device, it goes ahead and claims it, even though the device type is not correct.
Looked like USB Host Shield 2 code also special cases this device, and it may have a second pair it special cases as well. I did not add that one yet. Wonder if your devices that were not working before work now...

Mine now shows up in the output from test app like:
Code:
USB Host Testing
960
*** Device Bluet a5c:21e8 - connected ***
  manufacturer: Broadcom Corp
  product: BCM20702A0
  Serial: 0019860023AA
And it is now paired with PS4 controller and works when I hit the PS4 button...

@mjs513 -

With the debug printing issue it may be that the top level printing controlled by: #define USBHOST_PRINT_DEBUG
Is not controlling the print for rumble that you are looking for...

It currently is sort of hard coded as: USBHDBGSerial.printf("Joystick update Rumble/LEDs\n");
Which USBHDBGSerial is defined as Serial1...
Note: in last push up to github, I put in if USBHDBGSerial is not defined it defaults to Serial
 
Morning Kurt
Think I have it sorted out why I didn't see some of my prints - but interesting that it crashes when I did something like uncommenting the debug define in usbhost_t36.

Reason I was curious was because it doesn't seem the rumble code is being called - have to sort out why that is occurring.

Maybe need to investigate: I am not crashing, but not seeing the rumble message either now...

:eek: - I commented out the call that let the Joystick set the type of PS4... Oops, pushed up change to only comment out the not complete code to save name
 
@KurtE

Ok here is a problem. While setRumble is called it doesn't identify the PS4 correctly so it never gets updated - think I will pull down the latest changes from GitHub.
 
UPdate:

Code:
USB Host Testing
960
*** Device Bluet a5c:21e8 - connected ***
  manufacturer: Broadcom Corp
  product: BCM20702A0
  Serial: 0019860023AA
And it is now paired with PS4 controller and works when I hit the PS4 button...
@KurtE

I just tried the dongle that didn't work. With that change you made I can confirm that it works. Matter of fact, think it works better than the CSR dongle.

This is the dongle that now works: https://www.amazon.com/gp/product/B007Q45EF4/ref=oh_aui_search_asin_title?ie=UTF8&psc=1

EDIT: Pulled your latest with the oops remotename not called, ps4 still not being identified correctly. Was that the fix.
 
Last edited:
@mjs513, Yep - I had the whole section commented out instead of just the part that was not complete to allocate memory...

Trying to decide on how to do the string memory here as the string buffer stuff was put into the USBDevice code, so not accessible at this point. I could punt, which I have done so far, could simply add it's own buffer into the BTHid object, could have the class being called decide what to do. In case of joystick, it might be able to use the USBDevice code to handle string buffer as it is derived from it... In case of Mouse ... No...

@mjs513 and @defragster - I just uploaded the possible start of the Bluetooth Mouse support. Like part of the claim code, which may not be fully correct yet:
It is looking at the HID Peripheral class BT objects: https://www.ampedrftech.com/guides/cod_definition.pdf
And in this case currently checking for pointing device bit, but may instead look at some of the other bits...

And so far I am not doing anything with the data returned, but dump hex bytes to debug...

Need to either find another BT mouse and/or figure out hwy my Logi MX Anywhere 2S is not appearing to send any BT discovery stuff... (I thought I just needed to select one of the unused channels) and then press the channel selector button for 3 seconds, but I am not seeing any debug messages show up at all...

EDIT: Ordered another one: https://smile.amazon.com/TeckNet-2600DPI-Bluetooth-Wireless-Indicator/dp/B01EFAGMRA/
 
Last edited:
@KurtE
I did some checking and trying to figure it out. The only I see is that joysticktype is 0 when it hits rumble. Just to test rumble I copied transmitPS4 to default :) yes I know its a hack.

Now for the interesting. Since I am using the other dongle that I used uhs2 shield I am sending exactly the same command to the ps4 as the uhs2.0 code, but still not rumbling. Now I am beginning to wonder if there is a ack or something we have to address. More digging required. Something screwy going on.

Just ordered the same mouse for future use.
 
This 'plugable' logo is on the 0xff dongles I have: https://www.amazon.com/Plugable-Bluetooth-Adapter-Raspberry-Compatible/dp/B009ZIILLI
Not sure about the first but, Amazon says I bought the last one not so long ago : September 18, 2017 - I paid $14 - it is now $13.
->> I see exception added for 0xFF devices - Hot swap of 'PANBT400' "plugable" below shows this:
Code:
USB Host Testing
960
*** Device Bluet a12:1 - connected ***
  product: CSR8510 A10
*** Device Bluet - disconnected ***
[B]*** Device Bluet a5c:21e8 - connected ***
  manufacturer: Broadcom Corp
  product: BCM20702A0
  Serial: 5CF37060D3E1[/B]

Finally managed to click enough to get web_github to Pull_Request merge to and update my fork. Had to do it again to get update MOUSE - IHG [I hate github]
-> Merge?Pull?Branches … Leaving Random Comments trying to make it go … :confused:
KurtE: Trying to see if my simple Logitech Mouse 'M557' will pair?
-> I set this in mouseBT.ino : BluetoothController bluet(myusb, true, "0000");
Here is Amazon Purchase link for this mouse :: Logitech M557 Bluetooth Mouse
Is there another step? Okay - Full Debug on:
Code:
04 0A 1E E3 A9 5D 88 34 80 05 00 01 
BT rx_data(12): 4 a 1e e3 a9 5d 88 34 80 5 0 1 
    Event: Incoming Connect -  1e:e3:a9:5d:88:34 CL:580 LT:1
      Peripheral device
        Mouse
BluetoothController::find_driver  driver 1fff48f8
HCI_OP_REMOTE_NAME_REQ called (19 04 0a 1e e3 a9 5d 88 34 01 00 00 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : 19 4 a 1e e3 a9 5d 88 34 1 0 0 0 
0F 04 00 01 19 04 
BT rx_data(6): f 4 0 1 19 4 
    Command 419 Status 0
07 FF 00 1E E3 A9 5D 88 34 42 6C 75 65 74 6F 6F 
BT rx_data(16): 7 ff 0 1e e3 a9 5d 88 34 42 6c 75 65 74 6f 6f 
74 68 20 4D 6F 75 73 65 20 4D 35 35 37 00 00 00 
BT rx_data(16): 74 68 20 4d 6f 75 73 65 20 4d 35 35 37 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 
BT rx_data(1): 0 
    Event: handle_hci_remote_name_complete(0)
    Remote Name: Bluetooth Mouse M557
HCI_OP_ACCEPT_CONN_REQ called (09 04 07 1e e3 a9 5d 88 34 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : 9 4 7 1e e3 a9 5d 88 34 0 
0F 04 00 01 09 04 
BT rx_data(6): f 4 0 1 9 4 
    Command 409 Status 0
12 08 00 1E E3 A9 5D 88 34 00 
BT rx_data(10): 12 8 0 1e e3 a9 5d 88 34 0 
03 0B 00 0C 00 1E E3 A9 5D 88 34 01 00 
BT rx_data(13): 3 b 0 c 0 1e e3 a9 5d 88 34 1 0 
    Connection Complete - ST:0 LH:c
HCI_AUTH_REQUESTED called (11 04 02 0c 00 )
    control callback (bluetooth) 6E
    Control callback (bluetooth): 110 : 11 4 2 c 0 
0F 04 00 01 11 04 
BT rx_data(6): f 4 0 1 11 4 
    Command 411 Status 0
17 06 1E E3 A9 5D 88 34 
BT rx_data(8): 17 6 1e e3 a9 5d 88 34 
    Event: Link Key Request 1e:e3:a9:5d:88:34
HCI_LINK_KEY_NEG_REPLY called (0c 04 06 1e e3 a9 5d 88 34 )
    control callback (bluetooth) 78
    Control callback (bluetooth): 120 : c 4 6 1e e3 a9 5d 88 34 
0E 0A 01 0C 04 00 1E E3 A9 5D 88 34 
BT rx_data(12): e a 1 c 4 0 1e e3 a9 5d 88 34 
    Command Completed! 
16 06 1E E3 A9 5D 88 34 
BT rx_data(8): 16 6 1e e3 a9 5d 88 34 
    Event: Pin Code Request 1e:e3:a9:5d:88:34
HCI_PIN_CODE_REPLY called (0d 04 17 1e e3 a9 5d 88 34 04 30 30 30 30 00 00 00 00 00 00 00 00 00 00 00 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : d 4 17 1e e3 a9 5d 88 34 4 30 30 30 30 0 0 0 0 0 0 0 0 0 0 0 0 
0E 0A 01 0D 04 00 1E E3 A9 5D 88 34 
BT rx_data(12): e a 1 d 4 0 1e e3 a9 5d 88 34 
    Command Completed! 
06 03 13 0C 00 
BT rx_data(5): 6 3 13 c 0 
    Event: HCI Authentication complete(19): handle: c
`ConnectionRequest called(0c 20 0c 00 08 00 01 00 02 00 04 00 11 00 70 00 )
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 0 : c 20 c 0 8 0 1 0 2 0 4 0 11 0 70 0 
05 04 00 0C 00 13 
BT rx_data(6): 5 4 0 c 0 13 
    Event: HCI Disconnect complete(0): handle: c, reason:13
13 05 01 0C 00 01 00 
BT rx_data(7): 13 5 1 c 0 1 0 
04 0A 1E E3 A9 5D 88 34 80 05 00 01 
BT rx_data(12): 4 a 1e e3 a9 5d 88 34 80 5 0 1 
    Event: Incoming Connect -  1e:e3:a9:5d:88:34 CL:580 LT:1
      Peripheral device
        Mouse
BluetoothController::find_driver  driver 1fff48f8
HCI_OP_REMOTE_NAME_REQ called (19 04 0a 1e e3 a9 5d 88 34 01 00 00 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : 19 4 a 1e e3 a9 5d 88 34 1 0 0 0 
0F 04 00 01 19 04 
BT rx_data(6): f 4 0 1 19 4 
    Command 419 Status 0
07 FF 00 1E E3 A9 5D 88 34 42 6C 75 65 74 6F 6F 
BT rx_data(16): 7 ff 0 1e e3 a9 5d 88 34 42 6c 75 65 74 6f 6f 
74 68 20 4D 6F 75 73 65 20 4D 35 35 37 00 00 00 
BT rx_data(16): 74 68 20 4d 6f 75 73 65 20 4d 35 35 37 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 
BT rx_data(1): 0 
    Event: handle_hci_remote_name_complete(0)
    Remote Name: Bluetooth Mouse M557
HCI_OP_ACCEPT_CONN_REQ called (09 04 07 1e e3 a9 5d 88 34 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : 9 4 7 1e e3 a9 5d 88 34 0 
0F 04 00 01 09 04 
BT rx_data(6): f 4 0 1 9 4 
    Command 409 Status 0
12 08 00 1E E3 A9 5D 88 34 00 
BT rx_data(10): 12 8 0 1e e3 a9 5d 88 34 0 
03 0B 00 0B 00 1E E3 A9 5D 88 34 01 00 
BT rx_data(13): 3 b 0 b 0 1e e3 a9 5d 88 34 1 0 
    Connection Complete - ST:0 LH:b
HCI_AUTH_REQUESTED called (11 04 02 0b 00 )
    control callback (bluetooth) 6E
    Control callback (bluetooth): 110 : 11 4 2 b 0 
0F 04 00 01 11 04 
BT rx_data(6): f 4 0 1 11 4 
    Command 411 Status 0
17 06 1E E3 A9 5D 88 34 
BT rx_data(8): 17 6 1e e3 a9 5d 88 34 
    Event: Link Key Request 1e:e3:a9:5d:88:34
HCI_LINK_KEY_NEG_REPLY called (0c 04 06 1e e3 a9 5d 88 34 )
    control callback (bluetooth) 78
    Control callback (bluetooth): 120 : c 4 6 1e e3 a9 5d 88 34 
0E 0A 01 0C 04 00 1E E3 A9 5D 88 34 
BT rx_data(12): e a 1 c 4 0 1e e3 a9 5d 88 34 
    Command Completed! 
16 06 1E E3 A9 5D 88 34 
BT rx_data(8): 16 6 1e e3 a9 5d 88 34 
    Event: Pin Code Request 1e:e3:a9:5d:88:34
HCI_PIN_CODE_REPLY called (0d 04 17 1e e3 a9 5d 88 34 04 30 30 30 30 00 00 00 00 00 00 00 00 00 00 00 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : d 4 17 1e e3 a9 5d 88 34 4 30 30 30 30 0 0 0 0 0 0 0 0 0 0 0 0 
0E 0A 01 0D 04 00 1E E3 A9 5D 88 34 
BT rx_data(12): e a 1 d 4 0 1e e3 a9 5d 88 34 
    Command Completed! 
06 03 13 0B 00 
BT rx_data(5): 6 3 13 b 0 
    Event: HCI Authentication complete(19): handle: b
`ConnectionRequest called(0b 20 0c 00 08 00 01 00 02 00 04 00 11 00 70 00 )
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 0 : b 20 c 0 8 0 1 0 2 0 4 0 11 0 70 0 
05 04 00 0B 00 13 
BT rx_data(6): 5 4 0 b 0 13 
    Event: HCI Disconnect complete(0): handle: b, reason:13
13 05 01 0B 00 01 00 
BT rx_data(7): 13 5 1 b 0 1 0 
04 0A 1E E3 A9 5D 88 34 80 05 00 01 
BT rx_data(12): 4 a 1e e3 a9 5d 88 34 80 5 0 1 
    Event: Incoming Connect -  1e:e3:a9:5d:88:34 CL:580 LT:1
      Peripheral device
        Mouse
BluetoothController::find_driver  driver 1fff48f8
HCI_OP_REMOTE_NAME_REQ called (19 04 0a 1e e3 a9 5d 88 34 01 00 00 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : 19 4 a 1e e3 a9 5d 88 34 1 0 0 0 
0F 04 00 01 19 04 
BT rx_data(6): f 4 0 1 19 4 
    Command 419 Status 0
07 FF 00 1E E3 A9 5D 88 34 42 6C 75 65 74 6F 6F 
BT rx_data(16): 7 ff 0 1e e3 a9 5d 88 34 42 6c 75 65 74 6f 6f 
74 68 20 4D 6F 75 73 65 20 4D 35 35 37 00 00 00 
BT rx_data(16): 74 68 20 4d 6f 75 73 65 20 4d 35 35 37 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 
BT rx_data(1): 0 
    Event: handle_hci_remote_name_complete(0)
    Remote Name: Bluetooth Mouse M557
HCI_OP_ACCEPT_CONN_REQ called (09 04 07 1e e3 a9 5d 88 34 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : 9 4 7 1e e3 a9 5d 88 34 0 
0F 04 00 01 09 04 
BT rx_data(6): f 4 0 1 9 4 
    Command 409 Status 0
12 08 00 1E E3 A9 5D 88 34 00 
BT rx_data(10): 12 8 0 1e e3 a9 5d 88 34 0 
03 0B 00 0C 00 1E E3 A9 5D 88 34 01 00 
BT rx_data(13): 3 b 0 c 0 1e e3 a9 5d 88 34 1 0 
    Connection Complete - ST:0 LH:c
HCI_AUTH_REQUESTED called (11 04 02 0c 00 )
    control callback (bluetooth) 6E
    Control callback (bluetooth): 110 : 11 4 2 c 0 
0F 04 00 01 11 04 
BT rx_data(6): f 4 0 1 11 4 
    Command 411 Status 0
17 06 1E E3 A9 5D 88 34 
BT rx_data(8): 17 6 1e e3 a9 5d 88 34 
    Event: Link Key Request 1e:e3:a9:5d:88:34
HCI_LINK_KEY_NEG_REPLY called (0c 04 06 1e e3 a9 5d 88 34 )
    control callback (bluetooth) 78
    Control callback (bluetooth): 120 : c 4 6 1e e3 a9 5d 88 34 
0E 0A 01 0C 04 00 1E E3 A9 5D 88 34 
BT rx_data(12): e a 1 c 4 0 1e e3 a9 5d 88 34 
    Command Completed! 
16 06 1E E3 A9 5D 88 34 
BT rx_data(8): 16 6 1e e3 a9 5d 88 34 
    Event: Pin Code Request 1e:e3:a9:5d:88:34
HCI_PIN_CODE_REPLY called (0d 04 17 1e e3 a9 5d 88 34 04 30 30 30 30 00 00 00 00 00 00 00 00 00 00 00 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : d 4 17 1e e3 a9 5d 88 34 4 30 30 30 30 0 0 0 0 0 0 0 0 0 0 0 0 
0E 0A 01 0D 04 00 1E E3 A9 5D 88 34 
BT rx_data(12): e a 1 d 4 0 1e e3 a9 5d 88 34 
    Command Completed! 
06 03 13 0C 00 
BT rx_data(5): 6 3 13 c 0 
    Event: HCI Authentication complete(19): handle: c
`ConnectionRequest called(0c 20 0c 00 08 00 01 00 02 00 04 00 11 00 70 00 )
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 0 : c 20 c 0 8 0 1 0 2 0 4 0 11 0 70 0 
05 04 00 0C 00 13 
BT rx_data(6): 5 4 0 c 0 13 
    Event: HCI Disconnect complete(0): handle: c, reason:13
13 05 01 0C 00 01 00 
BT rx_data(7): 13 5 1 c 0 1 0

Mike - some of your notes suggest that added debug code makes things work - and with no_debug some things don't work? Am I reading that right?
Mike - if you email Robin you can get Sr+ on your login. We could make a 'static' hardware post and add&update the tested good/bad items.

Question: Should I expect my PS4 Bt Joystick to be recognized and almost act like a PS4 joystick?
 
Tim
Sorted that out its pretty much a non-issue if you stick with just using USBHDBGSerial for debugging. As for your PS4 BT Joystick - it should except for the things I am trying to figure out - expanded report to accel/gyro/pad, rumble, and LEDS. Think if I sort one out they will all get sorted.

Ok. I give up, I will email Robin to get SR+ added.

Kurt:

In my post #118 I said I was going to try and trace through the differences. The only thing that could possibly be different at this point is how the data is actually transferred to the PS4. While we use que_data_transfer etc. The uhs2.0 code is a little different I think? After tracing through all the calls I get to the file Usb.cpp and the function USB::OutTransfer I think this may be the base issue.

Going to poke around some more in some other implementations. That outTransfer bothers me for some reason
 
Okay FULL_DEBUG running :: T:\arduino-1.8.8T4_146\hardware\teensy\avr\libraries\USBHost_t36\examples\JoystickBT\JoystickBT.ino
with >> BluetoothController bluet(myusb, true, "0000"); // Version does pairing to device

Power up JOYSTICK PS/3 - nothing - it has blinking lights …

Power up Mouse [same joystickBT sketch] - blinking BT light and it connects and all buttons active and movement reported.
>> Works with with either 0xff 'Plugable' Dongle or the KurtE "CSR 4.0"
Here is plugging the 'Plugable' and then mouse M557 to connect state::
Code:
port change: 10001803
    connect
  begin reset
port change: 10001005
  port enabled
  end recovery
new_Device: 12 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 FF 01 01 40 5C 0A E8 21 12 01 01 02 03 01 
    VendorID = 0A5C, ProductID = 21E8, Version = 0112
    Class/Subclass/Protocol = 255 / 1 / 1
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Broadcom Corp
enumeration:
Product: BCM20702A0
enumeration:
Serial Number: 5CF37060D3E1
enumeration:
Config data length = 218
enumeration:
Configuration Descriptor:
  09 02 DA 00 04 01 00 E0 00 
    NumInterfaces = 4
    ConfigurationValue = 1
  09 04 00 00 03 FF 01 01 00 
    Interface = 0
    Number of endpoints = 3
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 81 03 10 00 01 
    Endpoint = 1 IN
    Type = Interrupt
    Max Size = 16
    Polling Interval = 1
  07 05 82 02 40 00 01 
    Endpoint = 2 IN
    Type = Bulk
    Max Size = 64
    Polling Interval = 1
  07 05 02 02 40 00 01 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 64
    Polling Interval = 1
  09 04 01 00 02 FF 01 01 00 
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 00 00 01 
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 0
    Polling Interval = 1
  07 05 03 01 00 00 01 
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 0
    Polling Interval = 1
  09 04 01 01 02 FF 01 01 00 
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 09 00 01 
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 9
    Polling Interval = 1
  07 05 03 01 09 00 01 
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 9
    Polling Interval = 1
  09 04 01 02 02 FF 01 01 00 
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 11 00 01 
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 17
    Polling Interval = 1
  07 05 03 01 11 00 01 
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 17
    Polling Interval = 1
  09 04 01 03 02 FF 01 01 00 
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 19 00 01 
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 25
    Polling Interval = 1
  07 05 03 01 19 00 01 
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 25
    Polling Interval = 1
  09 04 01 04 02 FF 01 01 00 
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 21 00 01 
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 33
    Polling Interval = 1
  07 05 03 01 21 00 01 
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 33
    Polling Interval = 1
  09 04 01 05 02 FF 01 01 00 
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 1 / 1
  07 05 83 01 31 00 01 
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 49
    Polling Interval = 1
  07 05 03 01 31 00 01 
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 49
    Polling Interval = 1
  09 04 02 00 02 FF FF FF 00 
    Interface = 2
    Number of endpoints = 2
    Class/Subclass/Protocol = 255 / 255 / 255
  07 05 84 02 20 00 01 
    Endpoint = 4 IN
    Type = Bulk
    Max Size = 32
    Polling Interval = 1
  07 05 04 02 20 00 01 
    Endpoint = 4 OUT
    Type = Bulk
    Max Size = 32
    Polling Interval = 1
  09 04 03 00 00 FE 01 01 00 
    Interface = 3
    Number of endpoints = 0
    Class/Subclass/Protocol = 254 / 1 / 1
  09 21 05 88 13 40 00 10 01 
    HID, 64 report descriptors
enumeration:
BluetoothController claim this=1FFF40C0
BluetoothController claim this=1fff40c0 vid:pid=a5c:21e8
    9 4 0 0 3 ff 1 1 0 7 5 81 3 10 0 1 7 5 82 2 40 0 1 7 5 2 2 40 0 1 9 4 1 0 2 ff 1 1 0 7 5 83 1 0 0 1 7 5 3 1 0 0 1 9 4 1 1 2 ff 1 1 0 7 5 
    83 1 9 0 1 7 5 3 1 9 0 1 9 4 1 2 2 ff 1 1 0 7 5 83 1 11 0 1 7 5 3 1 11 0 1 9 4 1 3 2 ff 1 1 0 7 5 83 1 19 0 1 7 5 3 1 19 0 1 9 4 1 4 2 ff 
    1 1 0 7 5 83 1 21 0 1 7 5 3 1 21 0 1 9 4 1 5 2 ff 1 1 0 7 5 83 1 31 0 1 7 5 3 1 31 0 1 9 4 2 0 2 ff ff ff 0 7 5 84 2 20 0 1 7 5 4 2 20 0 1 9 
    4 3 0 0 fe 1 1 0 9 21 5 88 13 40 0 10 1 
      rxep=1(16) txep=2(64) rx2ep=2(64)
BluetoothController, rxep=1(16), txep=2(64)
new_Pipe
allocate_interrupt_pipe_bandwidth
 best_bandwidth = 3, at offset = 0, shift= 0
new_Pipe
allocate_interrupt_pipe_bandwidth
 best_bandwidth = 6, at offset = 0, shift= 1
new_Pipe
HCI_RESET called (03 0c 00 )
    control callback (bluetooth) 1
    Control callback (bluetooth): 1 : 3 c 0 
0E 04 01 03 0C 00 
BT rx_data(6): e 4 1 3 c 0 
    Command Completed! 
HCI_WRITE_CLASS_OF_DEV called (24 0c 03 04 08 00 )
    control callback (bluetooth) 3
    Control callback (bluetooth): 3 : 24 c 3 4 8 0 
0E 04 01 24 0C 00 
BT rx_data(6): e 4 1 24 c 0 
    Command Completed! 
HCI_Read_BD_ADDR called (09 10 00 )
    control callback (bluetooth) 4
    Control callback (bluetooth): 4 : 9 10 0 
0E 0A 01 09 10 00 E1 D3 60 70 F3 5C 
BT rx_data(12): e a 1 9 10 0 e1 d3 60 70 f3 5c 
    Command Completed! 
   BD Addr:e1:d3:60:70:f3:5c
HCI_Read_Local_Version_Information called (01 10 00 )
    control callback (bluetooth) 4
    Control callback (bluetooth): 4 : 1 10 0 
0E 0C 01 01 10 00 06 00 10 06 0F 00 0E 22 
BT rx_data(14): e c 1 1 10 0 6 0 10 6 f 0 e 22 
    Command Completed! 
    Local Version: 6
HCI_INQUIRY called (01 04 05 33 8b 9e 30 0a )
    control callback (bluetooth) 6
    Control callback (bluetooth): 6 : 1 4 5 33 8b 9e 30 a 
0F 04 00 01 01 04 
BT rx_data(6): f 4 0 1 1 4 
    Command 401 Status 0
02 0F 01 1E E3 A9 5D 88 34 01 00 00 80 25 00 F0 
BT rx_data(16): 2 f 1 1e e3 a9 5d 88 34 1 0 0 80 25 0 f0 
6C 
BT rx_data(1): 6c 
    Inquiry Result - Count: 1
      BD:1e:e3:a9:5d:88:34, PS:1, class: 2580
      Peripheral device
        Mouse
BluetoothController::find_driver  driver 1fff48f8
HCI_INQUIRY_CANCEL called (02 04 00 )
    control callback (bluetooth) 64
    Control callback (bluetooth): 100 : 2 4 0 
0E 04 01 02 04 00 
BT rx_data(6): e 4 1 2 4 0 
    Command Completed! 
HCI_CREATE_CONNECTION called (05 04 0d 1e e3 a9 5d 88 34 18 cc 01 00 00 00 00 )
    control callback (bluetooth) 65
    Control callback (bluetooth): 101 : 5 4 d 1e e3 a9 5d 88 34 18 cc 1 0 0 0 0 
0F 04 00 01 05 04 
BT rx_data(6): f 4 0 1 5 4 
    Command 405 Status 0
03 0B 00 0B 00 1E E3 A9 5D 88 34 01 00 
BT rx_data(13): 3 b 0 b 0 1e e3 a9 5d 88 34 1 0 
    Connection Complete - ST:0 LH:b
HCI_AUTH_REQUESTED called (11 04 02 0b 00 )
    control callback (bluetooth) 6E
    Control callback (bluetooth): 110 : 11 4 2 b 0 
0F 04 00 01 11 04 
BT rx_data(6): f 4 0 1 11 4 
    Command 411 Status 0
17 06 1E E3 A9 5D 88 34 
BT rx_data(8): 17 6 1e e3 a9 5d 88 34 
    Event: Link Key Request 1e:e3:a9:5d:88:34
HCI_LINK_KEY_NEG_REPLY called (0c 04 06 1e e3 a9 5d 88 34 )
    control callback (bluetooth) 78
    Control callback (bluetooth): 120 : c 4 6 1e e3 a9 5d 88 34 
0E 0A 01 0C 04 00 1E E3 A9 5D 88 34 
BT rx_data(12): e a 1 c 4 0 1e e3 a9 5d 88 34 
    Command Completed! 
16 06 1E E3 A9 5D 88 34 
BT rx_data(8): 16 6 1e e3 a9 5d 88 34 
    Event: Pin Code Request 1e:e3:a9:5d:88:34
HCI_PIN_CODE_REPLY called (0d 04 17 1e e3 a9 5d 88 34 04 30 30 30 30 00 00 00 00 00 00 00 00 00 00 00 00 )
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : d 4 17 1e e3 a9 5d 88 34 4 30 30 30 30 0 0 0 0 0 0 0 0 0 0 0 0 
0E 0A 01 0D 04 00 1E E3 A9 5D 88 34 
BT rx_data(12): e a 1 d 4 0 1e e3 a9 5d 88 34 
    Command Completed! 
18 17 1E E3 A9 5D 88 34 57 D9 8A 2E 64 24 48 49 
BT rx_data(16): 18 17 1e e3 a9 5d 88 34 57 d9 8a 2e 64 24 48 49 
37 A3 57 58 16 1D 29 E4 00 
BT rx_data(9): 37 a3 57 58 16 1d 29 e4 0 
    Event: Link Key Notificaton 1e:e3:a9:5d:88:34 Type:0
    key:57 d9 8a 2e 64 24 48 49 37 a3 57 58 16 1d 29 e4 
06 03 00 0B 00 
BT rx_data(5): 6 3 0 b 0 
    Event: HCI Authentication complete(0): handle: b
`ConnectionRequest called(0b 20 0c 00 08 00 01 00 02 00 04 00 11 00 70 00 )
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 0 : b 20 c 0 8 0 1 0 2 0 4 0 11 0 70 0 

=====================
BT rx2_data(20): b 20 10 0 c 0 1 0 3 0 8 0 41 0 70 0 0 0 0 0 
    L2CAP Connection Response: ID: 0, Dest:41, Source:70, Result:0, Status: 0
      Control Response
L2CAP_ConfigRequest called(0b 20 10 00 0c 00 01 00 04 00 08 00 41 00 00 00 01 02 ff ff )

=====================
BT rx2_data(20): b 20 10 0 c 0 1 0 4 2 8 0 70 0 0 0 1 2 30 0 
    L2CAP config Request: ID: 2, Dest:70, Flags:0,  Options: 1 2 30 0
      Control Configuration request
L2CAP_ConfigResponse called(0b 20 12 00 0e 00 01 00 05 02 0a 00 41 00 00 00 00 00 01 02 a0 02 )
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 0 : b 20 12 0 e 0 1 0 5 2 a 0 41 0 0 0 0 0 1 2 
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 0 : b 20 12 0 e 0 1 0 5 2 a 0 41 0 0 0 0 0 1 2 a0 2 

=====================
BT rx2_data(22): b 20 12 0 e 0 1 0 5 0 a 0 70 0 0 0 0 0 1 2 30 0 
    L2CAP config Response: ID: 0, Source:70, Flags:0, Result:0, Config: 201
Set HID Protocol 0 (0b 20 05 00 01 00 41 00 70 )
13 05 01 0B 00 02 00 
BT rx_data(7): 13 5 1 b 0 2 0 
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 200 : b 20 5 0 1 0 41 0 70 
`ConnectionRequest called(0b 20 0c 00 08 00 01 00 02 01 04 00 13 00 71 00 )
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 0 : b 20 c 0 8 0 1 0 2 1 4 0 13 0 71 0 

=====================
BT rx2_data(9): b 20 5 0 1 0 70 0 0 
13 05 01 0B 00 02 00 
BT rx_data(7): 13 5 1 b 0 2 0 

=====================
BT rx2_data(20): b 20 10 0 c 0 1 0 3 1 8 0 42 0 71 0 0 0 0 0 
    L2CAP Connection Response: ID: 1, Dest:42, Source:71, Result:0, Status: 0
      Interrupt Response
L2CAP_ConfigRequest called(0b 20 10 00 0c 00 01 00 04 01 08 00 42 00 00 00 01 02 ff ff )

=====================
BT rx2_data(20): b 20 10 0 c 0 1 0 4 3 8 0 71 0 0 0 1 2 30 0 
    L2CAP config Request: ID: 3, Dest:71, Flags:0,  Options: 1 2 30 0
      Interrupt Configuration request
L2CAP_ConfigResponse called(0b 20 12 00 0e 00 01 00 05 03 0a 00 42 00 00 00 00 00 01 02 a0 02 )
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 0 : b 20 12 0 e 0 1 0 5 3 a 0 42 0 0 0 0 0 1 2 
    tx_data(bluetooth) 82
tx_data callback (bluetooth): 0 : b 20 12 0 e 0 1 0 5 3 a 0 42 0 0 0 0 0 1 2 a0 2 

=====================
BT rx2_data(22): b 20 12 0 e 0 1 0 5 1 a 0 71 0 0 0 0 0 1 2 30 0 
    L2CAP config Response: ID: 1, Source:71, Flags:0, Result:0, Config: 201
HCI_WRITE_SCAN_ENABLE called(1a 0c 01 02 )
13 05 01 0B 00 02 00 
BT rx_data(7): 13 5 1 b 0 2 0 
    control callback (bluetooth) 82
    Control callback (bluetooth): 130 : 1a c 1 2 
0E 04 01 1A 0C 00 
BT rx_data(6): e 4 1 1a c 0 
    Command Completed! 
Write_Scan_enable Completed

=====================
BT rx2_data(29): b 20 19 0 15 0 71 0 a1 11 ff 9 0 5a 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
HID HDR Data: len: 21, Type: 17
    Unknown report
13 05 01 0B 00 01 00 
BT rx_data(7): 13 5 1 b 0 1 0 

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 1 0 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 2 0 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 0 ff 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 0 ff 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 0 1 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 0 1 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 fe 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 2 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 2 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 2 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 2 fe 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 2 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 3 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 3 fe 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 4 fe 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 3 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 2 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 2 fe 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 1 0 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

=====================
BT rx2_data(14): b 20 a 0 6 0 71 0 a1 2 0 0 ff 0 
HID HDR Data: len: 6, Type: 2
    Mouse report type

Then I turned off mouse and unplugged Bt dongle:
Code:
05 04 00 0B 00 13 
BT rx_data(6): 5 4 0 b 0 13 
    Event: HCI Disconnect complete(0): handle: b, reason:13
port change: 1C00100A
    disconnect
disconnect_Device:
USBDriver (available_drivers) list: 1FFF2020 -> 1FFF23E0 -> 1FFF27C0 -> 1FFF2CC0 -> 1FFF31C0 -> 1FFF36C0 -> 1FFF3BC0 -> 1FFF48E0
USBDriver (dev->drivers) list: 1FFF40C0
disconnect driver 1FFF40C0
Bluetooth DisconnectUSBDriver (available_drivers) list: 1FFF40C0 -> 1FFF2020 -> 1FFF23E0 -> 1FFF27C0 -> 1FFF2CC0 -> 1FFF31C0 -> 1FFF36C0 -> 1FFF3BC0 -> 1FFF48E0
delete_Pipe 1FFF4200
  Free transfers
    * 536823712 * remove * free
  Free transfers attached to QH
    * 536823936
* Delete Pipe completed
delete_Pipe 1FFF41A0
  Free transfers
  Free transfers attached to QH
    * 536827008
* Delete Pipe completed
delete_Pipe 1FFF4140
  remove QH from async schedule
  Free transfers
    * 536823872 * remove * free
  Free transfers attached to QH
    * 536827200
* Delete Pipe completed
delete_Pipe 1FFF5400
  shut down async schedule
  Free transfers
  Free transfers attached to QH
    * 536827136
* Delete Pipe completed
removed Device_t from devlist
  disable
 
JOYSTICK UPDATE - JAMSWALL PS3 Controller Wireless,Bluetooth Dualshock3 Gamepad plugged direct into USB!!!

I don't know if this will help Bt detection?

From USB Serial:
Code:
*** Device HID1 54c:268 - connected ***
  manufacturer: SHANWAN
  product: PS3 GamePad
*** HID Device Joystick1 54c:268 - connected ***
  manufacturer: SHANWAN
  product: PS3 GamePad
*** HID Device Joystick1 - disconnected ***
*** Device HID1 - disconnected ***

Full Debug on plug and quick UNPLUG {otherwise endless streaming messages}
Code:
port change: 10001803
    connect
  begin reset
port change: 10001005
  port enabled
  end recovery
new_Device: 12 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 10 01 00 00 00 40 4C 05 68 02 00 01 01 02 00 01 
    VendorID = 054C, ProductID = 0268, Version = 0100
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: SHANWAN
enumeration:
Product: PS3 GamePad
enumeration:
Config data length = 41
enumeration:
Configuration Descriptor:
  09 02 29 00 01 01 00 80 FA 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 03 00 00 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 3(HID) / 0 / 0
  09 21 10 01 00 01 22 94 00 
    HID, 1 report descriptor
  07 05 02 03 40 00 01 
    Endpoint = 2 OUT
    Type = Interrupt
    Max Size = 64
    Polling Interval = 1
  07 05 81 03 40 00 01 
    Endpoint = 1 IN
    Type = Interrupt
    Max Size = 64
    Polling Interval = 1
enumeration:
HIDParser claim this=1FFF27C0
BluetoothController claim this=1FFF40C0
USBHub memory usage = 960
USBHub claim_device this=1FFF2020
USBHub memory usage = 960
USBHub claim_device this=1FFF23E0
HIDParser claim this=1FFF2CC0
HIDParser claim this=1FFF31C0
HIDParser claim this=1FFF36C0
HIDParser claim this=1FFF3BC0
JoystickController claim this=1FFF48E0
Descriptor 4 = INTERFACE
HIDParser claim this=1FFF27C0
 bInterfaceClass =    3
 bInterfaceSubClass = 0
 bInterfaceProtocol = 0
HID Parser Claim: 09 04 00 00 02 03 00 00 00 09 21 10 01 00 01 22 94 00 07 05 02 03 40 00 01 07 05 81 03 40 00 01 
report descriptor size = 148
Two endpoint HID:
  endpoint = 2
   size = 64
   interval = 1
  endpoint = 81
   size = 64
   interval = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
 best_bandwidth = 5, at offset = 0, shift= 0
new_Pipe
allocate_interrupt_pipe_bandwidth
 best_bandwidth = 7, at offset = 0, shift= 1
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control callback (hid)
05 01 09 04 A1 01 A1 02 85 01 75 08 95 01 15 00 26 FF 00 81 03 75 01 95 13 15 00 25 01 35 00 45 01 05 09 19 01 29 13 81 02 75 01 95 0D 06 00 FF 81 03 15 00 26 FF 00 05 01 09 01 A1 00 75 08 95 04 35 00 46 FF 00 09 30 09 31 09 32 09 35 81 02 C0 05 01 75 08 95 27 09 01 81 02 75 08 95 30 09 01 91 02 75 08 95 30 09 01 B1 02 C0 A1 02 85 02 75 08 95 30 09 01 B1 02 C0 A1 02 85 EE 75 08 95 30 09 01 B1 02 C0 A1 02 85 EF 75 08 95 30 09 01 B1 02 C0 C0 
  mesg = 22000681
  got report descriptor
Found top level collection 10004
find_driver
  driver 1FFF48EC
Match PID/VID: 3
Claim Additional axis: 1 100 39
send special PS3 feature command
control callback (hid)
42 0C 00 00 
  mesg = 3F40921
port change: 1C00100A
    disconnect
disconnect_Device:
USBDriver (available_drivers) list: 1FFF40C0 -> 1FFF2020 -> 1FFF23E0 -> 1FFF2CC0 -> 1FFF31C0 -> 1FFF36C0 -> 1FFF3BC0 -> 1FFF48E0
USBDriver (dev->drivers) list: 1FFF27C0
disconnect driver 1FFF27C0
USBDriver (available_drivers) list: 1FFF27C0 -> 1FFF40C0 -> 1FFF2020 -> 1FFF23E0 -> 1FFF2CC0 -> 1FFF31C0 -> 1FFF36C0 -> 1FFF3BC0 -> 1FFF48E0
delete_Pipe 1FFF41A0
  Free transfers
    * 536823776 * remove * free
  Free transfers attached to QH
    * 536827136
* Delete Pipe completed
delete_Pipe 1FFF4200
  Free transfers
  Free transfers attached to QH
    * 536823712
* Delete Pipe completed
delete_Pipe 1FFF5400
  shut down async schedule
  Free transfers
  Free transfers attached to QH
    * 536822688
* Delete Pipe completed
removed Device_t from devlist
  disable
 
Check this out regarding PS3 Bluetooth: https://forum.pjrc.com/threads/49358-T3-6-USB-Host-Bluetooth?p=198174&viewfull=1#post198174. Doesn't work yet.

Wired my PS3 works fine.
Code:
USB Host Testing
960
*** Device HID1 54c:268 - connected ***
  manufacturer: SZMY-POWER CO.,LTD.
  product: PLAYSTATION(R)3 Controller
*** HID Device Joystick1 54c:268 - connected ***
  manufacturer: SZMY-POWER CO.,LTD.
  product: PLAYSTATION(R)3 Controller
*** First Joystick message 54c:268 ***
  manufacturer: SZMY-POWER CO.,LTD.
  product: PLAYSTATION(R)3 Controller
LX: 128, LY: 128, RX: 0, RY: 0 
L-Trig: 0, R-Trig: 0, Trig-Button: 0 
Buttons: 128, PS: 0

LX: 128, LY: 128, RX: 0, RY: 0 
L-Trig: 0, R-Trig: 0, Trig-Button: 0 
Buttons: 128, PS: 0
 
Check this out regarding PS3 Bluetooth: https://forum.pjrc.com/threads/49358-T3-6-USB-Host-Bluetooth?p=198174&viewfull=1#post198174. Doesn't work yet.

Wired my PS3 works fine.

Thanks for the recall in context Mike.

Odd that the plugged usage is unusable - just streaeaeaeams messages! I suppose it is not recognized? But yes, notes on Amazon suggest plugging for first use. I put a HUB on T_3.6 and it would take some GLUE to associate the two it seems

I then put on M557 mouse and it connected.

Then Powered the Rii Keyboard and it came up after T_3.6 restart to clear Bt associate?
-> hit '0000' Enter and it associated
-> it has a TOUCH pad area and it sent messages, like the Mouse buttons it has they show as 'Unknown report' versus others as 'Keyboard'

I started to Add debug_tt - tripped up by slow :: Serial1.begin(115200); that came after my SERIAL_tt.begin( 1843200 );
 
With the JoystickBt sketch running and BT dongle on I picked up my Logitech K480 'three device' keyboard { has a rotary switch to associate with three devices }

{ I got one - would not connect to phone one phone but did to another - called Logitech - they said keep it and sent a replacement. Though he had me enter a code on reset and then it did connect }

Switched it to an open slot and typed '0000' & Enter : it registered as connected and with full DEBUG on displayed tons of spew.

Switched it away and back and it didn't reconnect? Or any attempt seemed to dump 'Disconnect' as the end message?

Changed sketch bluet(myusb) from the pairing setup and on upload it seems similar - it picks up activity but ends like this - I think this is a full cycle from one disconnect through attempt and then disconnect:
Code:
BT rx_data(6): 5 4 0 c 0 13 
    [COLOR="#FF0000"]Event: HCI Disconnect complete(0): handle: c, reason:13[/COLOR]
04 0A 14 E3 78 5D 88 34 40 05 00 01 
BT rx_data(12): 4 a 14 e3 78 5d 88 34 40 5 0 1 
    Event: Incoming Connect -  14:e3:78:5d:88:34 CL:540 LT:1
      Peripheral device
        Keyboard
BluetoothController::find_driver  driver 1fff48f8
HCI_OP_REMOTE_NAME_REQ called (19 04 0a 14 e3 78 5d 88 34 01 00 00 00 )
    control callback (bluetooth) 78
    Control callback (bluetooth): 120 : 19 4 a 14 e3 78 5d 88 34 1 0 0 0 
0F 04 00 01 19 04 
BT rx_data(6): f 4 0 1 19 4 
    Command 419 Status 0
07 FF 00 14 E3 78 5D 88 34 4B 65 79 62 6F 61 72 
BT rx_data(16): 7 ff 0 14 e3 78 5d 88 34 4b 65 79 62 6f 61 72 
64 20 4B 34 38 30 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 64 20 4b 34 38 30 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
00 
BT rx_data(1): 0 
    Event: handle_hci_remote_name_complete(0)
    Remote Name: Keyboard K480
HCI_OP_ACCEPT_CONN_REQ called (09 04 07 14 e3 78 5d 88 34 00 )
    control callback (bluetooth) 78
    Control callback (bluetooth): 120 : 9 4 7 14 e3 78 5d 88 34 0 
0F 04 00 01 09 04 
BT rx_data(6): f 4 0 1 9 4 
    Command 409 Status 0
12 08 00 14 E3 78 5D 88 34 00 
BT rx_data(10): 12 8 0 14 e3 78 5d 88 34 0 
03 0B 00 0B 00 14 E3 78 5D 88 34 01 00 
BT rx_data(13): 3 b 0 b 0 14 e3 78 5d 88 34 1 0 
    Connection Complete - ST:0 LH:b
17 06 14 E3 78 5D 88 34 
BT rx_data(8): 17 6 14 e3 78 5d 88 34 
    Event: Link Key Request 14:e3:78:5d:88:34
HCI_LINK_KEY_NEG_REPLY called (0c 04 06 14 e3 78 5d 88 34 )
    control callback (bluetooth) 78
    Control callback (bluetooth): 120 : c 4 6 14 e3 78 5d 88 34 
0E 0A 01 0C 04 00 14 E3 78 5D 88 34 
BT rx_data(12): e a 1 c 4 0 14 e3 78 5d 88 34 
    Command Completed! 
05 04 00 0B 00 13 
BT rx_data(6): 5 4 0 b 0 13 
[COLOR="#FF0000"]    Event: HCI Disconnect complete(0): handle: b, reason:13
[/COLOR]04 0A 14 E3 78 5D 88 34 40 05 00 01 
BT rx_data(12): 4 a 14 e3 78 5d 88 34 40 5 0 1 
    Event: Incoming Connect -  14:e3:78:5d:88:34 CL:540 LT:1
      Peripheral device
        Keyboard
BluetoothController::find_driver  driver 1fff48f8
 
Back
Top