I thought this might interest a few people, I attempted to try figure a way around getting the ALDL working within TunerPro RT under Linux (I run Mint which is a distro of Ubuntu) without resorting a clunky and resource hungry VMs just like my main solution was for a while. I used VirtualBox, which I got working but it was no walk in the park with the UBS side of things and additional packages needing to be mounted and installed within the VM, and requires all other stuff to be closed on the Linux host, or otherwise the windows machine became so slow that you couldn't even move the mouse without a 5 min delay (not actually joking
So I present you with this how to guide
I figured out a way to do it with the use of the AI chat and help from Ant, who provided me with a unreleased version of OSE, 3.0 that is still more or less experimental and has not been verified on the later models and all scenarios. But for this it was a key part of making this all work, and as far as I could test, it all worked perfectly so far!
With the permission from Ant, I provide a copy of the OSE 3.0 in the form of the plugin dll only. DISCLAIMER! as mentioned, this is not fully tested and may break shit!
Download for the dll is at the end of this post.
To use it, replace the current OSE 1.8 dll in the TP plugin folder, just make sure you save the old one first, just in case you need to revert.
Some of the issues that prevented ALDL from working properly was the hard coded timing routines within the 1.8 and older versions of OSE. 3.0 is rebuilt with a different approach that to my understanding has a much more dynamic and adaptive set of timing routines. This allows additions layers to be able to sit between software and hardware that add their own latency penalties, without causing a breakdown in the timing that OSE 1.8 and older suffered.
Since the newer OSE is much more flexible, it can compensate for these sort of things, such as those exact layers I was dealing with, emulation of a windows program within linux and different layers of driver handling since linux and windows do it their own way very differently. This would trip up the plugin's timing and it would immediately error for anything that was two way like uploading/downloading, real time editing and verifying cals. However, simple data logging worked ok as it was just a downstream thing.
The OSE 3.0 plugin was actually the last problem I needed to solve the issues, the first one was getting linux to run the ALDL adapter at the correct 8192 baud in the first place, the other issue was figuring out how to get TP to see the ALDL as a com port, when com ports aren't really a thing in linux, at least not through a USB adapter since it is a virtual port under windows from my gist of it, but linux is just a as it is, a serial adapter.
The actual guide now:
I won't go into every step in detail, since A. I can't be bothered, B. linux people know what to do and I am dumber than most of them, C. you can google it, or AI it, that's what I did. D. I don't remember half the shit I do after 5 sec.
Usually the ALDL FTDI chip comes up at /dev/ttyUSB0, sometimes it maybe a 1 instead of 0. Google the terminal command to sus out what your adapter comes up as in linux.
Also a good idea to look at the other parameter too while you're at it, the base number or clock will be important, but it's almost always 24,000 for our adapters.
Mine was /dev/ttyUSB0
This needed to be mapped within wine where TP was being emulated in. I actually use Crossover which is wine but in self contained bottles as they call them, so this step may differ.
I mapped the com port and number within the windows environment to tell windows where/what who? the com port is in relation to the external device as linux sees it.
This two screen shots have all the details.
You basically add a string value named COM3 in the registry that tells all software within the wine bottle, that com3 is actually /dev/ttyUSB0 in linux. Set the value as such.
I used com3 as TP started with that number as the default, and for some reason com1 spazes out and changes to com11 every time the settings in TP preferences are closed. You can chose any other arbitrary number, I had com all the way to 20 something. All worked except com1, so it's probably a bug in TP.
Ok, next I am going to paste a bunch of commands and AI's comments on each of them, that you run in the terminal, curated by the AI chat which then I compiled into a sort of sequence that worked for me, and leaving out all the junk that wasn't needed.
I actually know some of the order doesn't matter. The last two commands might be able to be tossed together, but I ran them one by one since I wasn't sure if that works going by how AI had them together. Someone can comment on that.
There were a few mistakes, the divisor to force the 8192 baud was wrong, so I fixed it to the correct 2930, it gave me 14 for some reason.
The next lot of commands I found allows you to make a custom rule for that adapter, so that every time it is plugged in, regardless of the port, the rules will automatically set a custom divisor to run the adapter at the 8192 baud, since TP is unable to do that through wine.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"Even if you can see the device in Linux, CrossOver running under your user account might not have permission to read/write to the raw hardware serial port.Open your Linux terminal.Run this command to grant your user account access to the serial hardware group:"
bash
Code: Select all
sudo usermod -a -G dialout $USER---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"You need the vendor ID and product ID of your specific adapter so Linux doesn't accidentally apply this rule to other USB devices (like a USB mouse).Plug in your adapter.Run this command:"
bash
Code: Select all
lsusb---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"Open a new configuration file in your system's rules directory using a text editor (like nano):"
bash
Code: Select all
sudo nano /etc/udev/rules.d/99-aldl-ftdi.rules---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"Paste the following single line into the file (replace 0403 and 6001 with your actual IDs if they are different):"
Code: Select all
ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", RUN+="/usr/bin/setserial /dev/%k spd_cust divisor 2930""(Note: %k is a dynamic placeholder that automatically changes to ttyUSB0, ttyUSB1, etc., depending on which port the system assigns).Save and exit the editor (in nano, press Ctrl+O, Enter, then Ctrl+X)."
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"Tell Linux to load your new rule immediately without needing a system reboot:"
bash
Code: Select all
sudo udevadm control --reload-rulesCode: Select all
sudo udevadm trigger---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
And here is the OSE 3.0 plugin as the dll only, with the permission from Ant. It's experimental, read the notes at the top of the post.