Thanks for your testing! I'm glad the first version works correctly.
Regarding the python 3 version, I forgot to mention that you will also need python3-serial (it's written in the accompnying files, however). It's the equivalent of python-serial for python3. This shows that I should learn how to make a real package, at least for Ubuntu.
For the negative values, my problem is to convert the 4 bytes value returned by the device into a signed integer (it's not a file problem actually). In my program, I check if it's superior to 0x80000000 and then it's positive, and else it's negative, but I'm not sure it's the good way. I can't quite test this since I'm on the north hemispher and eastern to Greenwich meridian (hence I only got positive values).
Since we are looking at the problems, whenever I download a track from the device the led switches off and I have to reboot it blindly to get it to switch on again. However, it still is responsive (I can download another track, get the configuration, or set the configuration). So it's not that important, just cosmetics.