Click to view our Accessibility Statement or contact us with accessibility-related questions
Showing 1 of 360 conversations about:
nataku411
115
Dec 7, 2019
bookmark_border
Been getting this error, and won't flash. Can someone help?
search

Dec 7, 2019
chKaze
0
Dec 17, 2019
bookmark_border
nataku411Have you pressed the reset button during the scanning for device message?
Dec 17, 2019
nataku411
115
Dec 17, 2019
bookmark_border
chKazeYep that's what was needed, the above guide is missing that vital piece of info lol.
Dec 17, 2019
A community member
Dec 19, 2019
bookmark_border
nataku411It does say to press the button after submitting the command and explains that the "--first" option auto-detects the first available keyboard to flash over the next 60 seconds. But to avoid confusion, I have edited it to be explicit. Thanks for your feedback.
Dec 19, 2019
st.izzy
56
Jul 6, 2020
bookmark_border
I tried doing thins and I still get the exact same error even when clicking the rest button during the 60 second scan.
Jul 6, 2020
A community member
Jul 6, 2020
bookmark_border
st.izzyWithout knowing the exact commands you submitted, I cannot really help. A screenshot would be helpful.
Jul 6, 2020
st.izzy
56
Jul 6, 2020
bookmark_border
Sure here is what I did. I deleted everything and started from scratch. I will list out my steps as detailed as possible then leave screenshots at the end for you to verify. OS: macOS Catalina v 10.15.5 Step 1: Downloaded the Source Code (zip) from the provided link https://github.com/Massdrop/mdloader/releases/tag/1.0.3 Step 2: I moved it from the downloads folder to a different one called QMK (I emptied out the folder before hand so all that was in there was the Source code zip) Step 3: Unzipped and cd into the now unzipped folder called mdloader-1.0.3 Step 4: As per the instructions in the README.md I ran the `make` command. Step 5: Again following the README.md I ran `./build/mdloader` to test that it was working. Step 6: I clicked download and compile from the online configurator on a custom layout that I made. Step 7: I moved the configuration.bin file into the folder QMK/mdloader-1.0.3/build (the same place the applet and mdloader file are) Step 8: I cd into the ./build folder where there are now 3 files the applet.bin massdrop.bin and mdloader Step 9: I run ./mdloader --first --download massdrop_ctrl_config_Mac_2_12635.bin --restart - This causes the scanning to occur Step 10: I hold fn + b for ~2 seconds then let go. - The keyboard turns off completely and becomes unresponsive. Step 11: The remaining 58 or so seconds passes and I get an Error saying the it can't find a valid device port. In addition I tried the following. Step 1: Unplug and replug in the Ctrl-Hi-Profile keyboard to get it to respond again. Step 2: Press fn + b for 2 seconds then let it go to enter update mode. Step 3: Type ./mdloader --list to view any available ports. Step 4: Get No devices found! Steps 1 - 5 shown here
search
Up to step 8 is here notice i have mdloader + applet.bin + config.bin
search
The rest is shown here. Once I run the first command (ends in --restart) I get the Scanning for device for 60 seconds and . start appearing on screen. I wait for one or two to pop up then press and hold fn+b until another two pop up. The Ctrl Hi-Profile turns off (lights are off too) and becomes unresponsive. The timer finishes and I get the error saying it can't find a valid device port. I then unplug and replug the usb-c cable (get the Ctrl Hi-Profile to respond again). I put it back into update mode by holding fn+b for 2 seconds. Then tried ./mdloader --list to find the device and could not.
search
Sorry for wall of text and ty in advance. Edit: Images didn't stick around the first time around.
(Edited)
Jul 6, 2020
A community member
Jul 6, 2020
bookmark_border
st.izzyDoes it respond similarly if you use the physical reset button on the underside?
Jul 6, 2020
st.izzy
56
Jul 6, 2020
bookmark_border
Yup gave that a go as well and the end result is the same. Steps are basically all the same but instead of fn+b for two seconds I insert a push pin to the hole on the right side of the keyboard between the two screws. Still turns off and becomes unresponsive and still the scan goes through the whole 60 seconds and tells me it can't find a valid port. Try doing the list command and same thing no devices found.
Jul 6, 2020
st.izzy
56
Jul 6, 2020
bookmark_border
A few things I also tried.
  1. Tried different usb-c ports on the Ctrl Hi-Profile (been mainly using the right usb-c but have tried it with the left also.
  2. Tried different cables. Initially the one provide that came from in the box but I also tried other usb c to usb c cables.
  3. Tried different ports on my macbook pro. I was initially using the provided usb-c to usb-a cable and hooking it up to my laptop via a dongle. I also tried connecting it directly to my laptop via a usb-c to usb-c cable.
  4. Tried on a windows desktop computer as well.
Jul 6, 2020
A community member
Jul 6, 2020
bookmark_border
Jul 6, 2020
st.izzy
56
Jul 6, 2020
bookmark_border
Good sir, that did it. With all do respect I think that the directions could use a bit of updating. Having followed the directions as closely as possible and running into this issue was a bit worrying. Here is a quick updated guide with some pictures for future reference. Feel free to use them yourself if you decide to update the instructions. Note 1: This was test on a 2015 macbook pro running macOS Catalina 10.15.5 today on July 6, 2020. Note 2: Download the Source Code (zip) and nothing else from: https://github.com/Massdrop/mdloader/releases/tag/1.0.3 Note 3: Following the guide as is will work, however, as @marcw pointed out because we changed the Chip ID to the latest version attempting to use the program to flash a keyboard with an older chip (or any other chip for that matter) will result in an error. If like me this is the only product you currently own then no big deal, however, I have provide an alternate step 3 and 4 (with pictures) at the bottom of this response for those that want compatibility between both versions. All credit for this solutions goes to @marcw and fauxpark and their solution can also be seen here: https://github.com/Massdrop/mdloader/issues/24 Note 4: I don't actually have another keyboard with the older chip so I can't 100% confirm that the alternate solution works first hand but @marcw has both and confirmed it himself. Step 0: (optional): Move the source code zip from your downloads folder to a preferred directory of your choice. Step 1: Cd into the mdloader-1.0.3. I deleted the build folder (rm -rf build). If you haven't run the make command yet skip this step. A picture of what should be in the folder is below.
search
Step 2: As per the linked provided by @Elbert and @marcw comment we need to change the Chip ID since apparently new Ctrl keyboards have a different one. I got my Ctrl Hi-Profile on July 4, 2020 so no idea as to when the change was made. Anyways to do this I am going to use vim which every mac should have some version of.
search
Step 3: On line 36 you will find some comments detailing what the values of line 38 represent. The value of line 38 that corresponds to Chip ID is set to 0x60060006 by default. Note: My vim is skinned and so your text might not look exactly like mine.
search
Step 4: We need to change this value so use the arrow keys to move your cursor to the last 6 corresponding to Chip Id. Press i to enter insert mode on vim (so you can then backspace to delete the numbers and type new numbers). Make Chip Id = 0x60060306. It should look like the picture below.
search
Step 5: Press Esc to exit insert mode on vim then hold Shift + Z + Z (double tap) to save and quit vim. (Optional) If you want you can type vim mdloader_common.c to check and make sure that the changes were saved then use Shift + Z + Q to exit without saving. Step 6: Run make to compile everything. And cd into build
search
Step 7: Grab a layout from the online configurator and move it into this build folder. Mine was massdrop_ctrl_config_Mac_2_12635.bin.
search
Step 8: Now you can run the command ./mdloader --first --download CONFIG_FILE.bin --restart. Wait for the following to pop up in terminal "Scanning for device for 60 seconds" and then a dot will appear under this every second. Before the 60 seconds are up hold fn+b for two seconds (wait for two dots to appear after you hold the buttons). Everything will work as intended now.
search
--------------------------------------------------------------------------------------------------------------------------------------- Alternate solution to people who want to maintain compatibility with the older chip. Step 3: Ignore line 36 (meaning Chip Id should stay at the default 0x60060006) and instead focus on line 339. It should look like the image below. Note: My vim is skinned and so your text might look completely different. The colors do not matter her just the text.
search
Step 4: Change the condition of the outer if statement from if (deviceid == mcu->cidr) to if ((deviceid & 0xFFFFF0F) == mcu->cidr). To do this move your cursor to line 339 just after the `(` and press i to enter insert mode in vim this will allow you to type like normal. Note the extra set of parenthesis. It should now look like below. Once done proceed to step 5 above the rest will be the same.
search
Edit 1: Added Note 3 and alternate steps 3 and 4. Edit 2: Added Note 4 and added Edit 1 and 2 to the bottom.
(Edited)
Jul 6, 2020
marcw
33
Jul 6, 2020
bookmark_border
st.izzyjust as a followup on this I created an issue on the mdloader github for this with more info. we found that if you add  if ((deviceid & 0xFFFFF0FF) == mcu->cidr) on line 339 and leave the chip ID as it was it will work for both the old and new chip. As it is with just the chip id changed it will then fail on older keyboards. I have an ALT as well that i confirmed this on.
Jul 6, 2020
st.izzy
56
Jul 6, 2020
bookmark_border
marcwAh this is great info thank you. I went ahead and added your suggested solution and credit to the comment above.
(Edited)
Jul 6, 2020
zk7_7
0
Jul 9, 2020
bookmark_border
st.izzyI tried to follow exactly as you described on my linux system (ubuntu 18.04) and still nothing even after building with the line 38 and 339 changes. I'm getting a /dev/ACM0 permission denied error. I want to be able to get this through on my windows PC but I don't have the ability to run make commands on it as of right now.
Jul 9, 2020
st.izzy
56
Jul 9, 2020
bookmark_border
zk7_7Do NOT make changes to both line 38 and line 339 you only need to do one or the other. Honestly, for the sake of backwards compatibility you should only change line 339 and leave line 38 with its default. As for your permissions error you might need to run some of these commands as root on Linux. Adding sudo before the command if you aren't already root and it will prompt you for your password and see if that works. I have a computer that runs Pop_Os but haven't tried configuring the keyboard on it.
(Edited)
Jul 9, 2020
zk7_7
0
Jul 9, 2020
bookmark_border
st.izzyYou're a lifesaver. I changed line 339 and ran it as root and it ran instantly. Thank you so much for your help
Jul 9, 2020
View Full Discussion
Related Posts
Trending Posts in Mechanical Keyboards