Jump to content
XPEnology Community

TinyCore RedPill Loader (TCRP)


pocopico

Recommended Posts

On 9/17/2022 at 2:56 AM, -iliya- said:

yes i try it

"internalportcfg": "0xfffffffff",
"usbportcfg": "0x000000000",
"maxdisks": "36",

no result :(

synoinfo.conf in /etc and /etc.defaults has a equal from user_config.json

 

 

Hi iliya

 

I'm in a somewhat related situation.  I have 20 disks physically connected to my system through a HBA (8 port LSI 9220-8i and a 24 port expander combo.  In total I can connect up to 24 disks (linking the HBA and expander will sacrifice 4 ports per side).  

 

No matter what I do however, my xpenology will also recognize up to 16 disks.  I have tried different loaders including DS3622xs+, DS918+, DS920+, all show the same problem.  I tried editing synoinfo.conf at both /etc/ and /etc.default/, however the values of 'internalportcfg' and 'maxdisk' would also revert back to '0xffff' and '16' when I do a reboot.  I have also tried modifying user_config on the usb during a fresh install, and still the same thing happens.  

 

Since you have successfully connected 20 disks, may I ask how you did it?  Was there any special procedure?  Thanks.

Link to comment
Share on other sites

Hello everyone, surely the topic has already been dealt with in other points, but I can't find it, the thread is too long, I've been trying to build the charger for days and days, I'm doing some tests in v.m. mode. in anticipation once I have learned well to build one for bare metal mode, in the construction phase it does not give me any error but when I go to open it in the browser it always gives me this error, I can not get out of it, does anyone know how to help me ??? ? thank you

 

 

 

image.thumb.png.16e006bcb5e20450016475917d17ee67.png

Link to comment
Share on other sites

14 hours ago, rayy said:

 

Hi iliya

 

I'm in a somewhat related situation.  I have 20 disks physically connected to my system through a HBA (8 port LSI 9220-8i and a 24 port expander combo.  In total I can connect up to 24 disks (linking the HBA and expander will sacrifice 4 ports per side).  

 

No matter what I do however, my xpenology will also recognize up to 16 disks.  I have tried different loaders including DS3622xs+, DS918+, DS920+, all show the same problem.  I tried editing synoinfo.conf at both /etc/ and /etc.default/, however the values of 'internalportcfg' and 'maxdisk' would also revert back to '0xffff' and '16' when I do a reboot.  I have also tried modifying user_config on the usb during a fresh install, and still the same thing happens.  

 

Since you have successfully connected 20 disks, may I ask how you did it?  Was there any special procedure?  Thanks.

Hi guys, to add something to this topic, I put together (using a single hdd) a 24 port test system 4 on board, 4*4 and 1*4 add on cards (no further pci slots on the mobo) , set maxdisk to 24 and internalportcfg to 0xffffff in user_config.json. Booted with hdd on onboard sata 1, telnet to check synoinfo.conf (both versions) and they were 'updated' with those values, and a timestamp of the boot time. Moved hdd to port 24, booted successfully, telnet, synoinfo.conf still with 24/0xffffff and the file timestamp was the new boot time. So, looks like values in user_config.json are pushed though to the .conf files each boot, which makes sense and so no reason to think that with the right values in there for a large array wont 'stick'

Link to comment
Share on other sites

2 часа назад, sbv3000 сказал:

Hi guys, to add something to this topic, I put together (using a single hdd) a 24 port test system 4 on board, 4*4 and 1*4 add on cards (no further pci slots on the mobo) , set maxdisk to 24 and internalportcfg to 0xffffff in user_config.json. Booted with hdd on onboard sata 1, telnet to check synoinfo.conf (both versions) and they were 'updated' with those values, and a timestamp of the boot time. Moved hdd to port 24, booted successfully, telnet, synoinfo.conf still with 24/0xffffff and the file timestamp was the new boot time. So, looks like values in user_config.json are pushed though to the .conf files each boot, which makes sense and so no reason to think that with the right values in there for a large array wont 'stick'

yes, user_config logically overwrites synoinfo on every boot - after all, the essence of the bootloader is to patch files on the fly during boot.
But unfortunately this does not solve the problem in any way that with 20+ internal HDDs, when you connect a USB HDD, it appears as an internal and not as an external one.

Link to comment
Share on other sites

23 minutes ago, -iliya- said:

yes, user_config logically overwrites synoinfo on every boot - after all, the essence of the bootloader is to patch files on the fly during boot.
But unfortunately this does not solve the problem in any way that with 20+ internal HDDs, when you connect a USB HDD, it appears as an internal and not as an external one.

Ive not tested in the way you have, but in your situation a system with <20 drives the USB HDD mounts 'normally' but > 20 it mounts as the n+1 internal HDD? If so then I wonder if its worth testing both scenarios, and checking the dmesg output for the device being mounted and any differences in the 'mount' process. Another thought is the usb hdd adapter hardware, maybe some weird situation with buses adapters etc whereby > 20 drives cant allocate resources or read the usb hdd command set properly and so it 'defaults' to mounting as a 'fixed' internal drive?

Link to comment
Share on other sites

1 минуту назад, sbv3000 сказал:

but in your situation a system with <20 drives the USB HDD mounts 'normally' but > 20 it mounts as the n+1 internal HDD?

not correct - depends on how many disks are actually connected
if maxdisk = 30 and if out of 26, then USB is mounted on 27

and so on until all maxdisk are filled with real disks, then USB is mounted as External

maxdisk 26

connected hdd 6

USB mount as 21

_____________

maxdisk 26

connected hdd 26

USB mount as external

_____________________

maxdisk 36

connected hdd 30

USB mount as 31

__________________

maxdisk 30

connected hdd 30

USB mount as external

Link to comment
Share on other sites

4 hours ago, sbv3000 said:

Hi guys, to add something to this topic, I put together (using a single hdd) a 24 port test system 4 on board, 4*4 and 1*4 add on cards (no further pci slots on the mobo) , set maxdisk to 24 and internalportcfg to 0xffffff in user_config.json. Booted with hdd on onboard sata 1, telnet to check synoinfo.conf (both versions) and they were 'updated' with those values, and a timestamp of the boot time. Moved hdd to port 24, booted successfully, telnet, synoinfo.conf still with 24/0xffffff and the file timestamp was the new boot time. So, looks like values in user_config.json are pushed though to the .conf files each boot, which makes sense and so no reason to think that with the right values in there for a large array wont 'stick'

 

Yes I can also confirm.  After your reply to my other post, I have also investigated and verified that the values in synoinfo.conf gets overwritten by the ones in user_config.json.  Thanks a lot.

Link to comment
Share on other sites

11 hours ago, -iliya- said:

i'm use tinycore-redpill loader and before build i'm edit user_config.json to

   "internalportcfg": "0xfffffffff",

    "maxdisks": "36",

Thanks.  I think editing user_config.json after build should also work too.  Just boot into tinycore builder and ssh/telnet to change the value of these two parameters.  

A note for anyone else who might be reading this, during initial build, if you do a ./rploader.sh fullupgrade, a new user_config.json gets downloaded and will contain the original values.  So if you want to adjust these, make sure it's done after doing fullupgrade.  

Link to comment
Share on other sites

3 часа назад, sbv3000 сказал:

Ive not tested in the way you have, but in your situation a system with <20 drives the USB HDD mounts 'normally' but > 20 it mounts as the n+1 internal HDD? If so then I wonder if its worth testing both scenarios, and checking the dmesg output for the device being mounted and any differences in the 'mount' process. Another thought is the usb hdd adapter hardware, maybe some weird situation with buses adapters etc whereby > 20 drives cant allocate resources or read the usb hdd command set properly and so it 'defaults' to mounting as a 'fixed' internal drive?

i did more tests
by default, usbportcfg is not specified in the bootloader.
but in etc/synoinfo.conf
specified usbportcfg="0x300000"
which just corresponds to 21 and 22 ports
0011 0000 0000 0000 0000 0000.
But for some reason if specified in user_conf.json
usbportcfg= greater than 21 port, this setting will be written to etc/synoinfo.conf but is actually ignored.

I also tried editing etc/synoinfo.conf and etc.default/synoinfo.conf
usbportcfg="0xc000000000"
but USB is still mounted on port 21.

I really hope that one of the developers will help with this - @pocopico @flyride ?

Link to comment
Share on other sites

9 hours ago, -iliya- said:

i did more tests
by default, usbportcfg is not specified in the bootloader.
but in etc/synoinfo.conf
specified usbportcfg="0x300000"
which just corresponds to 21 and 22 ports
0011 0000 0000 0000 0000 0000.
But for some reason if specified in user_conf.json
usbportcfg= greater than 21 port, this setting will be written to etc/synoinfo.conf but is actually ignored.

I also tried editing etc/synoinfo.conf and etc.default/synoinfo.conf
usbportcfg="0xc000000000"
but USB is still mounted on port 21.

I really hope that one of the developers will help with this - @pocopico @flyride ?

lol I did some more tests too (but just config settings) :) The default usbportcfg seems to be 0x8700, I look at two of my 'standard' boxes, ds3615-42661, I added a line to user_config.json of  "usbportcfg": "0x000000", rebuilt and on checking via telnet both the etc and etc/defaults were updated to this, however, it still doesn't solve the 'mount on first free sata port' that you are seeing. I'll see if I can find an old usb hdd adapter to play with and come back to you on that.

Link to comment
Share on other sites

2 hours ago, sbv3000 said:

lol I did some more tests too (but just config settings) :) The default usbportcfg seems to be 0x8700, I look at two of my 'standard' boxes, ds3615-42661, I added a line to user_config.json of  "usbportcfg": "0x000000", rebuilt and on checking via telnet both the etc and etc/defaults were updated to this, however, it still doesn't solve the 'mount on first free sata port' that you are seeing. I'll see if I can find an old usb hdd adapter to play with and come back to you on that.

ok so what I determined with my test setup is;

the usb boot disk mounts (hidden) as sd25

a usb hdd mounts as sd26 but shows up as internal hdd disk 21 - as seen and never less than 21

if a disk is attached to port 21 the usb hdd mounts as sd26 but appears as internal disk 22 etc etc

i'm out of ideas :)

 

Link to comment
Share on other sites

20 hours ago, sbv3000 said:

ok so what I determined with my test setup is;

the usb boot disk mounts (hidden) as sd25

a usb hdd mounts as sd26 but shows up as internal hdd disk 21 - as seen and never less than 21

if a disk is attached to port 21 the usb hdd mounts as sd26 but appears as internal disk 22 etc etc

i'm out of ideas :)

 

 

@-iliya- @sbv3000

 

If i recall correctly its a combination of the three :

 

