Jump to content
XPEnology Community

TinyCore RedPill Loader (TCRP)


pocopico

Recommended Posts

40 minutes ago, phone guy said:

On this nas box, in dsm623 jun104b loader both nic lan ports are realtek. One is on the PCI bus and one is USB bus, I think. Both work 100% (again dsm623jun104b).

 

In dsm7 with rp046 loader, only 1 realtek nic lan port is working. (both ports work while in tinycore, and both have valid ip's while booted into tinycore) after building the apollolake loader, and installing and booting to dsm7, one 1 nic lan port works, while in dsm7 control panel>info center shows it as realtek r8153 usb device, but the ssh/terminal shows as only the pci realtek loaded and working.

 

1239159281_networkinfo.thumb.jpg.1f624ca462cb1e1cc47d1f1173a78a3a.jpg

 

 

that post above has logs from both a dsm623 jun104b build and dsm701 rp046 loader build.

In the dsm6 it loads both realtek nic and shows drivers used for each.

in dsm7 however, only the pci realtek is used and shown having a driver (r8169) in dsm7, again no usb realtek, but dsm7 shows the only eth0 as a usb device.

 

In dsm6 that same realtek is using driver R8168, the other realtek is using driver R8152, and both working.

 

I then tried to rebuild the rploader with using the ./rploader.sh ext add url command to add r8152 ext package (which it does download and add) but after building the loader it will not start in to dsm7 <- if I add the R8152 ext

when the loader builds, it installs dsm7 and restarts and just hangs forever - monitor output shows starting usb kernel but hangs, never loads the hdds... pointing back to synoip I just get the welcome to diskstation message waiting to install dsm7 again.

 

if I do NOT add the R8152 driver, it builds and loads fine and first try (but with only 1 working eth0 nic lan port)

@pocopico I hope you can read this and explain what adding the R8152 driver to an apollolake build causes this system to hang immediately after installing dsm7 and never actually loading into dsm?

 

 

 

There is an issue with the extension loading mechanism. If an extension that has duplicate dependency tries to get loaded it will fail and will fail into recover/install mode. Just add the one of the two modules (only the most required for install) then copy the usb r8152 module to /lib/modules and run :

 

# ln -s /bin/kmod /sbin/modinfo 

# ln -s /bin/kmod /sbin/depmod

# depmod -a

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

37 minutes ago, pocopico said:

 

There is an issue with the extension loading mechanism. If an extension that has duplicate dependency tries to get loaded it will fail and will fail into recover/install mode. Just add the one of the two modules (only the most required for install) then copy the usb r8152 module to /lib/modules and run :

 

# ln -s /bin/kmod /sbin/modinfo 

# ln -s /bin/kmod /sbin/depmod

# depmod -a

 

 

 

 

 

 

 

 

here is what I did and the error I got.

1. Using WinSCP, I opened /lib/modules

2. Went to : https://github.com/pocopico/4.4.180plus-modules and got module r8125.ko 

3. SSH into DSM and used : sudo chmod 777 lib/modules (other wise I got permission error)

4. move r8125.ko into /lib/modules

5. ran sudo ln -s /bin/kmod /sbin/modinfo
6. ran sudo  ln -s /bin/kmod /sbin/depmod

7. ran sudo depmod -a

got this error: 

depmod: WARNING: could not open /lib/modules//modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules//modules.builtin: No such file or directory


what am I doing wrong?

Link to comment
Share on other sites

7 minutes ago, Jizar Stoffel said:

here is what I did and the error I got.

1. Using WinSCP, I opened /lib/modules

2. Went to : https://github.com/pocopico/4.4.180plus-modules and got module r8125.ko 

3. SSH into DSM and used : sudo chmod 777 lib/modules (other wise I got permission error)

4. move r8125.ko into /lib/modules

5. ran sudo ln -s /bin/kmod /sbin/modinfo
6. ran sudo  ln -s /bin/kmod /sbin/depmod

7. ran sudo depmod -a

got this error: 


depmod: WARNING: could not open /lib/modules//modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules//modules.builtin: No such file or directory


what am I doing wrong?

 

the last two warnings are expected. when you do a modprobe r8125 does it load ? you can check with lsmod |grep -i r8125

Link to comment
Share on other sites

2 minutes ago, pocopico said:

 

the last two warnings are expected. when you do a modprobe r8125 does it load ? you can check with lsmod |grep -i r8125

it does not 

should I try 3.10.108-molules instead... what is the difference?

 

jizar@StoffelSynology:/$ lsmod
Module                  Size  Used by
fuse                   84268  1
8021q                  17633  0
ocs_fc_lio            751604  0
tcm_qla2xxx            23502  0
qla2xxx               578233  1 tcm_qla2xxx
libfc                  92202  0
scsi_transport_fc      44614  4 qla2xxx,libfc,tcm_qla2xxx,ocs_fc_lio
vhost_scsi             27040  1
vhost                  29194  1 vhost_scsi
tcm_loop               14155  1
iscsi_target_mod      264102  1
target_core_user       26622  0
target_core_ep         54913  2
target_core_multi_file    33434  1
target_core_file       54974  1
target_core_iblock     22853  1
target_core_mod       874498  24 target_core_iblock,target_core_multi_file,vhost,tcm_qla2xxx,iscsi_target_mod,ocs_fc_lio,target_core_ep,target_core_file,target_core_user,vhost_scsi,tcm_loop
syno_extent_pool     1364513  0
rodsp_ep               86823  3 target_core_multi_file,syno_extent_pool,target_core_file
usbserial              21209  0
vfat                   10287  0
fat                    54020  1 vfat
udf                    78539  0
isofs                  31872  0
loop                   19663  0
synoacl_vfs            15990  2
btrfs                1125611  2
ecryptfs               81058  1 btrfs
zstd_decompress        71155  1 btrfs
zstd_compress         150407  1 btrfs
xxhash                  4611  2 zstd_compress,zstd_decompress
raid456               108731  1
async_raid6_recov       5446  1 raid456
async_memcpy            1726  2 raid456,async_raid6_recov
async_pq                4740  2 raid456,async_raid6_recov
async_xor               3489  3 async_pq,raid456,async_raid6_recov
xor                    10808  2 btrfs,async_xor
async_tx                2070  5 async_pq,raid456,async_xor,async_memcpy,async_raid6_recov
raid6_pq               96748  4 async_pq,raid456,btrfs,async_raid6_recov
linear                  5295  1
adt7475                30458  0
zram                   18210  4
aesni_intel           175128  0
glue_helper             3893  1 aesni_intel
lrw                     3541  1 aesni_intel
gf128mul                5610  1 lrw
ablk_helper             2012  1 aesni_intel
broadwellnk_synobios    77926  0
hid_generic             1321  0
usbhid                 25951  0
hid                    87850  2 hid_generic,usbhid
usblp                  10810  0
uhci_hcd               21742  0
etxhci_hcd             83507  0
bnx2x                1415848  0
mdio                    3319  1 bnx2x
mlx5_core             504733  0
mlx4_en               123301  0
mlx4_core             281872  1 mlx4_en
mlx_compat              1561  3 mlx4_en,mlx4_core,mlx5_core
qede                  123410  0
qed                   787750  1 qede
atlantic_v2           195529  0
atlantic              181885  0
r8168                 524960  0
tn40xx                 30650  0
i40e                  339616  0
ixgbe                 275001  0
be2net                115902  0
i2c_algo_bit            5392  0
igb                   173452  0
dca                     4832  2 igb,ixgbe
e1000e                171055  0
sg                     26379  0
dm_snapshot            28715  0
dm_bufio               14512  1 dm_snapshot
crc_itu_t               1531  3 udf,atlantic_v2,atlantic
crc_ccitt               1531  0
psnap                   1917  0
p8022                   1243  0
llc                     3505  2 p8022,psnap
hfsplus                90461  0
md4                     3889  0
hmac                    2961  0
sit                    15342  0
tunnel4                 2389  1 sit
ipv6                  313927  79 sit
flashcache_syno       225902  2
flashcache             78200  0
syno_flashcache_control     1167  2 flashcache_syno,flashcache
dm_mod                 88259  18 flashcache_syno,dm_bufio,flashcache,dm_snapshot
arc4                    2104  0
crc32c_intel           13062  1
cryptd                  7818  2 aesni_intel,ablk_helper
sha256_generic         10521  0
ecb                     2177  0
aes_x86_64              7503  1 aesni_intel
authenc                 4140  0
des_generic            16221  0
ansi_cprng              3940  0
cts                     4200  0
md5                     2641  0
cbc                     2712  0
cpufreq_powersave       1126  0
cpufreq_performance     1130  8
acpi_cpufreq            6503  0
processor              25777  9 acpi_cpufreq
cpufreq_stats           2806  0
vxlan                  32111  7 i40e,qede,bnx2x,ixgbe,be2net,mlx4_en,mlx5_core
ip6_udp_tunnel          1967  1 vxlan
udp_tunnel              2419  1 vxlan
ip_tunnel              12243  1 sit
r8169                  71172  0
mii                     4355  1 r8169
usb_storage            49177  0
xhci_pci                4650  0
xhci_hcd              109368  1 xhci_pci
ehci_pci                3935  0
ehci_hcd               41544  1 ehci_pci
usbcore               199352  10 etxhci_hcd,usblp,uhci_hcd,usb_storage,usbserial,ehci_hcd,ehci_pci,usbhid,xhci_hcd,xhci_pci
usb_common              2286  1 usbcore
mv14xx                521484  0
redpill               147624  0
jizar@StoffelSynology:/$ sudo lsmod |grep -i
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
jizar@StoffelSynology:/$ sudo lsmod |grep -i r8125
jizar@StoffelSynology:/$


 

Link to comment
Share on other sites

1 hour ago, phone guy said:

On this nas box, in dsm623 jun104b loader both nic lan ports are realtek. One is on the PCI bus and one is USB bus, I think. Both work 100% (again dsm623jun104b).

 

In dsm7 with rp046 loader, only 1 realtek nic lan port is working. (both ports work while in tinycore, and both have valid ip's while booted into tinycore) after building the apollolake loader, and installing and booting to dsm7, one 1 nic lan port works, while in dsm7 control panel>info center shows it as realtek r8153 usb device, but the ssh/terminal shows as only the pci realtek loaded and working.

 

1239159281_networkinfo.thumb.jpg.1f624ca462cb1e1cc47d1f1173a78a3a.jpg

 

 

that post above has logs from both a dsm623 jun104b build and dsm701 rp046 loader build.

In the dsm6 it loads both realtek nic and shows drivers used for each.

in dsm7 however, only the pci realtek is used and shown having a driver (r8169) in dsm7, again no usb realtek, but dsm7 shows the only eth0 as a usb device.

 

In dsm6 that same realtek is using driver R8168, the other realtek is using driver R8152, and both working.

 

I then tried to rebuild the rploader with using the ./rploader.sh ext add url command to add r8152 ext package (which it does download and add) but after building the loader it will not start in to dsm7 <- if I add the R8152 ext

when the loader builds, it installs dsm7 and restarts and just hangs forever - monitor output shows starting usb kernel but hangs, never loads the hdds... pointing back to synoip I just get the welcome to diskstation message waiting to install dsm7 again.

 

if I do NOT add the R8152 driver, it builds and loads fine and first try (but with only 1 working eth0 nic lan port)

@pocopico I hope you can read this and explain what adding the R8152 driver to an apollolake build causes this system to hang immediately after installing dsm7 and never actually loading into dsm?

 

 

It's curious. According to lspci information, you have one realtek lan and it's working, but the intel lan's driver is not loaded. You may try to add intel igb driver to see what result if R8152 is not an external USB lan.

Link to comment
Share on other sites

3 minutes ago, Jizar Stoffel said:

it does not 

should I try 3.10.108-molules instead... what is the difference?

 


jizar@StoffelSynology:/$ lsmod
Module                  Size  Used by
fuse                   84268  1
8021q                  17633  0
ocs_fc_lio            751604  0
tcm_qla2xxx            23502  0
qla2xxx               578233  1 tcm_qla2xxx
libfc                  92202  0
scsi_transport_fc      44614  4 qla2xxx,libfc,tcm_qla2xxx,ocs_fc_lio
vhost_scsi             27040  1
vhost                  29194  1 vhost_scsi
tcm_loop               14155  1
iscsi_target_mod      264102  1
target_core_user       26622  0
target_core_ep         54913  2
target_core_multi_file    33434  1
target_core_file       54974  1
target_core_iblock     22853  1
target_core_mod       874498  24 target_core_iblock,target_core_multi_file,vhost,tcm_qla2xxx,iscsi_target_mod,ocs_fc_lio,target_core_ep,target_core_file,target_core_user,vhost_scsi,tcm_loop
syno_extent_pool     1364513  0
rodsp_ep               86823  3 target_core_multi_file,syno_extent_pool,target_core_file
usbserial              21209  0
vfat                   10287  0
fat                    54020  1 vfat
udf                    78539  0
isofs                  31872  0
loop                   19663  0
synoacl_vfs            15990  2
btrfs                1125611  2
ecryptfs               81058  1 btrfs
zstd_decompress        71155  1 btrfs
zstd_compress         150407  1 btrfs
xxhash                  4611  2 zstd_compress,zstd_decompress
raid456               108731  1
async_raid6_recov       5446  1 raid456
async_memcpy            1726  2 raid456,async_raid6_recov
async_pq                4740  2 raid456,async_raid6_recov
async_xor               3489  3 async_pq,raid456,async_raid6_recov
xor                    10808  2 btrfs,async_xor
async_tx                2070  5 async_pq,raid456,async_xor,async_memcpy,async_raid6_recov
raid6_pq               96748  4 async_pq,raid456,btrfs,async_raid6_recov
linear                  5295  1
adt7475                30458  0
zram                   18210  4
aesni_intel           175128  0
glue_helper             3893  1 aesni_intel
lrw                     3541  1 aesni_intel
gf128mul                5610  1 lrw
ablk_helper             2012  1 aesni_intel
broadwellnk_synobios    77926  0
hid_generic             1321  0
usbhid                 25951  0
hid                    87850  2 hid_generic,usbhid
usblp                  10810  0
uhci_hcd               21742  0
etxhci_hcd             83507  0
bnx2x                1415848  0
mdio                    3319  1 bnx2x
mlx5_core             504733  0
mlx4_en               123301  0
mlx4_core             281872  1 mlx4_en
mlx_compat              1561  3 mlx4_en,mlx4_core,mlx5_core
qede                  123410  0
qed                   787750  1 qede
atlantic_v2           195529  0
atlantic              181885  0
r8168                 524960  0
tn40xx                 30650  0
i40e                  339616  0
ixgbe                 275001  0
be2net                115902  0
i2c_algo_bit            5392  0
igb                   173452  0
dca                     4832  2 igb,ixgbe
e1000e                171055  0
sg                     26379  0
dm_snapshot            28715  0
dm_bufio               14512  1 dm_snapshot
crc_itu_t               1531  3 udf,atlantic_v2,atlantic
crc_ccitt               1531  0
psnap                   1917  0
p8022                   1243  0
llc                     3505  2 p8022,psnap
hfsplus                90461  0
md4                     3889  0
hmac                    2961  0
sit                    15342  0
tunnel4                 2389  1 sit
ipv6                  313927  79 sit
flashcache_syno       225902  2
flashcache             78200  0
syno_flashcache_control     1167  2 flashcache_syno,flashcache
dm_mod                 88259  18 flashcache_syno,dm_bufio,flashcache,dm_snapshot
arc4                    2104  0
crc32c_intel           13062  1
cryptd                  7818  2 aesni_intel,ablk_helper
sha256_generic         10521  0
ecb                     2177  0
aes_x86_64              7503  1 aesni_intel
authenc                 4140  0
des_generic            16221  0
ansi_cprng              3940  0
cts                     4200  0
md5                     2641  0
cbc                     2712  0
cpufreq_powersave       1126  0
cpufreq_performance     1130  8
acpi_cpufreq            6503  0
processor              25777  9 acpi_cpufreq
cpufreq_stats           2806  0
vxlan                  32111  7 i40e,qede,bnx2x,ixgbe,be2net,mlx4_en,mlx5_core
ip6_udp_tunnel          1967  1 vxlan
udp_tunnel              2419  1 vxlan
ip_tunnel              12243  1 sit
r8169                  71172  0
mii                     4355  1 r8169
usb_storage            49177  0
xhci_pci                4650  0
xhci_hcd              109368  1 xhci_pci
ehci_pci                3935  0
ehci_hcd               41544  1 ehci_pci
usbcore               199352  10 etxhci_hcd,usblp,uhci_hcd,usb_storage,usbserial,ehci_hcd,ehci_pci,usbhid,xhci_hcd,xhci_pci
usb_common              2286  1 usbcore
mv14xx                521484  0
redpill               147624  0
jizar@StoffelSynology:/$ sudo lsmod |grep -i
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
jizar@StoffelSynology:/$ sudo lsmod |grep -i r8125
jizar@StoffelSynology:/$


 

 

 

are you running ds3622 ? then you should use the 4.4.180+ r8125 for that platform : 

 

https://github.com/pocopico/4.4.180plus-broadwellnk

 

 

Link to comment
Share on other sites

6 minutes ago, pocopico said:

 

 

are you running ds3622 ? then you should use the 4.4.180+ r8125 for that platform : 

 

https://github.com/pocopico/4.4.180plus-broadwellnk

 

 

Thank you, I was looking in the wrong place. I was looking at :

https://github.com/pocopico

insteal of 

https://github.com/pocopico?tab=repositories

 

the simplest things get us so confused..... ehehehe

 

testing it now, will post results

 

Edited by Jizar Stoffel
Link to comment
Share on other sites

21 minutes ago, pocopico said:

 

 

are you running ds3622 ? then you should use the 4.4.180+ r8125 for that platform : 

 

https://github.com/pocopico/4.4.180plus-broadwellnk

 

 

After restart:

I can access SSH and winSCP.

but lost access to web interface. even http://find.synology.com/ cant find DSM.

 

Nevermind, rebooted again and it came back. but still the same, no 2nd or 3rd NIC

Edited by Jizar Stoffel
Link to comment
Share on other sites

Result of  lspci -v

0000:03:00.0 Class 0200: Device 10ec:8136 (rev 07) <<<<<<<<<<<<<<<<<<<<< WORKING ONBOARD NIC
        Subsystem: Device 10ec:0123
        Flags: bus master, fast devsel, latency 0, IRQ 33
        I/O ports at d000 [size=256]
        Memory at f7d00000 (64-bit, non-prefetchable) [size=4K]
        Memory at f0000000 (64-bit, prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: r8169

0000:04:00.0 Class 0200: Device 10ec:8125 (rev 05) <<<<<<<<<<<<<<<<<<<<<<<<< NON WORKING PCI 2.5BG NIC
        Subsystem: Device 10ec:8125
        Flags: fast devsel, IRQ 10
        I/O ports at c000 [disabled] [size=256]
        Memory at f7c00000 (64-bit, non-prefetchable) [disabled] [size=64K]
        Memory at f7c10000 (64-bit, non-prefetchable) [disabled] [size=16K]
        Capabilities: <access denied>


 

$ lspci -q
0000:00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
0000:00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
0000:00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
0000:00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
0000:00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
0000:00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
0000:00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
0000:00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
0000:00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
0000:00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
0000:00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
0000:00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
0000:00:1f.0 ISA bridge: Intel Corporation H81 Express LPC Controller (rev 05)
0000:00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
0000:00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
0000:01:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 4-port SATA 6 Gb/s Controller (rev 11)
0000:03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 07)
0000:04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
0001:09:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller (rev 11)
0001:0c:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller (rev 11)

 

Edited by Jizar Stoffel
Link to comment
Share on other sites

3 minutes ago, Jizar Stoffel said:

Result of  lspci -v


0000:03:00.0 Class 0200: Device 10ec:8136 (rev 07) <<<<<<<<<<<<<<<<<<<<< WORKING ONBOARD NIC
        Subsystem: Device 10ec:0123
        Flags: bus master, fast devsel, latency 0, IRQ 33
        I/O ports at d000 [size=256]
        Memory at f7d00000 (64-bit, non-prefetchable) [size=4K]
        Memory at f0000000 (64-bit, prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: r8169

0000:04:00.0 Class 0200: Device 10ec:8125 (rev 05) <<<<<<<<<<<<<<<<<<<<<<<<< NON WORKING PCI 2.5BG NIC
        Subsystem: Device 10ec:8125
        Flags: fast devsel, IRQ 10
        I/O ports at c000 [disabled] [size=256]
        Memory at f7c00000 (64-bit, non-prefetchable) [disabled] [size=64K]
        Memory at f7c10000 (64-bit, non-prefetchable) [disabled] [size=16K]
        Capabilities: <access denied>


 

 

OK, do you see the lan interfaces ? can you run an ip a ?

Link to comment
Share on other sites

1 minute ago, pocopico said:

 

OK, do you see the lan interfaces ? can you run an ip a ?

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether bunchofnumbers
    inet ip444/24 brd netmask scope global eth0
       valid_lft forever preferred_lft forever
    inet6 ip666 scope link
       valid_lft forever preferred_lft forever
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1
    link/sit 0.0.0.0 brd 0.0.0.0


 

Link to comment
Share on other sites

Hi,

 

Using my previous patch for SMART UNIQUE SERIAL NUMBERS (see above) I discovered this:

 

- When connecting SATA HDD disks over pRDM in ESXi to the VM running Redpill-TC, connected to the PVSCSI controller, now I can read the disk name and basic information (and not when connecting the disk over the SATA controller). Using the "smartctl -a /dev/sdp" command I can see all the physical disk information. And this is great. However, all the SMART data is fake. That's the output in kernel log when running the smartcrl command:

 

[  252.742300] <redpill/smart_shim.c:818> Handling ioctl(0x2285) for /dev/sdp
[  252.742443] <redpill/smart_shim.c:835> sd_ioctl(0x2285) - not a hooked ioctl, noop
[  252.744150] <redpill/smart_shim.c:818> Handling ioctl(0x31f) for /dev/sdp
[  252.744342] <redpill/smart_shim.c:647> Got SMART *command* - looking for feature=0xd0
[  252.744560] <redpill/smart_shim.c:391> Generating fake SMART values

 

So I can assume that the first ioctl is passed to the disk, but no the second one. Therefore if we can implement some workaround, then we'll have the option to drive physical disks running as Virtual Machine without needing to passthrough any controller. In fact, with the stock ESXi support will be sufficient to drive physical disks with SMART (and idle commands), virtual disks (as regular HDD vmdk), virtual cache (as SSD vmdk) and physical NVMe disks (for cache or volumes).

 

I hope that soon you'll want to merge my patch and work on improving the ioctl 0x31f with RDMs.
Regards.

 

  

Link to comment
Share on other sites

35 minutes ago, ditheo said:

Ran the usb stick on another hardware and it ran succesfully. So my stick is alright... I think I have to investigate what happens with my hardware...

tcrp-diag-2022-Mar-29-17-39.html 344.22 kB · 0 downloads

 

Well it looks you have some services listening this time

 


Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      
tcp        0      0 10.4.244.79:48484       52.59.69.157:443        TIME_WAIT   
udp        0      0 0.0.0.0:9997            0.0.0.0:*                           
udp        0      0 0.0.0.0:9998            0.0.0.0:*                           
udp        0      0 0.0.0.0:9999            0.0.0.0:*                           
udp        0      0 0.0.0.0:1900            0.0.0.0:*                           
udp        0      0 0.0.0.0:137             0.0.0.0:*                           
udp        0      0 0.0.0.0:1122            0.0.0.0:*                           
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           
udp        0      0 0.0.0.0:36152           0.0.0.0:*                           
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING      12600 /var/run/minissdpd.sock
unix  8      [ ]         DGRAM                     12217 /var/run/log
unix  2      [ ACC ]     STREAM     LISTENING      10991 /run/avahi-daemon/socket
unix  2      [ ]         DGRAM                     12577 
unix  2      [ ]         DGRAM                     10791 
unix  2      [ ]         DGRAM                     11005 
unix  2      [ ]         DGRAM                     10993 
unix  2      [ ]         DGRAM                     10796 
unix  2      [ ]         DGRAM                     12279 

 

 

Link to comment
Share on other sites

Just now, pocopico said:

Well it looks you have some services listening this time

 

yes! I am suspecting maybe that my intel I-219V has something different than the extension e1000e... I have downolad the e1000e.ko  to check if my hardware is there

Link to comment
Share on other sites

Hi All,

 

i need some testers for a new addition on rploader.sh.

 

You now have the option "postupdate" to process and update your junior (rd.gz/zImage) using the contents found under dsm root /.syno/patch.

 

To do so, you first perform an update using the DSM GUI to update pat from synology and then you go to TCRP to run

 

./rploader.sh update now

./rploader.sh backuploader now

./rploader.sh download <yourplatform>

./rploader.sh postupdate <yourplatform>

 

 Then if you previously had a "root not matched with junior" it should be fixed after postupdate process.

 

Please test and report any issues.

 

MAKE SURE your REPO supports the version you want to update TO before upgrading

 

 

 

 

 

 

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

Hi,

 

More interesting information related to Physical Disks with RDM on ESXi:

 

- When connecting the disk over the PVSCSI controller (remember to use my patch for SMART UNIQUE SERIAL NUMBERS), I've finally obtained the real SMART data in the Virtual Machine. First I've executed the "smartctl" command inside the Tinycore Linux, and after inside the XPEnology. The results are interesting: when running inside the Tinycore the SMART values are obtained. But when using the XPEnology only if you use the correct interface.

 

Here the smartcrl command "stock" (that is, using the "-d ata" parameter) inside the VM running redpill-TC (aka XPEnology):

root@redpill:~# smartctl -a -d ata /dev/sdp
smartctl 6.5 (build date Feb 20 2021) [x86_64-linux-4.4.180+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     Virtual-HDD
Serial Number:    sdp
Firmware Version: 1.13.2
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   [No Information Found]
Local Time is:    Tue Mar 29 17:53:16 2022 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (   69) seconds.
Offline data collection
capabilities:                    (0x18) No SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        No Selective Self-test supported.
SMART capabilities:            (0x0103) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        No General Purpose Logging support.
Short self-test routine
recommended polling time:        (   5) minutes.
Extended self-test routine
recommended polling time:        (  75) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME                                                   FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate                                              0x002d   200   200   006    Pre-fail  Offline      -       0
  2 Throughput_Performance                                           0x0004   128   117   064    Old_age   Offline      -       128
  3 Spin_Up_Time                                                     0x0027   177   176   006    Pre-fail  Always       -       4687
  4 Start_Stop_Count                                                 0x0032   100   100   000    Old_age   Always       -       69
  5 Reallocated_Sector_Ct                                            0x0033   200   200   140    Pre-fail  Always       -       0
  9 Power_On_Hours                                                   0x0032   006   000   000    Old_age   Always       -       12973
 12 Power_Cycle_Count                                                0x0032   100   100   000    Old_age   Always       -       42
 13 Read_Soft_Error_Rate                                             0x002e   200   200   000    Old_age   Always       -       0
183 Runtime_Bad_Block                                                0x0033   200   200   140    Pre-fail  Always       -       0
184 End-to-End_Error                                                 0x0033   200   200   140    Pre-fail  Always       -       0
187 Reported_Uncorrect                                               0x003a   062   062   005    Old_age   Always       -       0
188 Command_Timeout                                                  0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel                                          0x0022   062   062   000    Old_age   Always       -       27 (Min/Max 27/30)
192 Power-Off_Retract_Count                                          0x0032   100   100   000    Old_age   Always       -       40
194 Temperature_Celsius                                              0x0022   118   098   000    Old_age   Always       -       29
195 Hardware_ECC_Recovered                                           0x0032   128   128   000    Old_age   Always       -       57
196 Reallocated_Event_Count                                          0x0032   128   128   000    Old_age   Always       -       0
197 Current_Pending_Sector                                           0x0032   128   128   000    Old_age   Always       -       0
198 Offline_Uncorrectable                                            0x0030   100   254   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count                                             0x0032   200   200   000    Old_age   Always       -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

Selective Self-tests/Logging not supported

 

As you can see here the fake SMART data is presented (as expected).

 

But here the same command changing from "-d ata" (default) to "-d sat" protocol (remember this is inside the VM XPEnology):

root@redpill:~# smartctl -a -d sat /dev/sdp
smartctl 6.5 (build date Feb 20 2021) [x86_64-linux-4.4.180+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Red
Device Model:     WDC WD30EFRX-68EU***
Serial Number:    WD-WCC4N2******
LU WWN Device Id: 5 0014ee 2b729a***
Firmware Version: 82.00A82
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Tue Mar 29 17:53:51 2022 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Status command failed: scsi error unsupported field in scsi command
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (39840) seconds.
Offline data collection
capabilities:                    (0x7b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        ( 399) minutes.
Conveyance self-test routine
recommended polling time:        (   5) minutes.
SCT capabilities:              (0x703d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME                                                   FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate                                              0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time                                                     0x0027   168   168   021    Pre-fail  Always       -       6583
  4 Start_Stop_Count                                                 0x0032   100   100   000    Old_age   Always       -       352
  5 Reallocated_Sector_Ct                                            0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate                                                  0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours                                                   0x0032   060   059   000    Old_age   Always       -       29304
 10 Spin_Retry_Count                                                 0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count                                          0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count                                                0x0032   100   100   000    Old_age   Always       -       352
192 Power-Off_Retract_Count                                          0x0032   200   200   000    Old_age   Always       -       348
193 Load_Cycle_Count                                                 0x0032   196   196   000    Old_age   Always       -       14975
194 Temperature_Celsius                                              0x0022   119   104   000    Old_age   Always       -       31
196 Reallocated_Event_Count                                          0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector                                           0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable                                            0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count                                             0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate                                            0x0008   100   253   000    Old_age   Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     20699         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

So as you can see now all the real SMART data is retreived.

 

The conclusion is then:

- We can drive physical RDM disks with SMART support with redpill DSM 7.

- The only required implementation pending (after merging my SERIAL NUMBER patch) is to use for SCSI disks the same ioctl used by the smartmontools when using the "-d sat" protocol, instead of the default "-d ata" protocol. Using the last one the fake SMART data is provided. But if we could change the "sata_shim.c" hooks to use the alternative method then we'll enable full SMART support. Great news, right?

 

Regards.

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

38 minutes ago, pocopico said:

To do so, you first perform an update using the DSM GUI to update pat from synology and then you go to TCRP to run

 

Autoupdate does not work for me.

 

Should I download the update and do it manually.... if so, what version?

7.0.1-42218 > 7.1-42621 

or just download DSM 7.0.1?

update.png

Edited by Jizar Stoffel
Link to comment
Share on other sites

45 minutes ago, Jizar Stoffel said:

Im running 7.0.1-42218

which version am I suppose to get.

 7.0.1-42218-3

 or 7.0.1-42218-2

 or 7.0.1-42218-1

or 7.1-42621 

 

What is your platform ? and what is supported by the repo owners. E.g. dododefi has 7.1.0-62621 for DS3622xsp while jumkey has 7.1-42550 for DS920+ etc 

 

you can verify checking the contents of the folders :

 

https://github.com/jumkey/redpill-load/tree/develop/config

 

and 

 

https://github.com/dogodefi/redpill-load/tree/develop/config/

 

 

 

 

 

 

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