Can the OPI5 be Configured to Run LCNC?
27 Jan 2023 20:36 - 27 Jan 2023 21:35 #263021
by Bari
Can the OPI5 be Configured to Run LCNC? was created by Bari
This is a fork of the thread "Potential All-in-One Single Board Computers".
forum.linuxcnc.org/18-computer/46077-pot...ters?start=60#262958
Opi5 download and install a Debian version from here www.orangepi.org/html/hardWare/computerA...ort/Orange-pi-5.html
But you still will have to patch the kernel for preempt_rt and modify the u-boot or hope it works well enough for low latency.
Please post your attempts at doing so on this thread of the forums.
forum.linuxcnc.org/18-computer/46077-pot...ters?start=60#262958
Opi5 download and install a Debian version from here www.orangepi.org/html/hardWare/computerA...ort/Orange-pi-5.html
But you still will have to patch the kernel for preempt_rt and modify the u-boot or hope it works well enough for low latency.
Please post your attempts at doing so on this thread of the forums.
Last edit: 27 Jan 2023 21:35 by Bari.
Please Log in or Create an account to join the conversation.
27 Jan 2023 20:46 - 27 Jan 2023 21:44 #263023
by Bari
Replied by Bari on topic Can the OPI5 be Configured to Run LCNC?
Product page: www.orangepi.org/html/hardWare/computerA...ils/Orange-Pi-5.html
Rockchip RK3588
Quad-core ARM Cortex-A76 MPCore processor and quad-core ARM Cortex-A55 MPCore processor
3x Cortex-M0 MCUs integrated (stepgen)
ARM Mali-G610 MP4 GPU
Links to RK3588 info and data sheets www.cnx-software.com/2021/12/16/rockchip...eet-sbc-coming-soon/
Orange Pi 5 4GB RK3588S US $68.00 + $12 shipping
www.aliexpress.us/item/3256804748236962.html
Orange Pi 5 8GB RK3588S US $83.00 + $12 shipping
www.aliexpress.us/item/3256804755535571.html
Orange Pi 5 16GB RK3588S US $115.00 + $12 shipping
www.aliexpress.us/item/3256804771408605.html
www.amazon.com/dp/B0BN15SS83 (in stock at higher price, Jan 27)
Rockchip RK3588
Quad-core ARM Cortex-A76 MPCore processor and quad-core ARM Cortex-A55 MPCore processor
3x Cortex-M0 MCUs integrated (stepgen)
ARM Mali-G610 MP4 GPU
Links to RK3588 info and data sheets www.cnx-software.com/2021/12/16/rockchip...eet-sbc-coming-soon/
Orange Pi 5 4GB RK3588S US $68.00 + $12 shipping
www.aliexpress.us/item/3256804748236962.html
Orange Pi 5 8GB RK3588S US $83.00 + $12 shipping
www.aliexpress.us/item/3256804755535571.html
Orange Pi 5 16GB RK3588S US $115.00 + $12 shipping
www.aliexpress.us/item/3256804771408605.html
www.amazon.com/dp/B0BN15SS83 (in stock at higher price, Jan 27)
Last edit: 27 Jan 2023 21:44 by Bari. Reason: fixed links, editor issues etc
The following user(s) said Thank You: CarterKraft
Please Log in or Create an account to join the conversation.
27 Jan 2023 23:24 #263035
by royka
Replied by royka on topic Can the OPI5 be Configured to Run LCNC?
As said in the other topic I did an attempt to run it on Armbian, which is easy to configure/compile. Without extra boot parameters the latency became quick above a second, then I thought I'd patched the kernel (but got cleaned after) I tried with boot args: isolcpus=4-7 nohz=on nohz_full=4-7, and got with Wayland after running it half an hour watching YouTube and installing various things a max jitter of 100us.
After I realized that I didn't compile the patched kernel I've tried to compile with the preempt rt patches, but got an error. Also didn't I enable the full tick less option the first try, so a lot to improve/try. When I've got time I'll see if I could get most of the rt patches to work but I'm clearly no developer or anything.
The OPI5 with the 3x M0 MCU integrated and 6 pwm pins has a lot of potency with the right people working on it.
After I realized that I didn't compile the patched kernel I've tried to compile with the preempt rt patches, but got an error. Also didn't I enable the full tick less option the first try, so a lot to improve/try. When I've got time I'll see if I could get most of the rt patches to work but I'm clearly no developer or anything.
The OPI5 with the 3x M0 MCU integrated and 6 pwm pins has a lot of potency with the right people working on it.
The following user(s) said Thank You: CarterKraft
Please Log in or Create an account to join the conversation.
28 Jan 2023 05:03 - 28 Jan 2023 05:04 #263050
by Bari
Replied by Bari on topic Can the OPI5 be Configured to Run LCNC?
I know that the editor for the forums is difficult to work with but can you please post the links to your source, images, binaries, etc etc?
Which version Armbian from where etc etc
How did you build?
Which Kconfig was used?
Do you have a git for all this?
We need details to have any input on this.
100uS isn't bad for a non RT kernel. It's actully good enough for a servo thread with a Mesa FPGA card over Ethernet.
Thank you!
Which version Armbian from where etc etc
How did you build?
Which Kconfig was used?
Do you have a git for all this?
We need details to have any input on this.
100uS isn't bad for a non RT kernel. It's actully good enough for a servo thread with a Mesa FPGA card over Ethernet.
Thank you!
Last edit: 28 Jan 2023 05:04 by Bari.
Please Log in or Create an account to join the conversation.
28 Jan 2023 15:25 #263090
by royka
Replied by royka on topic Can the OPI5 be Configured to Run LCNC?
In short, I did first download the image from:
github.com/armbian/build/releases
Then setup for GPU hardware acceleration:
forum.armbian.com/topic/25957-guide-kodi...tion-and-hdmi-audio/
To prevent the Panfork drivers/software getting upgraded to non Panfork you coud follow:
forum.armbian.com/topic/26193-pin-packag...ia-and-panform-mesa/
To build a new kernel:Then it will prepare and open the kernel config menu, after exit it will ask to save the config if you hadn't already and then it will compile.
In the /build/output/debs folder you'll get the kernel packages, easy way to install them at once:
sudo apt install ./*.deb
To set the boot parameters:
RT kernel patch could be put in this folder
/build/userpatches/kernel/rockchip-rk3588-legacy/
Later on I'll upload images/config, at the moment I'm a bit busy.
github.com/armbian/build/releases
Then setup for GPU hardware acceleration:
forum.armbian.com/topic/25957-guide-kodi...tion-and-hdmi-audio/
To prevent the Panfork drivers/software getting upgraded to non Panfork you coud follow:
forum.armbian.com/topic/26193-pin-packag...ia-and-panform-mesa/
To build a new kernel:
git clone https://github.com/armbian/build.git
cd build
./compile.sh BUILD_ONLY=kernel KERNEL_CONFIGURE=yes BOARD=orangepi5 BRANCH=legacy
In the /build/output/debs folder you'll get the kernel packages, easy way to install them at once:
sudo apt install ./*.deb
To set the boot parameters:
cd /boot
sudo nano boot.cmd
# search for setenv bootargs " you could put here the bootargs you want like isolcpus=4-7 nohz=on nohz_full=4-7 then save and compile
sudo mkimage -C none -A arm64 -T script -d boot.cmd boot.scr
RT kernel patch could be put in this folder
/build/userpatches/kernel/rockchip-rk3588-legacy/
Later on I'll upload images/config, at the moment I'm a bit busy.
The following user(s) said Thank You: Bari, CarterKraft
Please Log in or Create an account to join the conversation.
29 Jan 2023 21:43 #263188
by royka
Replied by royka on topic Can the OPI5 be Configured to Run LCNC?
Did another test with the full dyntik enabled in the kernel but then the latency became worse, after I removed the nohz_full and nohz parameters it was around 80us but suddenly got a spike to 120us. Then I looked at the dtc and I saw that cpu 4 and 6 had an extra setting:
dynamic-power-coefficient = <0x12c>;
cpu-supply = <0x18>;
cpu 5 and 7 didn't had these, not sure what it means, but decided to try to only isolate cpu 5 and 7 and the result for the servo thread was better.
I can see that the arch_timer still has a lot of interrupts on cpu7, so next step would be to find a way to disable the timer on those 2.
The settings I'd used with this test:
Kernel set on preempt desktop rt in kernel menu config, no patches yet
in armbian-config set the governor on performance , min and max @ 2400mhz but somehow armbianmonitor says 2400/1800mhz
Boot arg: isolcpus=5,7
Opened some glxgears and 4k youtube video and cpu stress on 6 cpu's
Kernel I compiled:
easyupload.io/q0xrfl
dynamic-power-coefficient = <0x12c>;
cpu-supply = <0x18>;
cpu 5 and 7 didn't had these, not sure what it means, but decided to try to only isolate cpu 5 and 7 and the result for the servo thread was better.
I can see that the arch_timer still has a lot of interrupts on cpu7, so next step would be to find a way to disable the timer on those 2.
The settings I'd used with this test:
Kernel set on preempt desktop rt in kernel menu config, no patches yet
in armbian-config set the governor on performance , min and max @ 2400mhz but somehow armbianmonitor says 2400/1800mhz
Boot arg: isolcpus=5,7
Opened some glxgears and 4k youtube video and cpu stress on 6 cpu's
Kernel I compiled:
easyupload.io/q0xrfl
The following user(s) said Thank You: CarterKraft
Please Log in or Create an account to join the conversation.
30 Jan 2023 00:49 - 30 Jan 2023 02:00 #263199
by Bari
Replied by Bari on topic Can the OPI5 be Configured to Run LCNC?
Just FYI: The servo thread is the one of interest for use with Mesa over Ethernet, not the base thread. The same is true with Remora using SPI to connect to an external microcontroller. I believe the RK3588 has three (3) integrated Cortex M0 micros but I don't think that the register specs to connect to them is in the public or leaked docs.
u-boot should be configured to be at one set core frequency. It should not be jumping between core speeds as this causes latency jitter. The system gets halted for at least several hundred core clock cycles while it waits for the clock speed to stabilize and this shows up as a latency spike.
u-boot should be configured to be at one set core frequency. It should not be jumping between core speeds as this causes latency jitter. The system gets halted for at least several hundred core clock cycles while it waits for the clock speed to stabilize and this shows up as a latency spike.
Attachments:
Last edit: 30 Jan 2023 02:00 by Bari.
The following user(s) said Thank You: CarterKraft
Please Log in or Create an account to join the conversation.
30 Jan 2023 02:07 #263203
by royka
Replied by royka on topic Can the OPI5 be Configured to Run LCNC?
I've read about the base thread not being used for Mesa, I've included that one to see if it might even be usable for software stepping for as long as the MCU's are not in use.
I thought that setting the governor at performance would prevent it from scaling, but that's not enough?
The arch timer had also some interrupts at cpu 5 so perhaps if that one will be disabled on the isolated cpus the latency will improve, not sure yet how to implement that. Here it's explained how to do it on another SBC: community.nxp.com/t5/QorIQ/How-to-move-o...nterrupt/m-p/1046574
The legacy kernel is btw 5.10.110 and only found a rt patch for 5.10.109 was hoping it was close enough. That might be the reason it will not compile with these patches.
I thought that setting the governor at performance would prevent it from scaling, but that's not enough?
The arch timer had also some interrupts at cpu 5 so perhaps if that one will be disabled on the isolated cpus the latency will improve, not sure yet how to implement that. Here it's explained how to do it on another SBC: community.nxp.com/t5/QorIQ/How-to-move-o...nterrupt/m-p/1046574
The legacy kernel is btw 5.10.110 and only found a rt patch for 5.10.109 was hoping it was close enough. That might be the reason it will not compile with these patches.
The following user(s) said Thank You: CarterKraft
Please Log in or Create an account to join the conversation.
30 Jan 2023 03:51 #263207
by Bari
Replied by Bari on topic Can the OPI5 be Configured to Run LCNC?
If the specs to the Cortex-M0 micros become or already are available then Remora or the other OpiCNC project firmware might be ported to work with the RK3588. The stepgens would be on the M0 micros and a servo thread would be used to update them.
The Allwinner/Orangepi project allwincnc.github.io/index.html
The Allwinner/Orangepi project allwincnc.github.io/index.html
Please Log in or Create an account to join the conversation.
06 Feb 2023 19:59 #263864
by Bari
Replied by Bari on topic Can the OPI5 be Configured to Run LCNC?
Found the u-boot sources here for the Radxa Rock5 wiki.radxa.com/Rock5/dev/Debian
The Radxa Rock5 is very similar to the Opi5. I haven't found the sources for the Opi5 u-boot from orange Pi yet.
The Radxa Rock5 is very similar to the Opi5. I haven't found the sources for the Opi5 u-boot from orange Pi yet.
Please Log in or Create an account to join the conversation.
Time to create page: 0.110 seconds