-
Notifications
You must be signed in to change notification settings - Fork 4
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
Error: LIBUSB_TRANSFER_NO_DEVICE #4
Comments
Ok... I switched to windows to try with their (teck company) software and it turns out that my keyboard is one of those that emit "DFU_Reset_to_ISP fail" in their software (see https://www.trulyergonomic.com/store/troubleshooting--truly-ergonomic-mechanical-keyboard#Reset) when trying to update (at the switch to programmable mode). Anyway, when this error occurs you might want to refer to the web page that I mentioned, so that user that don't have a windows box can still find out what's going on, manually reset their keyboard, and hopefully update their firmware with this patcher. Cheers! :) |
@Aszarsha You’re not forgetting to set the DIP switch 5 to the position that allows reprogramming before trying to use any firmware update tools, are you? |
@yurikhan Haha, no no, I didn't. ;) I had (and still have... :() so many key chattering issues that I was willing to open the damn thing just to patch with a 20ms debouncing (and make a few adjustments to the layout that I had postponed for a long time). Ho, and since you wrote the v3 firmware, do you mind if I ask what's the difference between v3 and the v4.00 on the website ? :) |
@Aszarsha After the tool reports 'Switching to program mode.', the device should disconnect and reconnect using a different USB ID, but apparently it doesn't reconnect. (That's also what the "DFU_Reset_to_ISP fail"-error means.) Can you check |
@Aszarsha I did not actually write any of them; the majority of the code is still by Truly Ergonomic’s unnamed and unresponsive subcontractor. I don’t track the version numbers very closely. My involvement with the TECK firmware started before v3; when v3 came out, I re-applied my changes on v3 and published on GitHub. Then Truly Ergonomic contacted me and I did some additional changes on their request. The changes I made include:
I believe the last one is the only actual difference between the v3 and v4 branches, and it is only beneficial for users who will not bother customizing the layout. v3 has two layouts (normally designated as PC and Mac, but fully reprogrammable) while v4 has 16 (PC and Mac variants for each of 8 national layouts, fixed). (Apologies to @m-ou-se for off-topic.) |
@m-ou-se The problem is that I have only this one keyboard available right now, and in order to do what you ask I would need to be able to do some input. Which I can't anymore once I try to patch, probably for the reason you said. @yurikhan Thank you for the info, and for your work! |
You could copy and paste
It’s pretty ridiculous; according to Truly Ergonomic, the contractor guys who originally wrote the firmware refuse to hand over the source. So I have come to the conclusion that the easiest way to access the firmware source is to write a new one, and I unfortunately haven’t gotten around to doing that yet. Alternatively, Somebody™ could try porting any of the Ergodox firmwares to TECK. Less writing, more digging in somebody else’s code; not sure which is more complex. |
@m-ou-se So I did some testing using lsusb before:
after:
new kernel buffer messages after the command:
And whenever I disconnect and reconnect the keyboard I get the following kern msgs (modulo device numbers and such):
It seems recognized as both an @yurikhan Do we know which controller the keyboards use? |
@Aszarsha Looks like the time the tool waits for the keyboard to reconnect is simply too low. In this tool, it's set to one second, and it doesn't retry. I should probably change that. Can you try running the tool again after a few seconds? (something like: |
The first endpoint is a garden-variety HID keyboard, Boot protocol, 6KRO + modifiers. The second endpoint reports media and application keys, 1KRO only.
We do. It’s a Megawin MG84FL54BD. Basically a variant of 8051 plus a USB stack implementation exposed to the controller as a bunch of special function registers. The SDCC compiler can target it just fine. |
Hi,
Tried your program, but this is the output that I get:
After that, the keyboard becomes unresponsive (as if disconnected) and I have to unplug and replug it.
Thankfully it continues to work after I plug it back. ^^" Maybe the driver doesn't recognize the keyboard after what the program does (although it definitely does not flash the keyboard since the layout haven't changed).
I even tried to change the
TAG+="uaccess"
intoMODE="0666"
in the udev rule just in case, to no avail...Do you have any idea?
EDIT: Forgot this info: running Arch Linux fully updated.
The text was updated successfully, but these errors were encountered: