Updates nrf sdk to latest + new devices + removed vendored devices#325
Updates nrf sdk to latest + new devices + removed vendored devices#325eyJhb wants to merge 7 commits intojfedor2:masterfrom
Conversation
|
@scatterthought you might be interested in this. There are a prebuilt image for the MDK nrf52840 in the link above that should work :) |
|
Thanks! I actually ordered a SEEED XIAO from AliExpress, but the package tracking has shown the dreaded "cleared customs, awaiting courier pickup" message for a week, which means that I'll probably never see it. |
|
@eyJhb Thank you for your work on this! We have a (special needs) Center School in FL that needs to be able to move a trial device between iPads without having to unpair/repair/etc all day and I'm pretty sure HID-Remapper + the Switch Interface will work very well. I am trying to do this with the MDBT50Q-CX (USB-C) version of the dongle. I suspect that it will have very few differences from the -RX USB-A version. However, I've been unable to make much headway. I followed instructions from the Mfg to use NRF-Connect to try to load a new firmware, but got nowhere trying to install the Adafruit UF2 bootloader. I think (now) that it doesn't let you replace the bootloader w/o a JLink. So, I am hoping that your build will load on the device without replacing the bootloader. However, the NRF-Connect won't burn the .zip file, so I think I need to setup a full nrfutils toolchain (?). I've always used UF2s for this type of work, so I'd love any advice. I'll keep banging on this but have work in the morning :-/ Thanks again |
|
Couldn't give up yet :-) I flashed the firmware to my Raytac MDBT50Q-CX successfully but the device doesn't enumerate on USB. Wireshark shows USB URB_BULK packets but no Windows device appears. I suspect DCDC is enabled - does the nrf52840dongle build have DCDC disabled? The Raytac dongle doesn't have the external LC filter. Can you provide a build with DCDC disabled or instructions on how to rebuild it? Or maybe someone's seen this and has another option? Update: According to Claude, disabling DCDC isn't that hard: The fix should be to add a board overlay file at firmware-bluetooth/boards/nrf52840dongle_nrf52840.overlay with: This will disable DCDC for the Raytac dongle. |
This also makes some changes to prj.conf in firmware-bluetooth, as some options has changed name, and a new USB Device Stack was implemented. Besides this, the BT_ATT_TX_COUNT needed to be increased, so that we can read the device report map
This removes the custom overlays, and uses the upstream ones in the nrf zephyr repository instead. Also removed USE_DT_CODE_PARTITIONS as that should not be needed anymore. Testing required.
Support with default bootloader as well
With uf2 bootloader
|
Try these files. I just build them with the target If you want to make an overlay file, then create it as Good luck! raytac_mdbt50q_cx_40_dongle_hidremapper.zip ^ remember to unzip the file, i've included both .uf2 and .hex. I normally flash using something like.
|
|
That was hugely helpful - thank you! I was able to flash the device and the config screen works - I can add expressions, save them, load them, etc. However, I can't get my keyboard or mouse to pair to it. I've tried "Pair New Device" and it does nothing (no error to JS console either). I've tried the button on the device with no luck. Thoughts? |
|
Here's a screenshot of NRF Connect after the flash (and back in DFU mode) And I've attached the JSON file from the xport Honestly I'm not sure the SoftDevice is running - I don't see it when my phone scans with NRF Connect |
|
Honestly, I think it would work if you had a .hex/.zip file that had the application as well as the softdevice in it. When I load your .hex it only has the application (but the application works). When I load the softdevice by itself it works... but when I load one then the other it doesn't. And when I try to build a package with both, it won't install via DFU (says incompatible SoftDevice). Kinda stumped |
|
Just an update, I have gotten the build env setup & I've made tweaks and changes to debug this thing. At this point, I have the .hex file loading and running with USB and Bluetooth functionality running at the same time (yay!) however I can't pair to any devices (two keyboards & a mouse) (BOO). Here's the debug error I'm getting [00:03:40.369,293] remapper: main: device_disconnected_callback conn_idx=0 At this point, I'm wondering if this is a PKI issue? Anyone seen this? |
|
Alright, I'm super tempted to take down those posts - I have spent an enormous amount of time finding this and it's just two lines in prj.conf 😊 The dongle needs the following lines added to prj.conf: CONFIG_BT_SMP_SC_PAIR_ONLY=n Perhaps there's a way to get the Crypto stuff to work and use higher security models, but this allows everything to build, link, and then not have corruption. I'm attaching my .hex file - it works well. Thanks Again! This is the zip file packaged up and ready to be sent via DFU |


This PR does the following:
nrf52840dongle/nrf52840as well asnrf52840_mdk_usb_dongleSupersedes #322 , however, documentation needs to be added.
Commit history is a mess, but I would like to get some comments on these changes, and if you @jfedor2 would like to have it incorporated in the repo. I have only teested the new devices, as I don't own any of the existing devices. But I assume they should work just fine.
Artifacts can be downloaded from this workflow: https://github.com/eyJhb/hid-remapper/actions/runs/20307694412
TODO (will only look at once I get commits/suggestions/go-ahead)