Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
MIPS is not currently supported, sorry. It's on our TODO list, but not too high up, to be honest (people mostly run tdevmon on PCs and Raspberry Pis)
tdevmon
However, the kernel module is open source, so if you have experience in Linux Kernel development, you can try porting the tdevmon LKM to MIPS yourself (yes, porting is required, bare recompilation won't cut it, unfortunately).
If you're able to port the kernel module, I can provide you with the sources of the CLI app, too -- then you should be able to build the whole tdevmon on MIPS.
@vladimir well for now ive managed to do what i need on raspberry pi but having ioninja on MIPS ( openwrt based router ) would make it really useful for field debugging and testing.
the idea of having scriptable tool that can construct traffic ( modbus or any TCP based traffic for that matter ) wich is actual data flowing through the live automation system is something that makes my life so much easier. For example writitng a script that will "scan" modbus to get all slave responses so i know that all nodes are connected and online before parsing data in automtion system is a gift from gods
@Vladimir I plan to work on porting tdevmon for aarch64 (arm 64 bit), if you could share the CLI app source code that would help build the entire tdevmon on aarch64, and check that it works successfully.
Cheers, Bob
Hello Bob,
That's possible. tdevmon contains some proprietary code (mostly concerning the kernel-mode drivers for Windows) so I can't share the actual repo. But I can make a snapshot of what's required to build the tdevmon CLI and give you a link to that. Will that work for you?
Also, are you going to publish the results of your porting so that we can merge them into the main repo -- or is it some closed-sourced project? Either way is OK with us.
@Vladimir That works for me, I'm only working on Linux if there's a stripped Linux version that would be great if shareable, but if not snapshot is also good!
Yes I will merge into the main repo once it works on aarch64.
Extracted the non-proprietary code and published it here:
https://github.com/vovkos/tdevmon-linux
The user-mode part should build on any generic Linux box without a problem. The kernel module would require porting (at least, the write protection removal code).
@Vladimir thank you that is much appreciated! I was able to get the x86_64 version compiled. To get it working out of the gate (I'm on Ubuntu 20.04 VM x64) I ended up needing these two additions:
I wanted to get the ARM32 env cross compiling working before tackling the aarch64, so I know my baseline is correct. I added an arm-linux-gnueabihf toolchain file to cmake, but that is not happy with "install FILES given no DESTINATION!" for devmon project.
I used that same compiler separately to compile kernel driver for ARM32 successfully, but that was without cmake. If you have a working ARM32 cross compile build file, or know what I might be missing any tips are welcome to get my env set up and ready to look at aarch64. I'll also keep debugging my setup as well. Thank you again for all the help!
Re missing dl -- try with the latest axl:
dl
axl
cd axl git checkout master git pull
then rebuild
cd ../build cmake . make clean make -j`nproc`
libudev and dl issues are (probably) caused by axl tests; if the problem persist, simply comment line 51 in axl/CMakeLists.txt:
libudev
axl/CMakeLists.txt
# add_subdirectory(test)
As for ARM cross-compiling -- I build and debug on a Raspberry Pi over an SSH channel, so I don't have a ready-to-use cross-compiling toolchain.
@Vladimir Thank you for the tips. I was able to get an ARM cross-compile toolchain and build env setup. It produced an ARM binary, which works on my ARM debian vm, so I'm guessing it could very likely work on a Pi as well. I'm happy to send my build files via commit, or pasting here if it could help you out.
That's great! Please send a pull request to tdevmon-linux; I will take a look and integrate the changes to the main repo after testing those on Rpi-3 & 4.
tdevmon-linux
Happy New Year!