"internalportcfg" : "0xffff",

"maxdisks" : "16",

"usbportcfg="0xc000000000"

 

and it should match your setup. 

 

maxdisks and internalportcfg refer to internal disks. If this overlaps then USB disks will be shown and treated as internal.

 

 

Link to comment
Share on other sites

On 9/19/2022 at 4:03 PM, pocopico said:

 

@-iliya- @sbv3000

 

If i recall correctly its a combination of the three :

 

"internalportcfg" : "0xffff",
"maxdisks" : "16",
"usbportcfg="0xc000000000"

 

and it should match your setup. 

 

maxdisks and internalportcfg refer to internal disks. If this overlaps then USB disks will be shown and treated as internal.

 

 

the problem is that if maxdisk > 21
"internalportcfg" set to match maxdisk,
then the usbportcfg parameter doesn't seem to work - yes, it changes the value in synoinfo, but in reality it doesn't affect anything.
As I wrote on page 169 - if I set

"internalportcfg": "0x3fffffff",
"usbportcfg": "0xc000000000",
"maxdisk": "30"


but do not connect all 30 HDD, USB HDD will be connected to ports 21 and higher as internal.

Link to comment
Share on other sites

8 hours ago, -iliya- said:

the problem is that if maxdisk > 21
"internalportcfg" set to match maxdisk,
then the usbportcfg parameter doesn't seem to work - yes, it changes the value in synoinfo, but in reality it doesn't affect anything.
As I wrote on page 169 - if I set
     "internalportcfg": "0x3fffffff",
     "usbportcfg": "0xc000000000",
     "maxdisk": "30"
