-
Notifications
You must be signed in to change notification settings - Fork 28
/
details.txt
72 lines (51 loc) · 2.22 KB
/
details.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Project Details
===============
Firmware Updates
----------------
Here are some details on where firmware lookup details can be found:
Staging firmware lists: https://downloads-test.bose.com/lookup.xml
Beta firmware lists: https://downloads-beta.bose.com/lookup.xml
Production firmware lists: https://downloads.bose.com/lookup.xml
At this point, lookup.xml can then be used to find index.xml files corresponding
to your product. The index.xml files should give *.dfu and *.xuv files for each
version and revision.
Unfortunately, I don't know much about what the purpose of what each file does,
nor do I know how to properly use them to upgrade the device.
I do have some sniffed packets of the upgrade process but, unfortunately, I
started sniffing after my headphones were connected so they didn't capture the
headphone's address. As a result, Wireshark doesn't recognise any of the packets
as SPP packets. Instead, it sees them as L2CAP packets where the 'Frame is out
of any "connection handle" session'. If someone could help me fix this or send
in their own sniffed packets, that would be great.
Media Related
-------------
'>' means packet sent and '<' means packet received
I currently have the following details about media keys but I cannot seem to get
them to work. I believe that you need to send a packet or somehow confirm to the
headphones that you wish to control a particular device. I haven't discovered a
packet that makes that does this yet, though.
Media Keys
> 05 03 05 01 xx
xx = 01: send play key to connected device (02 may mean pause; currently unsure)
xx = 03: send next key
xx = 04: send previous key
Volume
> 05 05 02 01 xx
00 <= xx <= 18 (where xx is the volume)
It also appears that each device has a unique volume associated with it.
Active Device
> 05 01 01 00
< 05 01 03 09 00 02 01 xx xx xx xx xx xx
xxxxxxxxxxxx: address of the current active device
Currently, unsure if any other bytes may or may not vary other than the address.
Get Music Status
> 05 02 05 00
< 05 02 07 00 05 03 03 02 01 fe 05 04 03 03 xx yy yy 05 05 03 02 19 0b zz 06 07
00
xx = 02: paused
xx = 01: playing
xx = 00: unknown
yyyy: elapsed time of music (may be ffff for unknown?)
00 <= zz <= 18: volume
< 05 02 04 01 0c
sent if unknown music