botblox / ARIES-Software

The BotBlox ARIES Switch Management Software
MIT License
1 stars 0 forks source link

How to run on Linux? #1

Open peci1 opened 1 year ago

peci1 commented 1 year ago

I've tried running it with Wine, but no success. It wants me to install LabView runtime, but that one is a tough dependency to install on Wine...

peci1 commented 1 year ago

Snímek z 2023-03-09 20-00-46

peci1 commented 1 year ago

Downloading an ISO of LabView 2023 64bit, extracting it and running wine64 Install.exe results in:

Snímek z 2023-03-09 20-08-42

peci1 commented 1 year ago

After setting Windows version to 10 in winecfg, I get to another error installing LabView:

$ wine64 ~/Download/tmp/Install.exe
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:wineusb:query_id Unhandled ID query type 0x5.
0088:fixme:imm:ImeSetActiveContext (0000000000010026, 0): stub
0088:fixme:imm:ImmReleaseContext (0000000000010020, 0000000000010026): stub
0114:fixme:imm:ImeSetActiveContext (0001005A, 1): stub
0114:fixme:imm:ImmReleaseContext (00020052, 0001005A): stub
0118:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFA, 01C9FEF4
0120:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"Install.exe" cannot be loaded
0120:err:module:LdrInitializeThunk Importing dlls for L"Z:\\home\\peci1\\Download\\tmp\\bin\\Install.exe" failed, status c0000135
0118:fixme:thread:GetThreadUILanguage : stub, returning default language.
0114:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0067FEAC

The program exits after outputting this error.

I'm using the latest Wine version (8.3).

peci1 commented 1 year ago

What was so bad about Python? :-D

AaronElijah commented 1 year ago

Hi @peci1, thanks for posting about running ARIES on Linux.

As a workaround to running ARIES on any linux distro, I'd suggest for you at the moment to just use a Windows machine to install the LabView runtime natively, run ARIES and use the export command functionality to work out the registers that you want to write from that. From there, you can use serial software in the linux distro to write to the board at runtime.

In terms of our roadmap, we are planning to overhaul ARIES completely with a new app that is design-wise more inline with Netgear management GUIs + not to mention something that can be installed cross platform. One of the goals of that project will be cross platform apps. That's something we plan to start work on later this year though that obviously depends on demand.

Also: definitely nothing wrong with Python! 😃 We found that many people would've preferred to use a GUI, hence why ARIES exists

peci1 commented 1 year ago

Good to hear multiplatform support is on the roadmap, Aaron.

Regarding Python, I meant you can also make GUI apps in Python (using e.g. wxWidgets or pyQt). And on Windows, you can package the whole Python app so that it includes the Python interpreter, which means users will not be forced to install Python separately.

Do you also plan to document the low-level serial protocol, so that these exported commands can be made without the use of the GUI? So far it seems to me it is the same one as used to be on Switchbloxes...

AaronElijah commented 1 year ago

Ah yeah I understand what you mean. I've used pyQT package before, it would've been ideal. I think in this particular case we wanted something fast and Josh understands how to write MatLab so it meant we could finish this first much faster if we both worked on it.

Re. documentation on the serial protocol used, I'd say that will probably follow once we've released the GUI and/or implemented ARIES for at least two boards, which use two bus protocols to communicate between the switch the STM32 onboard (SMI and I2C for example). I want to have confidence that it's suitable to accommodate those use cases before advertising it.

joshelijah commented 1 year ago

"Josh understands how to write MatLab"

@AaronElijah means LabVIEW :)