Jump to content
XPEnology Community

TinyCore RedPill Loader (TCRP)


pocopico

Recommended Posts

administrator@NAS:/tmp$ ls -l r*
-rw------- 1 administrator users 65061 Jun  3 18:02 r8125.tgz
-rw-r--r-- 1 root          root      0 Jun  3 07:57 routerconf.lock
administrator@NAS:/tmp$ tar xvf r8125.tgz
r8125.ko
administrator@NAS:/tmp$ sudo insmod ./r8125.ko
Password:
administrator@NAS:/tmp$ lsmod | grep r81
r8125                 152345  0
r8168                 541039  0
r8169                  71172  0
mii                     4355  1 r8169
administrator@NAS:/tmp$ ifconfig
eth0      Link encap:Ethernet  HWaddr F4:6D:04:63:2E:FF
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:204207 errors:0 dropped:0 overruns:0 frame:0
          TX packets:180731 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:135120259 (128.8 MiB)  TX bytes:60731823 (57.9 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2115397 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2115397 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:289266752 (275.8 MiB)  TX bytes:289266752 (275.8 MiB)

 

in DSM no new interfaces...

Link to comment
Share on other sites

4 minutes ago, plizio said:

administrator@NAS:/tmp$ ls -l r*
-rw------- 1 administrator users 65061 Jun  3 18:02 r8125.tgz
-rw-r--r-- 1 root          root      0 Jun  3 07:57 routerconf.lock
administrator@NAS:/tmp$ tar xvf r8125.tgz
r8125.ko
administrator@NAS:/tmp$ sudo insmod ./r8125.ko
Password:
administrator@NAS:/tmp$ lsmod | grep r81
r8125                 152345  0
r8168                 541039  0
r8169                  71172  0
mii                     4355  1 r8169
administrator@NAS:/tmp$ ifconfig
eth0      Link encap:Ethernet  HWaddr F4:6D:04:63:2E:FF
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:204207 errors:0 dropped:0 overruns:0 frame:0
          TX packets:180731 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:135120259 (128.8 MiB)  TX bytes:60731823 (57.9 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2115397 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2115397 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:289266752 (275.8 MiB)  TX bytes:289266752 (275.8 MiB)

 

in DSM no new interfaces...


dmesg ? Did you find anything useful there ? 

Link to comment
Share on other sites

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

 

well as you see you can see /dev/sdc drive which is 373GB size ?  you cannot see this disk while installing ?

Yes, system has HDD 373Gb but DSM doesn't recognize it. I think DSM is looking HDD on ATA1 and ATA2, but my HHD located in ATA3.

ATA1 and ATA2 are dummy on motherboard. 

 

I have got mistake:

image.thumb.png.4e3c07fc84af1fac6214021268ee6dfc.png

 

DSM doesn't recognize correctly ATA1 and ATA2.

 

I have dmesg from Tiny core (attached in my post https://xpenology.com/forum/topic/53817-redpill-tinycore-loader/?do=findComment&comment=284768), but i can't find dmesg from DSM.

 

Thank you.

Link to comment
Share on other sites

10 minutes ago, Deniska said:

Yes, system has HDD 373Gb but DSM doesn't recognize it. I think DSM is looking HDD on ATA1 and ATA2, but my HHD located in ATA3.

ATA1 and ATA2 are dummy on motherboard. 

 

I have got mistake:

image.thumb.png.4e3c07fc84af1fac6214021268ee6dfc.png

 

DSM doesn't recognize correctly ATA1 and ATA2.

 

I have dmesg from Tiny core (attached in my post https://xpenology.com/forum/topic/53817-redpill-tinycore-loader/?do=findComment&comment=284768), but i can't find dmesg from DSM.

 

Thank you.

 

what dummy SATA means ? cant you just disable them ? also i want to see the dmesg from DSM not from TCRP 

Edited by pocopico
Link to comment
Share on other sites

Только что, pocopico сказал:

 

what dummy SATA means ? cant you just disable them ?

How i found in Internet - dummy port is disabled by vendor (AsRock). Maybe you can use these ports on another models motherboards on H570.

I can't manage these dummy ports:(.

Asrock H570-itx has 4 SATA ports and 2 M2 ports.

 

I see in dmesg that SATA port 0 (ATA1) and 1 (ATA2) is disable on motherboard (by vendor):
[    0.429214] ata1: DUMMY
[    0.429215] ata2: DUMMY
[    0.429220] ata3: SATA max UDMA/133 abar m2048@0x9fb22000 port 0x9fb22200 irq 125
[    0.429221] ata4: SATA max UDMA/133 abar m2048@0x9fb22000 port 0x9fb22280 irq 125
[    0.429223] ata5: SATA max UDMA/133 abar m2048@0x9fb22000 port 0x9fb22300 irq 125
[    0.429224] ata6: SATA max UDMA/133 abar m2048@0x9fb22000 port 0x9fb22380 irq 125

I think it's main reason of problem but sata_remap option didn't help me:(. 

 

Link to comment
Share on other sites

[  317.194692] r8125 2.5Gigabit Ethernet driver 9.006.04-NAPI loaded
[  317.195008] r8125 0000:03:00.0: enabling device (0100 -> 0103)
[  317.214260] r8125: This product is covered by one or more of the following patents: US6,570,884, US6,115,776, and US6,327,625.
[  317.216825] r8125  Copyright (C) 2021  Realtek NIC software team <nicfae@realtek.com>
                This program comes with ABSOLUTELY NO WARRANTY; for details, please see <http://www.gnu.org/licenses/>.
                This is free software, and you are welcome to redistribute it under certain conditions; see <http://www.gnu.org/licenses/>.
[  324.927573] <redpill/bios_shims_collection.c:53> mfgBIOS: nullify zero-int for VTK_GET_MICROP_ID
 

only this...

 

lspci -k shows this:

 

0000:03:00.0 Class 0200: Device 10ec:8125
        Subsystem: Device 10ec:0123
        Kernel driver in use: r8125
 

Edited by plizio
new infos
Link to comment
Share on other sites

9 minutes ago, plizio said:

[  317.194692] r8125 2.5Gigabit Ethernet driver 9.006.04-NAPI loaded
[  317.195008] r8125 0000:03:00.0: enabling device (0100 -> 0103)
[  317.214260] r8125: This product is covered by one or more of the following patents: US6,570,884, US6,115,776, and US6,327,625.
[  317.216825] r8125  Copyright (C) 2021  Realtek NIC software team <nicfae@realtek.com>
                This program comes with ABSOLUTELY NO WARRANTY; for details, please see <http://www.gnu.org/licenses/>.
                This is free software, and you are welcome to redistribute it under certain conditions; see <http://www.gnu.org/licenses/>.
[  324.927573] <redpill/bios_shims_collection.c:53> mfgBIOS: nullify zero-int for VTK_GET_MICROP_ID
 

only this...

 

lspci -k shows this:

 

0000:03:00.0 Class 0200: Device 10ec:8125
        Subsystem: Device 10ec:0123
        Kernel driver in use: r8125
 

Ok so the module loads and its listed with lspci -k -> GOOD !

 

Why the extension is not added ? thats another question for you. While on DSM, If you do the following, is r8125 listed there ?

 

sudo -s

 

cd /dev

mount synoboot1 /mnt

mkdir /tmp/custom

cd /tmp/custom

cat /mnt/custom.gz | cpio -idmv 

find . |grep -i r8125 

umount /mnt

 

 

 

Edited by pocopico
  • Like 1
Link to comment
Share on other sites

15 minutes ago, Deniska said:

How i found in Internet - dummy port is disabled by vendor (AsRock). Maybe you can use these ports on another models motherboards on H570.

I can't manage these dummy ports:(.

Asrock H570-itx has 4 SATA ports and 2 M2 ports.

 

I see in dmesg that SATA port 0 (ATA1) and 1 (ATA2) is disable on motherboard (by vendor):
[    0.429214] ata1: DUMMY
[    0.429215] ata2: DUMMY
[    0.429220] ata3: SATA max UDMA/133 abar m2048@0x9fb22000 port 0x9fb22200 irq 125
[    0.429221] ata4: SATA max UDMA/133 abar m2048@0x9fb22000 port 0x9fb22280 irq 125
[    0.429223] ata5: SATA max UDMA/133 abar m2048@0x9fb22000 port 0x9fb22300 irq 125
[    0.429224] ata6: SATA max UDMA/133 abar m2048@0x9fb22000 port 0x9fb22380 irq 125

I think it's main reason of problem but sata_remap option didn't help me:(. 

 

 

I think you will have better luck with 1621+ cause there you can specify the pcie path and the port number also. 

 

since its an AMD motherboard it will make sense also .I mistook X for H :P

 

You will have to edit the dtb manually. Once you have the loader built, I can guide you if you want. 

Edited by pocopico
  • Like 1
Link to comment
Share on other sites

1 minute ago, pocopico said:

 

I think you will have better luck with 1621+ cause there you can specify the pcie path and the port number also. 

 

since its an AMD motherboard it will make sense also .

 

H570 is an Intel chipset.

 

@Deniska Virtualization is also a possibility for you.

  • Like 1
Link to comment
Share on other sites

18 часов назад, flyride сказал:

Post the output of satamap, and also ls -la /sys/block from TinyCore.

Fdisk -l and dmesg aren't bad ideas either :-)

 

There is no need for driver extension for SATA controller as long as it is AHCI compliant.

 

Flyride, 

 

I've attached fdisk -l, dmesg and "ls -la /sys/block" from TinyCore.

 

Thank you!

 

fdisk-l.txt dmesg.txt sys_block.txt

Link to comment
Share on other sites

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

 

+1 , voting for virtual :D 

wow, it's new world for me:).

 

In common intel motherboards (H\X570)have problem with detection of SATA port in DSM, it's bad news. I don't think that intel has problem with it. 


Will i have any chance with DS920+ & DTS? 

I tried early DS920+ but NIC doesn't work properly. But now i know how add extension driver/modules for it and can try again. 

Thank you.

Link to comment
Share on other sites

1 minute ago, Deniska said:

wow, it's new world for me:).

 

In common intel motherboards (H\X570)have problem with detection of SATA port in DSM, it's bad news. I don't think that intel has problem with it. 


Will i have any chance with DS920+ & DTS? 

I tried early DS920+ but NIC doesn't work properly. But now i know how add extension driver/modules for it and can try again. 

Thank you.

 

You can try and let us know how it goes. Its a perfect solution with people that cannot fix the satamap issue. I will also try to see how sata_remap actually works.

  • Like 1
Link to comment
Share on other sites

If we figure out a way to stimulate/simulate these port failures in virtual, that would be super helpful.

If the dummy ports are not the first ports on the controller, at least we can short the controller and make it work.

 

I think I should add a scan for DUMMY in satamap and advise the user to consider another platform/alternative.

But also think that there are other failure modes that may be harder to detect than "DUMMY"

Link to comment
Share on other sites

12 minutes ago, pocopico said:

@flyride @Deniska

 

In hard cases like yours, i think that the models DS920 and DS1621 , that have their ports hardcoded in the dtb file will be the best options.

 

sata_remap should work cause the symbols are still there. I still have my genuine syno that uses sata_remap, so it must be there.

 

I think that a dead port will still fail with sata_remap as it is visible to the DSM installer.

 

We can short a controller with dummy ports in the middle or end of the port range with SataPortMap, but not as the first ports.  And unfortunately DiskSeqReverse is no longer in the kernel.

Link to comment
Share on other sites

39 minutes ago, pocopico said:

Ok so the module loads and its listed with lspci -k -> GOOD !

 

Why the extension is not added ? thats another question for you. While on DSM, If you do the following, is r8125 listed there ?

 

sudo -s

 

cd /dev

mount synoboot1 /mnt

mkdir /tmp/custom

cd /tmp/custom

cat /mnt/custom.gz | cpio -idmv 

find . |grep -i r8125 

umount /mnt

 

 

 

 

 cat ./custom.gz | cpio -idmv
.
usr
usr/lib
usr/lib/modules
usr/lib/modules/rp.ko
usr/sbin
usr/sbin/modprobe
exts
exts/exec.sh
exts/__README__.txt
exts/redpill-misc
exts/redpill-misc/lrz
exts/redpill-misc/lsz
exts/redpill-misc/install_rd.sh
exts/redpill-misc/ttyd
exts/redpill-misc/install-all.sh
exts/redpill-misc/install.sh
exts/redpill-boot-wait
exts/redpill-boot-wait/boot-wait.sh
exts/pocopico.r8169
exts/pocopico.r8169/check-r8169.sh
exts/pocopico.r8169/r8169.ko
exts/pocopico.r8169/mii.ko
3336 blocks

 

find . |grep -i r8125

 

no answer...

 

 

Link to comment
Share on other sites

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

If we figure out a way to stimulate/simulate these port failures in virtual, that would be super helpful.

If the dummy ports are not the first ports on the controller, at least we can short the controller and make it work.

 

I think I should add a scan for DUMMY in satamap and advise the user to consider another platform/alternative.

But also think that there are other failure modes that may be harder to detect than "DUMMY"

 

In my case 2 dummy ports are firstly:(. 

 

My plan is:

1) Try to add drivers for NIC for DS920+ and use DTS.

2) Try DS1621+.

3) Try to use virtualization (Proxmox) and DS3622sx.

  • Like 1
Link to comment
Share on other sites

Something to read: 

https://forums.servethehome.com/index.php?threads/pci-sata-controllers-and-dummy-unused-ports-on-linux.32649/

 

This reinforces the idea that if M.2 SATA SSD's were installed in those slots, everything will behave normally.

 

EDIT: This may also link back to hotplug.  Modern BIOS that supports hotplug vs. non-hotplug support, and port not set to hotplug appears to result in DUMMY on that port if there is no disk attached - a known behavior.  M.2 SATA ports might not be implemented with hotplug support in BIOS....

Link to comment
Share on other sites

1 час назад, Deniska сказал:

 

In my case 2 dummy ports are firstly:(. 

 

My plan is:

1) Try to add drivers for NIC for DS920+ and use DTS.

2) Try DS1621+.

3) Try to use virtualization (Proxmox) and DS3622sx.

 

I've started with second point:).

 

I have created loader with driver for i8125.

./rploader.sh ext v1000-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/r8125/rpext-index.json

It's part of building log:  

############################################################################################################################################################## 100.0%

[#] Extension redpill-misc index is already up to date
[#] Updating redpill-misc extension... [OK]
[#] Checking runtime for required tools... [OK]
[#] Updating ds1621p_42661 platforms extensions...
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/r8125/releases/ds1621p_42218.json to /home/tc/redpill-load/custom/extensions/_ex t_new_rcp.tmp_json
############################################################################################################################################################## 100.0%

[#] Filling-in newly downloaded recipe for extension pocopico.r8125 platform ds1621p_42661
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/r8125/releases/r8125-4.4.180plus-v1000.tgz to /home/tc/redpill-load/custom/exten sions/pocopico.r8125/ds1621p_42661/r8125-4.4.180plus-v1000.tgz
############################################################################################################################################################## 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/pocopico.r8125/ds1621p_42661/r8125-4.4.180plus-v1000.tgz file... [OK]
[#] Unpacking files from /home/tc/redpill-load/custom/extensions/pocopico.r8125/ds1621p_42661/r8125-4.4.180plus-v1000.tgz to /home/tc/redpill-load/custom/extensions/ pocopico.r8125/ds1621p_42661/... [OK]
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/r8125/src/check-r8125.sh to /home/tc/redpill-load/custom/extensions/pocopico.r81 25/ds1621p_42661/check-r8125.sh
############################################################################################################################################################## 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/pocopico.r8125/ds1621p_42661/check-r8125.sh file... [OK]
[#] Successfully processed recipe for extension pocopico.r8125 platform ds1621p_42661
[#] Downloading remote file https://github.com/RedPill-TTG/redpill-boot-wait/raw/master/recipes/universal.json to /home/tc/redpill-load/custom/extensions/_ext_new_rc p.tmp_json
############################################################################################################################################################## 100.0%

 

But NIC doesn't work. I can't seen any lights on ethernet port.

Now i don't image how add driver for intel r8125 NIC. Does you have any idea?

 

 

And i've seen messages about DTS:

[#] Extension redpill-misc for ds1621p_42661 platform is already up to date
[#] Updating ds1621p_42661 platforms extensions...  [OK]
Protocol spec without prior Class and Subclass spec at line 23281
Downloading dtc binary
############################################################################################################################################################## 100.0%
No cached dtb file found in /home/tc/custom-module/ds1621p.dtb
Found 1 disks and 5 nvme
Collecting disk paths
Found local disk sda with path 00:17.0, adding into internal_slot 1 with portnumber 2
Collecting nvme paths
Found local nvme nvme0n1 with path 00:1d.0,00.0, adding into m2_card 1
device node not found
Found local nvme |-nvme0n1p1 with path , adding into m2_card 3
device node not found
Found local nvme |-nvme0n1p2 with path , adding into m2_card 3
device node not found
Found local nvme |-nvme0n1p3 with path , adding into m2_card 3
device node not found
Found local nvme `-nvme0n1p4 with path , adding into m2_card 3
Patching USB to include your loader. Loader found in 1-4 port
Converting dts file : ds1621p.dts to dtb file : >ds1621p.dtb
Copying patched dtb file ds1621p.dtb to /home/tc/redpill-load/custom/extensions/redpill-dtb-static/ds1621p_42661/model_ds1621p.dtb -> OK ! File copied and verified !
[#] Checking runtime for required tools... [OK]
[#] Updating extensions...

[#] Checking runtime for required tools... [OK]
[#] Adding new extension from https://github.com/pocopico/rp-ext/raw/main/redpill-boot-wait/rpext-index.json...
[#] Downloading remote file https://github.com/pocopico/rp-ext/raw/main/redpill-boot-wait/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index. tmp_json
############################################################################################################################################################## 100.0%
[OK]
 

When NIC work i will test HDD recognize.

Thank you! 

Link to comment
Share on other sites

9 минут назад, flyride сказал:

@Deniska one long shot is to check your BIOS and check if there is a hotplug option for the M.2 slots.  I know it sounds stupid for a M.2 slot, but if you can turn hotplug on, may fix the issue.

In my case i should test any idea, thank you for it.


I've checked m2 options and it doesn't have "hot plug" option for M2 slot. 
For HDD "hot plug" option is enable. 

Thank you!

Link to comment
Share on other sites

19 minutes ago, Deniska said:

In my case i should test any idea, thank you for it.


I've checked m2 options and it doesn't have "hot plug" option for M2 slot. 
For HDD "hot plug" option is enable. 

Thank you!


you can also turn hddhotplug on DSM to on. Change while on your GRUB boot option, press e and change HddHotplug =0 to HddHotplug =1  

 

this worked for another member also 

  • Like 1
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...