Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Bose Noise Cancelling Headphones 700 #1

Closed
minhtrancccp opened this issue May 10, 2022 · 5 comments
Closed

Add support for Bose Noise Cancelling Headphones 700 #1

minhtrancccp opened this issue May 10, 2022 · 5 comments
Labels
compatibility Request for support for a new device wontfix This will not be worked on

Comments

@minhtrancccp
Copy link

I ran the binary on my Windows 11 build 22616.1 for my Bose 700.
I could execute bose-dfu.exe list, which return:

05a7:40fc X935501CG10809171J40020 Bose Noise Cancelling Headphones 700 [UNTESTED device in unknown mode]

But whenever I tried other commands (bose-dfu.exe enter-dfu -f or bose-dfu.exe info -f), here's what I got back:

[WARN  bose_dfu] Device has not been tested with bose-dfu; by proceeding, you risk damaging it
[WARN  bose_dfu] Cannot determine device's mode; command may damage devices not in normal mode
USB serial: X935501CG10809171J40020
Error: USB transaction error while requesting info field

Caused by:
    hidapi error: The parameter is incorrect.
@tchebb
Copy link
Owner

tchebb commented May 11, 2022

Thanks so much for testing a new device! It looks like your device doesn't accept the same normal-mode commands that mine does. Hopefully, the DFU-mode commands are more similar to mine, but we won't know that until you can successfully get it into DFU mode! Can you gather the following information to help me figure out what commands your device wants?

  1. The error message from bose-dfu when you run enter-dfu. I assume it's substantially similar to the info one you pasted, but confirmation would be nice.
  2. A copy of the device's HID descriptor. I'm not familiar with the usual way to get this on Windows, but a quick Google indicates that https://github.com/todbot/win-hid-dump can do it.
  3. (If possible, I know this one's a big ask.) A USB packet capture of the official updater updating your device (or even just starting up while your device is connected. You can gather this with Wireshark (make sure to install USBPcap during installation).

Also, do you have the ability to build and run bose-dfu from source? It'll be easier to debug if so since I can send you patches to test. If not, I can send you prebuilt binaries, but those are harder for me to build (since I don't use Windows regularly).

@tchebb tchebb changed the title hidapi error Add support for Bose Noise Cancelling Headphones 700 May 11, 2022
@tchebb tchebb added the compatibility Request for support for a new device label May 11, 2022
@tchebb
Copy link
Owner

tchebb commented May 11, 2022

Actually, I just found https://github.com/iclemens/bose which contains some of the things I asked for from someone else with the same device. I'll take a look at them in detail and let you know if it seems to speak the same protocol that bose-dfu implements.

I think it might not, from a quick skim of that repo's README and the fact that its firmware files aren't in .dfu format. If that's the case, extending bose-dfu might be just as much work as creating a whole new tool.

@iclemens
Copy link

iclemens commented Jun 1, 2022

I just had a quick look and it looks like the protocol is quite different. Unfortunately I don't have the dumps anymore to confirm.

As far as I could see, the procedure is quite similar to this:
https://developer.qualcomm.com/qfile/34081/csr102x_otau_overview.pdf

Perhaps there are other devices based on that architecture that have an open source updater implementation.

@tchebb
Copy link
Owner

tchebb commented Jul 30, 2022

Thanks for looking, @iclemens! Unfortunately, that probably means that adapting this tool to support the NC 700 headphones would be nearly as much work as writing a new tool entirely. As such, I'm going to close this as WONTFIX for now since I don't have the time or hardware to undertake that effort. If someone else does, though, I am open to patches that add support for the NC 700's protocol as long as they don't make the existing protocol implementation harder to maintain.

@tchebb tchebb closed this as not planned Won't fix, can't repro, duplicate, stale Jul 30, 2022
@tchebb tchebb added the wontfix This will not be worked on label Jul 30, 2022
tchebb added a commit that referenced this issue Jul 30, 2022
Discussion in #1 indicates that the NC 700 headphones do
not speak the protocol we implement.
@tchebb
Copy link
Owner

tchebb commented Jul 30, 2022

I've published a new release, v1.1.0, which notes that we don't support NC 700 headphones in the README and prevents them from showing up in bose-dfu list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compatibility Request for support for a new device wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants