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

Do any methods still work for NC 700 now? #47

Open
therealfumbles opened this issue May 21, 2024 · 14 comments
Open

Do any methods still work for NC 700 now? #47

therealfumbles opened this issue May 21, 2024 · 14 comments

Comments

@therealfumbles
Copy link

I've tried the patched windows version and redirecting the current updater version with Charles but every time I go to the advanced window the firmware dropdown list is empty.

@kazuki-vim
Copy link

I created a manual for QC 45 (https://github.com/kazuki-vim/bose-qc45-firmware), but NC700 is also consuming bin firmware, so you can reuse.
Only thing you need to do is

document.getElementById('smartdevice_targetfirmware').appendChild(new Option('4.0.4-4360+de6a887', '4.0.4-4360+de6a887'));

You need to change 4.0.4-4360+de6a887 to latest firmware version of NC700.
Then use official version of Updater, download your desired firmware file and rename it to bose.bin just like described in the manual.

Hope it can help

@therealfumbles
Copy link
Author

Thanks for your help. I tried this but had no luck.

The first console command enabled the advanced mode. But the second command (after I replaced the firmware info) did nothing. No dropdown appeared on the updater page.

I went ahead and copied the renamed firmware file to the temp folder and ran the main.py script. It printed the path to the temp folder but nothing else happened. No update button appeared on the updater page.

@kazuki-vim
Copy link

@therealfumbles then maybe the html tag of dropdown menu has different information (id)
Can you inspect and check the select html tag's ID, then replace smartdevice_targetfirmware with ID founded above

@therealfumbles
Copy link
Author

therealfumbles commented Jun 30, 2024

After I run the second command it prints this to the console:

<option value="1.8.2-11524+e0f7590">1.8.2-11524+e0f7590</option>

Then if I check the page source I see it has populated the list:

<div style="display: none;"><span class="ic_label" id="smartdevice_upgradetotarget">Update software to&nbsp;version: </span><span id="smartdevice_targetfirmware_container"><select id="smartdevice_targetfirmware" class="form-control"><option value="1.8.2-11524+e0f7590">1.8.2-11524+e0f7590</option></select></span></div>

I wondered if "display" set to none was the reason for the dropdown not showing up. So I changed it from none to block. I don't know if this is the correct value but it made the dropdown list visible with the inserted firmware version.

The issue seems to be the web site is still hiding the update option even after injecting a firmware version into the update list.

@therealfumbles
Copy link
Author

therealfumbles commented Jul 2, 2024

I managed to get my NC 700s downgraded to 1.3.1. Thanks to everyone for posting various solutions. I combined a few of them to successfully downgrade. This method will probably work for other devices.

  1. Install https://downloads.bose.com/ced/boseupdater/windows/BoseUpdaterInstaller_7.1.7.5136.exe or https://downloads.bose.com/ced/boseupdater/mac/BoseUpdater_7.1.7.5136.dmg.
  2. Run C:\Program Files (x86)\Bose Updater\BOSEUPDATER.EXE or '/Applications/Bose Updater.app/Contents/MacOS/Bose Updater' with -d https://raw.githubusercontent.com/bosefirmware/ced/master/lookup.xml.
  3. Go to btu.bose.com. Follow guide at New Bose Updater Available #35 (comment) to bypass Updater version check.
  4. Hit a+d+v+up+down on keyboard or enter window.dispatchEvent(new Event('advancedmode_triggered')) in browser dev tools Console tab to get to advanced mode. Page should show Update Now button but firmware list will be empty.
  5. Add downgrade firmware version to list by entering the following into Console: document.getElementById('smartdevice_targetfirmware').appendChild(new Option('1.3.1', '1.3.1-2028+de73ce1'));.
  6. Click Update Now button to begin downgrade. Update page shows version 1.8.2 but will flash the chosen firmware version. When the update completes and the page refreshes the 1.8.2 update will be offered again and the current firmware version will be shown below.

@chicken666
Copy link

@therealfumbles I've tried your method posted on Jul 3, but failed. After hitting "a+d+v+up+down", it did show the advanced mode page, but with no "Update Now"button(I'm currently using macOS device, but I've also tried the same steps in a Windows virtual machine, both with no results). I've followed your steps carefully and I doubt whether Bose had blocked this path to downgrade.

@therealfumbles
Copy link
Author

@chicken666 I only tested this on Windows, but are you sure you've followed steps 1 and 2? Those are required to get the update button.

If you had a newer version of the updater installed you will need to uninstall it first before installing the older one. Otherwise it won't downgrade. Then run it with the switch that redirects the lookup file to the one on this repository.

@chicken666
Copy link

@therealfumbles Thanks, I'll try again on a Physical PC instead😂

@therealfumbles
Copy link
Author

@chicken666 It should work on the Mac too. Just in case my instructions weren't clear, you need to run this line in a terminal window for step 2:

'/Applications/Bose Updater.app/Contents/MacOS/Bose Updater' -d https://raw.githubusercontent.com/bosefirmware/ced/master/lookup.xml

@chicken666
Copy link

@therealfumbles Thanks buddy, it now works on my Mac mini, but the downgrading is always showing 0%, I wonder how long does it take to finish the whole process

@therealfumbles
Copy link
Author

I think it takes maybe 5-10 minutes. But it counts all the way to 100%. I don't recall it sitting on 0% for a long time.

If it doesn't work out maybe try again on Windows. I know for sure it works/worked there at least.

@chicken666
Copy link

@therealfumbles It works perfect on macOS too! Sitting on 0% maybe resulted in my bad network connection lol.

@therealfumbles
Copy link
Author

@chicken666 Nice! Glad to hear it :)

@vogelh0ws
Copy link

With my SoundLink Mini II (v1.1.4) and the method above I still get "No dice". bose-dfu seems not to be able to put the device in DFU mode. Maybe there is really something wrong with my speaker.

Still, I found something which might be of interest here. Instead of A, D, V, Up, Down you can press O, P, T, Up, Down to try to clear the error log of the device. It seems to work also with the unmodified and recent version 7.1.13.5238 of the updater. It didn't work for me either, but maybe for someone else.

https://www.mikrocontroller.net/topic/433341#7618259

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

4 participants