-
Notifications
You must be signed in to change notification settings - Fork 41
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
Teensy 4.1 (kint41) QMK support #5
Comments
Status update: as of commit stapelberg/ChibiOS-Contrib@c6d4537, the ChibiOS serial usb device enumerates in my tests, and can be opened, but no data is sent/received over any endpoint but 0. This line is where the device hangs: https://github.com/stapelberg/ChibiOS-Contrib/blob/c6d4537b6afbdb407f88526c0d5bdc72e7449c3a/os/hal/ports/MIMXRT1062/LLD/USBHSv1/hal_usb_lld.c#L172 Full log:
|
Status update: I managed to build a working firmware! I pushed the various changes to GitHub for now, and will clean them up and send them upstream later as time permits. You can try the current state using:
|
Status update: ChibiOS/ChibiOS-Contrib#246 is now cleaned up and ready for review, and all repositories have been updated based on the current QMK develop branch. The instructions in #5 (comment) remain valid for trying out the firmware. |
With ChibiOS/ChibiOS-Contrib#246 merged, what's the status of this issue? Is there still more to do for the 4.1 to be fully supported? Thanks. |
If you’re okay with building from my repository instead of QMK’s, then I consider the kint41 fully supported. I have been using a kint41 as my daily driver for weeks now, and have not noticed any issues. I know there is at least one other user without any issues. QMK itself tracks their own branch of ChibiOS-Contrib which lags behind upstream, so for proper upstream support, my changes first need to make it into that branch. I want to ask QMK to cherry-pick, but wanted to finish some related work on keyboard latency to make sure I don’t ask prematurely (in case my work identifies other changes needed). Will probably ask next week or so. |
SGTM, Teensy 4.1 ordered. Thanks! |
Finished the latency work and asked QMK for the cherry-pick in qmk/qmk_firmware#12843 |
Hey,
I can compile 'kint2pp' from the official qmk project without issues. I'm new to Kinesis and QMK, so I have no clue where to look for differences between your fork and qmk. Greetings! |
I rebased the kint41 branch on top of the current QMK development branch. Possibly that fixes your problem (given that you say compiling QMK itself works). Can you try cloning again and see if compilation now works? If no, does compilation of kint36 work from the QMK upstream |
My issue is related to pin names. Now looks like pin names that don't match this criteria will fail: Here's the output of the error message
Also, builds of |
Sorry about that. Turns out clean builds were broken, but my working copy still had the required files lying around so I didn’t notice. I pushed the old version for now, until I can properly fix the pin issue. |
Posted qmk/qmk_firmware#13052 upstream to ask about how to approach the pin naming issue. |
Thanks, Michael. It builds fine now. |
You can now find these changes in the |
Upstreaming status: the required core QMK pull requests have been sent:
The main keyboard addition PR has now been sent as well: qmk/qmk_firmware#13333 |
For me it still did not build on a windows machine (upstream branch as well). In the meanwhile I worked with kint41 branch on a fedora vm and arch linux. That worked fine. |
You might want to file an issue at https://github.com/qmk/qmk_firmware/issues about that, then |
Support for the Teensy 4.0 and Teensy 4.1 (both via the |
@stapelberg Thanks for your work on this, and the previous iterations of the kinT board. I successfully compiled QMK for a Teensy 2.0++ with the I compiled your fork with the previous instructions, but I had an issue with bottom row keys not working - could be hw, but I wanted to first compile from the develop branch of qmk_firmware seems very tricky to work with It seems that the supported sub-commands such as This is more of a QMK question, but maybe you've encountered this. I've looked around a bit, no one seems to have problems using the develop branch. Furthermore, official tooling (qmk cli tool) seems to not approve of the
It seems that the version check line in Makefile is causing a problem. I tried using Actually, in writing this up, I discovered that they very recently changed something about how they're parsing args. Probably something broke there. I tried reverting, since your changes came in after this:
Before reverting this, I got the following output:
Can you please tell me what version of
Note that I'm also always getting complaints about "qmk hello", and searching the qmk_cli repo on GH does not show anything about "hello"... This is a nightmare! I have an injured hand, this is not helping, since my backup kinesis is at the office. Getting the other keyboard going was much much smoother. I am considering driving 30 minutes away to buy a teensy 2.0++ tomorrow and to desolder the Teensy 4.1. :( Thanks in advance for any help. |
Most likely. All keys should be working in all of the published firmware revisions.
This is not what I’m seeing:
Try uninstalling all QMK packages from the AUR, then install the QMK CLI from your repo as per the QMK instructions (using pip). You can always consider starting a different Linux distribution using docker, too, and building there. |
@stapelberg Some good news (and apologies for the longreads + frustration!) Compiling from Apparently Apparently
I also needed to not invoke make with sudo, to get the qmk bin to be found. Will check into that.
I see your message came through after I wrote this. Thank you for the quick response! Actually, I had tried removing the QMK packages from AUR first, and went with straight Thanks again for the quick help! You're amazing. I'll now move on to testing those bottom row keys...it's likely just the jumper cable not tucked in tightly, I believe the solder joints are good. |
@stapelberg Just to say thanks again, and that I noticed that you (or someone) managed to get console debugging working with Great work! :) Let me know if I can test anything or help in any way with any remaining tasks. |
@stapelberg Indeed the column 4 missing was a bad solder joint, probably broke after I cut pin headers down. Thanks to your diligent work on the silk screens and schematic, it was a breeze to identify the offending connection. Very inspiring stuff; I am ready to try designing a board with KiCad. Learned a lot of theory and some basics of eagle, but KiCad is much more appealing given that it's FOSS and thus easier to learn in together with a group. Thanks again! |
Glad to hear you could get it to work 👍 |
I'm currently unable to get CONSOLE_ENABLE working on a teensy 4.0. Compiling your qmk kinesis/kint41 with Only when I press the teensy's reset button while running
Questions:
|
In which rules.mk file specifically are you putting this line? For me, it did not work in
AFAIR, |
Amazing and helpful news. Thank you. Yes, I was adding Would you consider this a makefile or QMK bug -- should I report it upstream? Now I can proceed to debug my Row/Col issues using your code from void keyboard_post_init_user() {
debug_config.enable = true;
debug_config.matrix = true;
} |
I agree it's now working for me, but I'm definitely also curious what you think of Paul's reply here on this topic: |
Yes, please report this upstream. I don’t know why it only works in one place, and ran into this issue myself :)
I think Paul’s talking about out hid_listen working out of the box with the Teensy software stack. QMK already provides a bunch of different USB devices regardless of the underlying stack, and can easily keep doing that regardless of what the Teensy stack does. On the USB protocol level, the hid_listen approach works fine even for non-Teensy microcontrollers. |
I'm getting the following error when I try to compile : /lib/chibios-contrib/os/common/startup/ARMCMx/devices/MIMXRT1062/cmparams.h:70:24: fatal error: MIMXRT1062.h: No such file or directory This is on branch Any help would be appreciated! EDIT: Nevermind, the issue was that I was building from QMK's repo. Switching to kinx-project/qmk_firmware fixed the issue. |
No, you should be able to build from QMK’s repo. The kinx-project/qmk_firmware repo is not maintained (it’s old). Your build issue sounds like you didn’t have all the submodules set up correctly. |
From the above it seemed as if just running this from the normal QMK repo should be expected to work now, but it seems like something's missing here.
I'll probably go ahead and try the kinx-project fork next since that sounds like it should more definitely be able to work but I'd appreciate any help troubleshooting for this or else guidance on how to get whatever's the current best-available level of feature support. BTW thanks @stapelberg for the excellent kit. update: looking more closely it seems windows support isn't all there, so i'll try again from linux when i find the chance. |
Yeah, it should definitely be expected to work. If building from the official QMK doesn’t work for anyone, it’s often best to check there for issues, or just try building an older version of QMK :) For your specific case, this error message:
…sounds like it comes from the teensy-loader-cli program: https://www.pjrc.com/teensy/loader.html Are you sure you have a recent-enough version installed? Sounds like the one you have doesn’t know about the Teensy 4 yet. |
Ah thanks for that clue, I would never have made the connection. Looking into how to get latest teensy loader within QMK MSYS now... Update: For reference for the next person: |
Status
USB
USB1
(base address0x402E0000
) work (eval board: the USB port right next to the ethernet port, called “USB OTG” in the documentation, teensy 4.1: the main and only USB port)Building
Wiring/testing
The text was updated successfully, but these errors were encountered: