Updating to 1.50 on Linux: problem + workaround

Forum for the JD-Xi Keyboard.
Post Reply
mixe
Posts: 24
Joined: 10:10, 31 March 2017

Updating to 1.50 on Linux: problem + workaround

Post by mixe »

After some issues, I successfully managed to update my JD-Xi to version 1.50 using Linux (Kubuntu 16.10).

I'm describing the problem I was having, and I'm sharing the workaround I came out with, in case other people have the same issue.

What was happening:
- turn on the JD-Xi while pressing Tap
- display says "UPDATE MODE"
- release Tap button
- display says "waiting file..."
- JD-Xi becomes available as an USB device (but it's not mounted yet)
- before I can mount the JD-Xi USB device and copy the 1.50 software, the display says "no update file" and no further operations are possible

My workaround (it's really ugly):
----------------------------------------
- following the steps above, take note of the path corresponding to the JD-Xi USB device (on my system it's "/media/myusername/JDXI/")
- in the terminal / command line, move to the directory containing the 1.50 software file ("jdxi_up.bin")
- run the following one-liner:

Code: Select all

while true ; do cp jdxi_up.bin /media/myusername/JDXI/ && umount /media/myusername/JDXI/ ; done"
- press Enter, ignore the error messages, wait for the update to start and finish
- when the update is complete, press CTRL+C to end
----------------------------------------

Explanation:
The above one-liner keeps trying to copy the jdxi_up.bin file to the /media/myusername/JDXI/ directory, which doesn't exist until the JD-Xi is successfully mounted as an USB device. Only after the JD-Xi is mounted and the file is copied, the USB device is unmounted; that starts the software update.

As I wrote, this is a really ugly way to work around the problem. I can't think of any actual side effects, but be careful.

I add that, on my Linux system, when a new USB device is attached it does NOT get automatically mounted (my choice). Maybe this is somehow related to the issue I was experiencing. You may want to try changing this system setting before following the instructions above.
Post Reply