Here's some corrections based on my older research.
- When the
unk bool in the packet_t is true the length must be doubled (probably a pair of related data, maybe channels?).
- There are special command packets that exist for example those that control the Mic.
- Mic ON:
91 02 0b 1f
- Mic OFF:
91 01 00
- Mic ON (Media Remote):
91 01 01 (simpler than DS, though I think both command forms work on each)
- Enable Keys (Media Remote):
91 01 02 (note this appears to be a bitmask, at least on the media remote, to toggle features. Thus 00 is all off, 01 is mic on, 02 is keys enabled, and 03 is mic on and keys enabled.)
I guess now that this is publicly known I should get off my butt and put the results of my research on my wiki (which you've linked actually, about 99% of it is my original research so I'm glad it's been helpful). I never got the audio out working because other life matters took priority, else we'd probably have had this information known sooner. I got hung up on the audio being Opus codec because that's what the microphone data is and had only considered other options like raw PCM just when I was no longer able to invest the time on the research.
Here are some packet samples that you can test against you packet structure. They are taken from a very terse BT capture which were all I could get due to limited tools and options. You can see the length doubling in practice here. packet_samples.txt
I'll try to find time to get the Opus data onto the wiki. It is true for both the DualSense and the Media Remote (Lotus). I have the media remote entirely figured out except for setting the IR codes, which is annoying.
Here's some corrections based on my older research.
unkbool in thepacket_tis true the length must be doubled (probably a pair of related data, maybe channels?).91 02 0b 1f91 01 0091 01 01(simpler than DS, though I think both command forms work on each)91 01 02(note this appears to be a bitmask, at least on the media remote, to toggle features. Thus00is all off,01is mic on,02is keys enabled, and03is mic on and keys enabled.)I guess now that this is publicly known I should get off my butt and put the results of my research on my wiki (which you've linked actually, about 99% of it is my original research so I'm glad it's been helpful). I never got the audio out working because other life matters took priority, else we'd probably have had this information known sooner. I got hung up on the audio being Opus codec because that's what the microphone data is and had only considered other options like raw PCM just when I was no longer able to invest the time on the research.
Here are some packet samples that you can test against you packet structure. They are taken from a very terse BT capture which were all I could get due to limited tools and options. You can see the length doubling in practice here. packet_samples.txt
I'll try to find time to get the Opus data onto the wiki. It is true for both the DualSense and the Media Remote (Lotus). I have the media remote entirely figured out except for setting the IR codes, which is annoying.