numworks / epsilon

Modern graphing calculator operating system.
https://www.numworks.com/resources/engineering/software/
1.73k stars 460 forks source link

"make epsilon_flash" made my calculator not working #1100

Closed RedGl0w closed 4 years ago

RedGl0w commented 4 years ago

Describe the bug

Hello, I tried to update my calculator with "make epsilon_flash", but after rebooting the calculator, it doesn't turn on or in dfu mode.

Log

sudo make epsilon_flash DFU epsilon_flash INFO About to flash your device. Please plug your device to your computer using an USB cable and press at the same time the 6 key and the RESET button on the back of your device. File: output/device/release/n0110/flasher.light.dfu b'DfuSe' v1, image size: 13341, targets: 1 b'Target' 0, alt setting: 0, name: "ST...", size: 13056, elements: 1 0, address: 0x20030000, size: 13048 usb: 0483:a291, device: 0x0000, dfu: 0x011a, b'UFD', 16, 0x52eb49cd Writing memory... 0x20030000 13048 [=========================] 100% Exiting DFU... File: output/device/release/n0110/epsilon.dfu b'DfuSe' v1, image size: 801389, targets: 1 b'Target' 0, alt setting: 0, name: "ST...", size: 801104, elements: 2 0, address: 0x90000000, size: 790944 1, address: 0x08000000, size: 10144 usb: 0483:a291, device: 0x0000, dfu: 0x011a, b'UFD', 16, 0x56ff1dd2 Writing memory... 0x90000000 790944 [=========================] 100% 0x08000000 10144 [=========================] 100% Exiting DFU...

I tried again to flash and then I have : DFU epsilon_flash INFO About to flash your device. Please plug your device to your computer using an USB cable and press at the same time the 6 key and the RESET button on the back of your device. File: output/device/release/n0110/flasher.light.dfu b'DfuSe' v1, image size: 13341, targets: 1 b'Target' 0, alt setting: 0, name: "ST...", size: 13056, elements: 1 0, address: 0x20030000, size: 13048 usb: 0483:a291, device: 0x0000, dfu: 0x011a, b'UFD', 16, 0x52eb49cd Writing memory... 0x20030000 13048 [=========================] 100% Exiting DFU... Traceback (most recent call last): File "build/device/dfu.py", line 598, in <module> main() File "build/device/dfu.py", line 578, in main init() File "build/device/dfu.py", line 109, in init raise ValueError('No DFU device found') ValueError: No DFU device found build/targets.device.n0110.mak:10: recipe for target 'epsilon_flash' failed make: *** [epsilon_flash] Error 1

Expected behavior

I thought it will be updated (i wanted to test the beta)

Environment

`➜ epsilon git:(master) ✗ make info ========= Building Flags ========= EPSILON_VERSION = 12.0.0 EPSILON_APPS = calculation graph code statistics probability solver sequence regression settings EPSILON_I18N = en fr es de pt PLATFORM = device DEBUG = 0 EPSILON_GETOPT = 0 ESCHER_LOG_EVENTS_BINARY = 0 QUIZ_USE_CONSOLE = 0 ION_STORAGE_LOG = POINCARE_TREE_LOG = POINCARE_TESTS_PRINT_EXPRESSIONS =

============= Targets ============ --------- Cross-platforms -------- epsilon epsilon.on-boarding epsilon.on-boarding.update epsilon.on-boarding.beta test PHONY: clean clean_for_apps_selection (use this 'light' clean before changing the flag EPSILON_APPS)

------------- Device ------------- flasher.light flasher.verbose bench.ram bench.flash PHONY: binpack %_two_binaries %_size %_run %_memory_map %_flash clean_for_apps_selection (use this 'light' clean before changing the flag EPSILON_APPS) .............N0110................ test.external_flash.write test.external_flash.read ..................................

----------- emscripten ----------- simulator.zip

----------- blackbox ------------- compare PHONY: tests/%.run tests/%.render integration_tests epsilon_fuzz compare_fuzz

================================== ` I tried on ubuntu with my N0100

Thank you for your help !

FrnchFrgg commented 4 years ago

I encountered the same problem. I could get out of it by checking out the 11.0.0 branch (or 11.1.0), then flashing from it (for it to work you have to ln -s build/device/epsilon.elf . because there is a missing path in the makefile). I'm now trying to find out when it broke, probably because the current build system expects a DFU on the calculator that is more recent than what ours have.

RedGl0w commented 4 years ago

Thank for your answer ! I've tried to update my numworks, but it didn't want to enter in dfu mode, do you have an idea ? Thank you ! Edit : I've managed to enter in dfu with the reset button and a key.

RedGl0w commented 4 years ago

If you manage to give me (or to commit) for resolving the issue, leave a comment ! Thank you !

FrnchFrgg commented 4 years ago

I found what is happening: when I last tried to flash my device, there was only one hardware model: the N0100. Now there are two: the N0100 and the N0110, and the latter is the default. You have to use make MODEL=n0100 epsilon_flash` to get the correct version, which will flash completely. The error messages (or lack thereof) are problematic when doing the actual flash, and IMHO that is a bug to be fixed. Also, the build documentation predates the advent of the new model and it is also a bug. I will submit a PR for the build instructions, but I will not have time for the build system itself.