but do not connect all 30 HDD, USB HDD will be connected to ports 21 and higher as internal.


Oh, now I better understand the issue.. I always thought that internalportcfg was enough. I really have no clue how to fix that. Maybe you could limit that with SataPortMap ?

Edited by pocopico
Link to comment
Share on other sites

4 минуты назад, pocopico сказал:


Oh, now I better understand the issue.. I always thought that internalportcfg was enough. I really have no clue how to fix that. Maybe you could limit that with SataPortMap ?

How?

I would like to create a server with 30 disks, but not all disks can be installed at once, as I plan to buy more and gradually,
But I also need to use the USB HDD to copy from external to internal drives.
But for now, for this to work, I need to limit maxdisk and internalportcfg to the number of connected HDDs, then change user_config every time I want to add a new disk.
There is also a risk when rebooting Xpeno with a USB HDD connected - that it will take the place of the internal HDD and the RAID will stop working

Link to comment
Share on other sites

11 hours ago, -iliya- said:

How?

I would like to create a server with 30 disks, but not all disks can be installed at once, as I plan to buy more and gradually,
But I also need to use the USB HDD to copy from external to internal drives.
But for now, for this to work, I need to limit maxdisk and internalportcfg to the number of connected HDDs, then change user_config every time I want to add a new disk.
There is also a risk when rebooting Xpeno with a USB HDD connected - that it will take the place of the internal HDD and the RAID will stop working

 

The ./rploader.sh satamap command tries to figure out the correct values. 

Link to comment
Share on other sites

On 9/20/2022 at 3:17 PM, pocopico said:

 

Also please verify that synoinfo "HddHotplug" is set to "yes",  on your user_config.json synoinfo section 

i have this settings

"synoinfo": {
"support_bde_internal_10g": "no",
"support_disk_compatibility": "no",
"support_memory_compatibility": "no"

 

need add "HddHotplug": "yes" ?

Link to comment
Share on other sites

On 9/20/2022 at 3:20 PM, -iliya- said:

i have this settings

"synoinfo": {
"support_bde_internal_10g": "no",
"support_disk_compatibility": "no",
"support_memory_compatibility": "no"

need add "HddHotplug": "yes" ?

 

You can try. With HddHotplug DSM always assumes there are drives that will be occupied. 

Link to comment
Share on other sites

On 9/19/2022 at 12:26 PM, -iliya- said:

How?

I would like to create a server with 30 disks, but not all disks can be installed at once, as I plan to buy more and gradually,
But I also need to use the USB HDD to copy from external to internal drives.
But for now, for this to work, I need to limit maxdisk and internalportcfg to the number of connected HDDs, then change user_config every time I want to add a new disk.
There is also a risk when rebooting Xpeno with a USB HDD connected - that it will take the place of the internal HDD and the RAID will stop working

Hi iliya

 

Can you please tell me which user_config file do you edit?  I would like to know its location on the loader USB.  Thanks.

Link to comment
Share on other sites

9 hours ago, rayy said:

Hi iliya

 

Can you please tell me which user_config file do you edit?  I would like to know its location on the loader USB.  Thanks.

you can make the edits to user_config.json before the build with TCRP. If I were in your situation I would create a config/boot disk for your 'base' build then rebuild, recreating satamap and port configs for each of the disk expansion phases. this would also limit the chance of usb hdd appearing as an internal disk, but maybe a better option is to unplug it before boot :)

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...