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

Bose Sport earbuds not recognized by bose-dfu list #9

Open
ctag opened this issue Aug 31, 2024 · 3 comments
Open

Bose Sport earbuds not recognized by bose-dfu list #9

ctag opened this issue Aug 31, 2024 · 3 comments

Comments

@ctag
Copy link

ctag commented Aug 31, 2024

Hi,

This is likely operator error somewhere, but I'm hoping to document my troubleshooting in case it happens to anyone else.

I used the cargo installation method on Archlinux.

Device: Bose Sport earbuds
Model: 427929

Connected with USB-A cable (serial number edited out):

[ 8521.719375] usb 1-2: new full-speed USB device number 7 using xhci_hcd
[ 8521.865529] usb 1-2: New USB device found, idVendor=05a7, idProduct=40fc, bcdDevice= 1.01
[ 8521.865541] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8521.865546] usb 1-2: Product: Bose Sport Earbuds
[ 8521.865550] usb 1-2: Manufacturer: Bose Corporation
[ 8521.865554] usb 1-2: SerialNumber: XXXXX
[ 8521.870700] cdc_acm 1-2:1.0: ttyACM0: USB ACM device
[ 8521.874509] input: Bose Corporation Bose Sport Earbuds Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:05A7:40FC.0003/input/input22
[ 8521.929675] hid-generic 0003:05A7:40FC.0003: input,hiddev96,hidraw1: USB HID v1.11 Device [Bose Corporation Bose Sport Earbuds] on usb-0000:00:14.0-2/input2

Modified 70-bose-dfu.rules installed:

$ cat /etc/udev/rules.d/70-bose-dfu.rules 
# Bose PIDs

# All devices tested so far, normal mode
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="05a7", ATTRS{idProduct}=="40fe", TAG+="uaccess"

# SoundLink Color II, DFU mode
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="05a7", ATTRS{idProduct}=="400d", TAG+="uaccess"

# SoundLink Mini II, DFU mode
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="05a7", ATTRS{idProduct}=="4009", TAG+="uaccess"

# QuietComfort 35 II, DFU mode
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="05a7", ATTRS{idProduct}=="4020", TAG+="uaccess"

# QuietComfort and Sport, normal mode
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="05a7", ATTRS{idProduct}=="40fc", TAG+="uaccess"

Running bose-dfu:

[berocs@bns-kharselim ~]$ sudo /home/berocs/.cargo/bin/bose-dfu list
[berocs@bns-kharselim ~]$ 

The device's idVendor looks to be correct. I expect I need to do something to the hidraw driver.

I also see the device id is the same as an incompatible product:

bose_pid(0x40fc),

@ctag
Copy link
Author

ctag commented Aug 31, 2024

I know nothing about rust, but managed to get a text editor to recognize it, and learned that cargo can build locally.

The list function will return early if a device is incompatible. I removed the conflicting device ID, since my earbuds have the same one.

// Use UsbId instead of DeviceIds since some incompatible devices don't have a concept of DFU mode.
const INCOMPATIBLE_DEVICES: &[UsbId] = &[
    // Bose Noise Cancelling Headphones 700
    bose_pid(0x40ff),
    // bose_pid(0x40fc),
];

Output. I guess since these are out of warranty I don't care about hiding the serial number.

[berocs@bns-kharselim bose-dfu]$ cargo build
   Compiling bose-dfu v1.1.0 (/home/berocs/git/bose-dfu)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.22s
[berocs@bns-kharselim bose-dfu]$ ./target/debug/bose-dfu list
Device! 0x5A7, 0x40FC
05a7:40fc 081300m0253a713ae Bose Sport Earbuds [UNTESTED device in unknown mode]
Device! 0x5A7, 0x40FC
Device! 0x46D, 0xB01F
Device! 0x46D, 0xB01F
Device! 0x46D, 0xB01F
Device! 0x46D, 0xB01F
[berocs@bns-kharselim bose-dfu]$ ./target/debug/bose-dfu info -f
[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: 081300m0253a713ae
HW serial: m024834830683763803b010
Device model: m024834830683763803b010
Current firmware: 2.0.0-ba77aca epdbuild.usvacepebldw05.2021-08-13T11:00:00

@ctag
Copy link
Author

ctag commented Sep 1, 2024

I tried using the btu.bose.com webpage from a Windows VM and capturing with wireshark, but wasn't able to make it work.

I did get the output from the webpage though:
2024-08-31_18-16

These earbuds are stuck in the "red and white flashing LED" mode, so I know now that the btu webpage doesn't fix the issue.

@enzofurlan
Copy link

hey go this way, just tried on mine and they are good now
kioipp/bose_earbuds_firmware#4 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants