Jump to content
XPEnology Community

Automated RedPill Loader (ARPL)


fbelavenuto

Recommended Posts

17 minutes ago, JoseManuel7199 said:

Hi, i make a xpenology with arpl, but when i give it boot loader, i can't find my server

 

My post below probably wasn't very clear to for who it was, but you can use it too, to help you figure out wat the issue might be.

 

@Derex and @royeiror this was for you I guess...

 

On 12/22/2022 at 2:29 PM, idaanx said:

Could you guys post a list of PCI devices?

  • Start the ARPL configurator.
  • Use ssh to get into the device and type 'lspci -nnk' (without quotes) and copy the output.
  • Or with a monitor and keyboard connected to the device type 'lspci -nnk > /mnt/p1/lspci.txt' (without qoutes), then type 'poweroff' and unplug the flash drive when it's off. Plug in the flash into your main computer and your should see the lspci.txt file.

 

Link to comment
Share on other sites

News with my build. I have upgraded the CPU to an Intel Xeon E3-1265L v3.

 

The results with ARPL DS3622xs+ were very bad, as with the previous CPU.

I switched to ARPL DS3617xs and couldn't even get access via IP.

I switched to the DS3615xs and the results were about 40% better, but still far from where I should be.

 

Finally I did a migration with TCRP 0.9 DS920+ and magic happened. The result is perfect, even better than expected.

 

https://browser.geekbench.com/v5/cpu/19560150

 

The next test seems obvious, try ARPL DS920+ and compare. Well, that's what I did and, surprise, again we weighed in on the results.

 

The conclusion in my case seems clear, ARPL has some kind of performance problem in some of its builds with certain hardware.

 

I think it should be revised for future updates because this performance difference is very noticeable. With TCRP I notice the system much more agile, as it should be with the hardware I have.

 

 

  • Thanks 1
Link to comment
Share on other sites

On 12/17/2022 at 5:46 PM, idaanx said:

 

One way is using Docker, but I run it mostly just straight from ssh, download, unzip and starting the benchmark with:

 

wget https://cdn.geekbench.com/Geekbench-5.4.6-Linux.tar.gz && tar xf Geekbench-5.4.6-Linux.tar.gz && ./Geekbench-5.4.6-Linux/geekbench5

ssh to dsm box and run 

  • Thanks 1
Link to comment
Share on other sites

Worked great on HP g3 800 sff baremetal with 918+

1)What is the procedure with the pat files. Does aprl do this for us now or do we have to download base OS and or update file 300 meg vs 34 meg? and use synology assistant to install

2)do we still forego all automatic updates in the setup screens as updates will bork the system?

Edited by dasbooter
Link to comment
Share on other sites

7 hours ago, Altaram said:

News with my build. I have upgraded the CPU to an Intel Xeon E3-1265L v3.

Thanks for the info.

I decided to run tests on my 2 systems (running old ARPL):

  1. HP Microserver Gen8, Intel Xeon E3-1265L v2, ARPL v0.4alpha4. Geekbench score is above average for the CPU, so good on this one - https://browser.geekbench.com/v5/cpu/19568279
  2. Supermicro MiniServer X10SDV-TLN4F, Intel Xeon D-1541, ARPL v0.4alpha6. Geekbench score is about 25% of the average, so really bad (and this is my main server that runs windows VMs - and it feels really slow). https://browser.geekbench.com/v5/cpu/19568321

I'm now going to try latest ARPL on the Supermicro and see what happens.

  • Thanks 1
Link to comment
Share on other sites

tested with arpl 1.03 because all other versions not correct running and can confirm the same i will further test with tinycore and final with DSM 6 1.03b 3617

and the fastest is the oldest kernel maybe this is the case ?

 

System HP Gen8 Microserver I3 3240 CPU  16GB RAM 1TB SSD Volume1 4x6TB Raid 0 Volume2

ARPL 3622

https://browser.geekbench.com/v5/cpu/19571457

Linux 4.4.180+ x86_64

348

Single-Core Score

806

Multi-Core Score

 

ARPL 3615

https://browser.geekbench.com/v5/cpu/19571741

Linux 3.10.108 x86_64

719

Single-Core Score

1609

Multi-Core Score

 

ARPL 920

https://browser.geekbench.com/v5/cpu/19572036

Linux 4.4.180+ x86_64

351

Single-Core Score

800

Multi-Core Score

 

ARPL 3617

https://browser.geekbench.com/v5/cpu/19572279

Linux 4.4.180+ x86_64

348

Single-Core Score

801

Multi-Core Score

Edited by nemesis122
Link to comment
Share on other sites

and final i can confirm the same sometimes install is fine but after reboot kernel panic with my gen8 and only arpl 1.03b is the best loader no issue and the same issue is also with arc loader which is based on Arpl

On 12/16/2022 at 7:21 PM, vasiliy_gr said:

New investigation. Sorry - without pictures.

Lets start with history. I installed beta3 (previously was tcrp). No problems except hibernation. And on beta3 I can't force my hdd-s hibernate at all.

So later I installed from internal arpl upgrade menu version beta6. There were some issues with kernel panic, but they could be solved by DSM reboot. Soon I got beta7, so I don't know much on beta6. I installed beta7 from beta6 (that was installed from beta3) internally through menu.

And all above I did on four NAS-es wih very similar characteristics. All of them have Proxmox, 12th generation of Intel CPU-s and Z690 m/b-s from Asus with 64 or 128 GB of RAM (minus something for Proxmox), disabled SATA controller, 9300 or 9400 SAS HBA instead. Also all of them are DS3622xs+ with the latest DSM. And historicaly they had finally beta7. The new part is only about one NAS.

 

At first I tried to install new versions internally. After bad results with upgrade procedure, I downloaded images from github, made some settings and tried DSM. My settings: 9p, lsutil - in Addon menu, SataPortMap=18 and DiskIdxMap=1B00 in Cmdline menu. And of course previously - DS3622xs+, latest/upper DSM, random SN. Then - build loader - boot.

 

beta3 - no problems at all. But no hibernation at all.

beta4 - no network, only localhost available.

beta5 - no "Boot" item in menu.sh after building DSM kernel. So I did exit and reboot manually. I saw grub menu but it refused to boot beyond red lines. So no DSM here too.

beta6 - it was the second best result after beta3... It loaded DSM as restore session. I did restore. It rebooted. And - kernel panic...

beta7 - kernel panic.

beta8 - kernel panic.

beta9 - kernel panic.

 

To some up: the last working loader in my configuration is beta3. All loaders above produce unbootable DSM. There may be some way to produce good ARPL above beta3 - using upgrade menu. For example, I managed to do upgade from beta3 to beta6 and later to beta7. But i can't reproduce it, as upgrade menu only upgrades to latest version. And beta8/beta9 produce kernel panic after upgade from beta3 and beta6.

So now I have beta3 on only one NAS where I can study hibernate problem (as I have SAS hdd-s there with inverted led logic). And I have beta7 on other NAS-es - but I can't reproduce the way I got this version.

 

Edited by nemesis122
Link to comment
Share on other sites

12 hours ago, vbap said:

Thanks for the info.

I decided to run tests on my 2 systems (running old ARPL):

  1. HP Microserver Gen8, Intel Xeon E3-1265L v2, ARPL v0.4alpha4. Geekbench score is above average for the CPU, so good on this one - https://browser.geekbench.com/v5/cpu/19568279
  2. Supermicro MiniServer X10SDV-TLN4F, Intel Xeon D-1541, ARPL v0.4alpha6. Geekbench score is about 25% of the average, so really bad (and this is my main server that runs windows VMs - and it feels really slow). https://browser.geekbench.com/v5/cpu/19568321

I'm now going to try latest ARPL on the Supermicro and see what happens.

 

There is definitely a huge inconsistency with different hardware versions using ARPL. The results you get with your server with the Xeon D-1541 are very bad while the ones you get with the G8 are in adequate performance.

 

Try with another version of ARPL (I did all my tests with the latest one) and with TinyCore.

Link to comment
Share on other sites

with arpl version 1.03b this is a xeon 1246v2 cpu

3622

https://browser.geekbench.com/v5/cpu/19577271

221

Single-Core Score

964

Multi-Core Score

 

with arpl 1.03b

3615

https://browser.geekbench.com/v5/cpu/19578614

1040

Single-Core Score

3899

Multi-Core Score

 

 

this is a huge  different  in VMM with virtual Maschines :-(

 

 

Edited by nemesis122
typo
Link to comment
Share on other sites

Sorry to keep you all waiting, I was away from the computer for a few days.

 

I have done a lot of test on this in the last few weeks, pretty sure I know what is going on.

 

Let me try to explain what is happening...

 

The issue
The simple answer is that the system is stuck in either a low performance mode (to save energy), this is the case with ARPL. The opposite is true for TCRP, in which it is stuck in a higher frequency mode.

 

The core of the issue lies in an add-on called misc. This add-on performs a couple of checks about the CPU the disable certain kernel features, to prevent a crash if not available. One of them is checking for the ability of the CPU to perform performance scaling. In other words it's checking for what Intel calls SpeedStep, don't know what the AMD calls this feature.

 

The performed check doesn't work like intended and is flawed in my opinion. It checks for features in a device directory, which don't exist at that point yet. The result of this is that the kernel module called acpi-cpufreq is not loaded. Once loaded the directory is populated. This issue was previously reported, I guess the consequence wasn't realised.

 

820854304_cpufreqmissing.thumb.png.0ad3821f8088d9061579726d7b24baed.png

 

This acpi-cpufreq module manages performance scaling with a governor, there is more than 1 but the default governor on the models I've tested is called performance. When there is no load the governor scales the CPU down to save energy, and scales up again when there is a need for it.

 

All models  that include the misc add-on are effected by this missing module, even the 3615xs. Although it loads the acpi-cpufreq through another kernel module called mperf, this results in a normal experience. It might be possible that different models use different governors, but once the real issue is fixed it loads the preferred governor anyway.

 

Loader differences
Why is there a difference between the loaders? I'm not 100% sure about this, but I have a very plausible idea. Since the DSM system, doesn't start by itself on anything but Synology's hardware, we need a loader to perform a couple of steps, before it turns over to DSM. These loaders, ARPL, TCRP or Jun are by them selfs systems with its own kernel. This means the loader manages this performance scaling and then turns it over to DSM.

 

The difference in performance between ARPL and TCRP might be the result of this. The ARPL loader sets the performance scaling into the userspace governor, with the minimum frequency, once in DSM and unable to scale it up because of the missing kernel module, the result is the low performance. I've force ARPL into a higher frequency and loaded DSM and the result was the higher stuck frequency in DSM.

 

TCRP starts with a different governor and seems ok, but also has the missing kernel and the result is it doesn't scale down. When using TCRP withfriend it has the same low performance as ARPL, which proves this even more. On a real Synology or even perfectly working XPEnology NAS it might seem it not scaling, but it definitely is. You just need to look in the right place.

 

Fixing the issue
It's not very hard to fix this issue. There a several ways of doing this, the best way is to put in place better checks in the misc add-on so everyone benefits. I have a couple of ideas for this but I need @pocopico and @fbelavenuto to give me a better idea why it was implemented.

 

Right now I think it's really just needed on hypervisors, where I replicated the issue with a crash. Since the host of the VM manages the CPU, there is no performance scaling inside the VM and all modern CPUs should be able to do so when running bare metal.

 

Temporary fix
Right now I would suggest to go with a temporary fix (for advanced users only), which needs to be re-applied once restarted. This has the benefits of getting things up again, might there be a crash on your system, which this check in misc is trying to prevent.

 

This needs to be run in the shell as root, if you don't know how to do this, I don't think this is for you right now. I have done my testing on an isolated drive, with ARPL but TCRP should work too.

 

If you do this make sure you have an idea what you are doing, there is always a risk of losing data if something goes wrong.

 

modprobe acpi-cpufreq && echo "performance" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor


The modprobe loads the kernel module and on success it forces all the governor into performance mode.

 

Once loaded you can check if you get an output.

 

grep . /sys/devices/system/cpu/cpu0/cpufreq/*

 

 

Hope you guys find this helpful, and appreciate the work I have done. Aswell as what the people working on these loaders do, mistakes happen, please don't blame anyone.

 

Edited by idaanx
  • Like 4
  • Thanks 5
Link to comment
Share on other sites

Forgot to add some things.

I've tested this on 2 systems, my main board used as a NAS with the N3150. The other test system was a small Dell with a i3-6100T. Although I can verify the kernel module isn't loaded on both, the i3-6100T also works without it. I'm not sure why that is, might be the BIOS is handeling the scaling all the time or certain newer chips have this build-in. Even forcing a frequency scale doesn't have an effect and it's always just bouncing around the spectrum.

 

Another fix I just remembered
Turning off SpeedStep in combination with C-state C7 (the exact state might depend on your motherboard), should give you at least the base frequency of your CPU since it's not able to scale down. This is something I've found sometime ago, but wasn't good enough for me. This is also more of a temporary fix, again a stuck frequency and more power draw.

  • Thanks 1
Link to comment
Share on other sites

8 hours ago, apriliars3 said:

Is there any usb ethernet adapter that works with DSM and arpl or redpill? I hsve one pc with issue lan and need other pci ethernet or usb ethernet. Thanks.

 

UGREEN adaptador Ethernet USB C tipo C a Ethernet para MacBook Pro, Samsung S20, S10, S9, Note10, tarjeta de red tipo C, USB C, Ethernet, RJ45|Tarjetas de red| - AliExpress

 

If you have a free PCI slot I would suggest some Intel NIC that uses the e1000e driver like the Intel Gigabit CT Adapter. Can be found on eBay, Amazon, Aliexpress and others. Got mine for around €15 a few years ago. These USB NICs may work but probably use some kind of shitty Realtek chip, turned my build-in Realtek off because of the issues it gave me.

 

What kind of NIC do you have now?

  • Thanks 1
Link to comment
Share on other sites

8 hours ago, nemesis122 said:

Do you think this performance issue is  only related to ARPL or also to Tinycore ?

I think @idaanx testing is sufficiently comprehensive... hopefully loader devs can address in the new year.

 

For my own testing, on my supermicro server, I could not get latest ARPL (1.0b9) or Tinycore (0.9.3) to work. With ARPL, my NICs would disappear from the router after DSM booted, and DSM not reachable. Tinycore, NICs would show in router with correct IPs but again DSM not reachable (not even ssh).

ARPL 1.03b worked fine, but suffers from performance issue.

  • Thanks 1
Link to comment
Share on other sites

3 hours ago, idaanx said:

If you do this make sure you have an idea what you are doing, there is always a risk of losing data if something goes wrong.

 

modprobe acpi-cpufreq && echo "performance" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

 

I am game, and went ahead with this on my Supermicro server, running ARPL 1.0b3 bare metal.

And, well, my geekbench multicore score has been tripled (https://browser.geekbench.com/v5/cpu/19587925) - still a bit below average, but already my VMM performance is much much better.

 

I executed the above after shutting down my VMs in VMM, but DSM was still running. Ran geekbench, then started up my VM again from DSM.

 

Thanks @idaanx @pocopico @fbelavenuto - hope you all enjoy the the festive season :)

 

  • Like 2
Link to comment
Share on other sites

Intel Core i3-3240

https://browser.geekbench.com/v5/cpu/19583809

With Tinycore Mshell with friend 3622xs

350

Single-Core Score

787 Multi-Core Score

 

Intel Core i3-3240

https://browser.geekbench.com/v5/cpu/19571457

with ARPL 3622xs

348

Single-Core Score

806

Multi-Core Score

 

Intel Core i3-3240

ARPL JUN MOD 3615xs

https://browser.geekbench.com/v5/cpu/19585067

717

Single-Core Score

1609

Multi-Core Score

 

Hi Thank you all for your answer i can confirm 3622xs with ARPL 1.03 and TCRP with friend there is the same performance lost.

But with 3615 ARPL 1.03 is doubling the performance there is a comsmetic issue under Info CPU clock rate CPU it shows 800MHZ with a Xeon 1246v2 also after CPU Info is can i change this manuall?

@idaanxthank you very much or for your analyse .

I have checked what is inside in this Loader 3615 which has the double performance and also this redpill-misc addon is inside...?

Happy New Year @ all :-)

 

 

misc.png

Edited by nemesis122
Link to comment
Share on other sites

10 hours ago, idaanx said:

 

If you have a free PCI slot I would suggest some Intel NIC that uses the e1000e driver like the Intel Gigabit CT Adapter. Can be found on eBay, Amazon, Aliexpress and others. Got mine for around €15 a few years ago. These USB NICs may work but probably use some kind of shitty Realtek chip, turned my build-in Realtek off because of the issues it gave me.

 

What kind of NIC do you have now?

 

I can buy this nic ethernet. Is it compatible? I think so. 

 

Intel PRO1000 PT Dual Port Server Adapter Product Specifications

 

Is for a old pc socket 775 that freeze with actual nic, but if disabled internal nic and use only wifi, I test it that no freeze.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...