RedPill - the new loader for 6.2.4 - Discussion


Recommended Posts

9 hours ago, pocopico said:

No you didn’t get me, they are not modules they are compiled in/with the kernel 

I don't think it is statically compiled into the DS918+ DSM kernel. When I mount, I can see the corresponding error prompt. This module is missing.

 

Quote

[   85.986709] mpt3sas: Unknown symbol raid_class_attach (err 0)
[   85.992603] mpt3sas: Unknown symbol syno_disk_not_ready_count_decrease (err 0)
[   86.000027] mpt3sas: Unknown symbol raid_class_release (err 0)
[   86.005994] mpt3sas: Unknown symbol syno_valid_lsi3008_led (err 0)
[   86.012317] mpt3sas: Unknown symbol gSynoSASHBAAddr (err 0)
[   86.018047] mpt3sas: Unknown symbol node_to_cpumask_map (err 0)
[   86.024136] mpt3sas: Unknown symbol syno_disk_not_ready_count_increase (err 0)
 

 

Link to post
Share on other sites
20 minutes ago, flybird08 said:

I don't think it is statically compiled into the DS918+ DSM kernel. When I mount, I can see the corresponding error prompt. This module is missing.

 

 

 

You are right DS918+ does not have statically compiled SAS support. I added raid_class.ko 

Edited by pocopico
Link to post
Share on other sites
9 minutes ago, pocopico said:

 

You are right DS918+ should not have SAS support. I added raid_class.ko 

 

Wow, I didn't expect your reply to be so fast. I have insmod raid_class.ko is successfully, there are no raid related error prompts, but several seem to lack what modules of Synology? They are function names that start with syno, I don't know where it comes from. I haven't found it in the Linux kernel source code. This is too troublesome. I'm a little tempted to give up, sad...

 

Quote

[36302.293095] mpt3sas: Unknown symbol syno_disk_not_ready_count_decrease (err 0)
[36302.300522] mpt3sas: Unknown symbol syno_valid_lsi3008_led (err 0)
[36302.306852] mpt3sas: Unknown symbol gSynoSASHBAAddr (err 0)
[36302.312575] mpt3sas: Unknown symbol node_to_cpumask_map (err 0)
[36302.318619] mpt3sas: Unknown symbol syno_disk_not_ready_count_increase (err 0)

 

Link to post
Share on other sites
25 minutes ago, flybird08 said:

[36302.293095] mpt3sas: Unknown symbol syno_disk_not_ready_count_decrease (err 0)
[36302.300522] mpt3sas: Unknown symbol syno_valid_lsi3008_led (err 0)
[36302.306852] mpt3sas: Unknown symbol gSynoSASHBAAddr (err 0)
[36302.312575] mpt3sas: Unknown symbol node_to_cpumask_map (err 0)
[36302.318619] mpt3sas: Unknown symbol syno_disk_not_ready_count_increase (err 0)

 

Strange, did it ever worked in the past with Jun loader ? These symbols cannot be resolved until we have a proper source i guess.

Edited by pocopico
Link to post
Share on other sites
23 minutes ago, pocopico said:

 

Strange, did it ever worked in the past with Jun loader ? These symbols cannot be resolved until we have a proper source i guess.

 

IG-88 said that the DS918 kernel has the capability of SAS module. But there is no actual measurement on my side. Maybe Jun's loader does extra work?

 

In addition, the SATA/AHCI controller may be a better choice on the DS918 before SAS can run perfectly. If you can compile ahci.ko, I will do more tests on SATA/AHCI controller. I also have a JMB585 controller.

 

Edited by flybird08
Link to post
Share on other sites

with chaintool 0.10 I have a warning, but it still can clean install DSM on ESXi.

 

 

CC [M]  /opt/redpill-lkm/config/cmdline_delegate.o
/opt/redpill-lkm/config/cmdline_delegate.c: In function 'extract_config_from_cmdline':
/opt/redpill-lkm/config/cmdline_delegate.c:413:74: warning: value computed is not used [-Wunused-value]
         extract_netif_macs(config->macs, single_param_chunk)             ||
                                                                          ^~
  CC [M]  /opt/redpill-lkm/config/runtime_config.o
  CC [M]  /opt/redpill-lkm/shim/boot_dev/boot_shim_base.o
  CC [M]  /opt/redpill-lkm/shim/boot_dev/usb_boot_shim.o
  CC [M]  /opt/redpill-lkm/shim/boot_dev/fake_sata_boot_shim.o
In file included from /opt/redpill-lkm/shim/boot_dev/fake_sata_boot_shim.c:46:
/opt/redpill-lkm/compat/toolkit/include/../drivers/usb/storage/usb.h:50:2: warning: #warning "Using compatibility file for drivers/usb/storage/usb.h - if possible do NOT compile using toolkit" [-Wcpp]
 #warning "Using compatibility file for drivers/usb/storage/usb.h - if possible do NOT compile using toolkit"
  ^~~~~~~
  CC [M]  /opt/redpill-lkm/shim/boot_dev/native_sata_boot_shim.o
  CC [M]  /opt/redpill-lkm/shim/boot_device_shim.o
  CC [M]  /opt/redpill-lkm/shim/storage/smart_shim.o
  CC [M]  /opt/redpill-lkm/shim/storage/virtio_storage_shim.o
  CC [M]  /opt/redpill-lkm/shim/bios/bios_hwcap_shim.o
/opt/redpill-lkm/shim/bios/bios_hwcap_shim.c: In function 'GetHwCapability_shim':
/opt/redpill-lkm/shim/bios/bios_hwcap_shim.c:64:17: warning: unused variable 'ovs_fout' [-Wunused-variable]
             int ovs_fout = call_overridden_symbol(org_fout, GetHwCapability_ovs, cap);

AIwWjW44tG.thumb.png.915d67bd163a2a1870e429ab5c174227.png
                 ^~~~~~~~

Link to post
Share on other sites
7 hours ago, ThorGroup said:

Do you have file /.no_synoboot? If so then check dmesg to diagnose WHY the synoboot is not appearing.

I´ll check this.

But it seems the issue is USB driver related.

 

When i plugin a separate USB drive dmesg doesn´t show any new registered USB devices.
 

This is the lsusb and dmesg output from ubuntu on that Intel NUC:

image.thumb.png.cc0aeb5ff024066dab035fc28a1d1223.png

 

image.thumb.png.2e50c49b0b72585cf41ae8394a95b450.png

 

Link to post
Share on other sites
6 hours ago, pocopico said:

 

Strange, did it ever worked in the past with Jun loader ? These symbols cannot be resolved until we have a proper source i guess.

 

5 hours ago, flybird08 said:

 

IG-88 said that the DS918 kernel has the capability of SAS module. But there is no actual measurement on my side. Maybe Jun's loader does extra work?

 

In addition, the SATA/AHCI controller may be a better choice on the DS918 before SAS can run perfectly. If you can compile ahci.ko, I will do more tests on SATA/AHCI controller. I also have a JMB585 controller.

 

 

@pocopicoI compiled the module of Jmicron jmb585 myself and encountered the same problem. Maybe Synology really changed the driver code. But I don't know how to make it work.☹️

Quote

[60165.547879] pata_jmicron: Unknown symbol syno_libata_index_get (err 0)
 

 

Link to post
Share on other sites

Wow, did you guys see the list of "removed" things with DSM 7 ?

https://www.synology.com/en-global/releaseNote/DSM?model=DS3615xs

 

 

Quote

Version: 7.0.1-42218

(2021-09-28)

 

DSM

USB devices (Wi-Fi dongle, Bluetooth dongle, 3G/4G dongle, USB DAC/speaker, and DTV dongle) are no longer supported. If your Synology NAS is currently connected via a wireless dongle, it will be disconnected after the update.

DSM 7.0.1 ends support for ext3. We strongly suggest backing up the data stored on your ext3 volumes and transferring the data to volumes with supported file systems before the update.

DSM 7.0.1 by default disables NTLMv1 and enables NTMLv2 only, so SMB clients (e.g., Windows XP devices, media players, network printers, smart TVs, and IP cameras) won’t be able to access your Synology NAS. To restore the connection after the update, go to Control Panel > File Services > SMB > Advanced Settings > Others and enable NTLMv1 authentication.

NFSv4.1 and related advanced functions (multipathing) are no longer supported on Synology NAS models with the following package architectures: Alpine, Alpine4k, armada38x, Avoton, Braswell, Bromolow, Cedarview, Grantley, Monaco. If you had previously enabled NFSv4 and NFSv4.1, the maximum NFS protocol is set to NFSv4 by default after the update. For more information about the package architecture of your model, please refer to this article.

Creating SSD caches on block-level LUNs is no longer supported. Existing SSD caches for block LUNs will function normally after the update.

NT4 domains are no longer supported. Current NT4 domains will be unavailable after the update.

The URLs used by DSM when updating or running services have been modified. Please read this article and make sure that your firewall rules are configured appropriately.

iSCSI Manager will become SAN Manager. Please refer to package release notes for more details.

When you reconnect to iSCSI targets from your VMware ESXi hosts after the DSM update, the datastores on the LUNs that are mapped to the targets may not be mounted properly. This only happens to LUNs created before the update. The resolution can be found in VMware Knowledge Base.

To provide comprehensive TLS support and ensure compatibility, the TLS/SSL profile level in Modern compatibility will automatically change to Intermediate Compatibility after the update.

EZ-Internet is merged with Router Configuration in Control Panel. To set up port forwarding, go to Control Panel > External Access > Router Configuration.

Python3 is merged into DSM as a built-in service. The original Python3 package will be unavailable in Package Center and you can remove it manually.

The following DDNS providers are removed from the service provider list at Control Panel > External Access > DDNS:
ClouDNS, DNO-O-Matic, DNSEXIT, Dynamic DO!.jp, Joker.com, RU-CENTER, TwoDNS.de, Variomedia, Zoneedit.com

The updated QuickConnect connection is secured with an SSL certificate, and your QuickConnect domain will be passed to Let's Encrypt for certificate application purposes. Please refer to the Services Data Collection Disclosure for more details.

Security Advisor by default enables Login Analysis and certain custom account detection check items after the update.

Video conversion to FLV and MPEG-4 Part 2 formats on the following models is no longer supported.

20-Series: DS120j

19-Series: DS119j

16-Series: DS216se

15-Series: DS215j, DS115, DS115j

14-Series: RS814, RS214, DS414, DS414slim, DS414j, DS214+, DS214, DS214se, DS114

13-Series: DS213j

 

What’s New

Supports migrating SA3200D system configurations when users perform HDD migration.

Added support for memory cache mirroring across controllers for better data consistency on SA3200D.

Added support for the "Sync remote mounted folders" option for Shared Folder Sync.

Supports creating volumes of up to 1 PB in Btrfs (Peta Volume) format on the XS/XS+, SA (SA3200D excluded), and FS-series models. (Learn more)

Added support for data deduplication on Btrfs volumes on certain models. (Learn more)

Supports notifying users when there is insufficient storage for metadata.

Updated OpenSSL to version 1.1.1l to fix multiple security vulnerabilities (CVE-2021-3711, CVE-2021-3712).

 

Fixed Issues

Fixed an issue where DSM might not automatically reconnect to a VPN after disconnection.

Fixed the sorting issue on the View Details page in Resource Monitor > Performance > Disks when a USB drive is connected.

Fixed an issue where the display in Volume Settings in Storage Manager was incorrect once users pinned the desktop widgets.

Fixed an issue where the throughput in Resource Monitor might not be displayed correctly when the system network traffic or the throughput of disks or volumes was heavy.

Fixed an issue where when users used third-party extensions to change the DSM theme, they couldn't customize the wallpaper.

Fixed an issue where when non-administrator users shared files with password-protected links, the file names were displayed incorrectly.

Fixed an issue where a healthy drive might be falsely detected as malfunctioning after it was swapped with a failed drive in the same storage pool when the system was shut down. The issue would cause the degraded storage pool to crash or become missing.

Fixed an issue where users couldn't import Docker container configuration files from local computers.

Fixed an issue where certain packages couldn't be installed when the built-in "DSM UI Compatible 6.x" package is missing.

Fixed an issue where package statuses might be stuck at "Getting Status" in Package Center.

Fixed an issue where filters might not work when users edit domain user or group privileges at Control Panel > Application Privileges.

Fixed an issue where Security Advisor didn't apply the security baseline setting for the first scan.

Fixed an issue where users given the "Local user and management" privilege couldn't perform the assigned actions.

Fixed an issue where users who had taken snapshots of a shared folder couldn't disable the usage detail analysis of the shared folder's volume in Storage Manager.

Fixed an issue where automatic configuration backup might fail under certain conditions.

Fixed a security vulnerability regarding GhostScript used by AirPrint. (CVE-2021-3781).

Fixed multiple security vulnerabilities. (Synology-SA-21:25)

 

Be warned and take care of your settings before upgrade to DSM7...

Link to post
Share on other sites

About Drivers, correct me if I'm wrong
There are basically "two types of drivers" one type is mandatory to install into some hardware, and others available after installation to support, for example, 10Gbit card and so on.
To make loader you need ONLY drivers that is suitable for booting and installing, for example, SaS controller, SATA, network card, usb, exotic chipset, so, i think, reduce the amount of them needed to boot and install, these are mandatory to have new system installed and, but i don't know, can be packed into loader for installing only, after, we can use spk via spksrc to pack needed drivers to support exotic hardware for example Fibre Channel cards ( my old project )  exotic network card and so on.
What do you think about it?  
I wrote a pile of bullshit? 


 

Link to post
Share on other sites
5 minutes ago, WiteWulf said:

@Orphée I don't think there's anything that's a real problem there other than the USB devices. Everything else is old, insecure protocols that *should* be dropped, and a major revision number bump is the right time to do that, imho

at least as long as http://www.jadahl.com/iperf-arp-scan/DSM_7.0/ make my z-wave and zigate USB dongle work, it should be OK for me... (Did not try yet on DSM7)

Link to post
Share on other sites
1 hour ago, flybird08 said:

 

 

@pocopicoI compiled the module of Jmicron jmb585 myself and encountered the same problem. Maybe Synology really changed the driver code. But I don't know how to make it work.☹️

 

 

If you extract the kernel with the extract script you find inside the redpill-loader you can extract the symbols. These libata symbols do not exist on 918. So in other words if we even get the sources we are out of luck for

some devices. I think that baremetal whitout matcing the official hardware is getting harder.

 

@flybird08

 

So thats what happens when you are mixing synology compiled modules with standard kernel drivers. Modules are reffering to symbols that do not exist. This is what i've tried and seems to get the modules to load succesfully. Download the mpt3sas.ko from the repo again. 

 

insmod scsi_transport_sas.ko
insmod libsas.ko
insmod raid_class.ko
insmod mpt3sas.ko

 

lsmod |grep -i mpt

 

mpt3sas               194218  0
raid_class              3508  1 mpt3sas
scsi_transport_sas     23996  2 mpt3sas,libsas
 

 

Edited by pocopico
Link to post
Share on other sites
43 minutes ago, Aigor said:

About Drivers, correct me if I'm wrong
There are basically "two types of drivers" one type is mandatory to install into some hardware, and others available after installation to support, for example, 10Gbit card and so on.
To make loader you need ONLY drivers that is suitable for booting and installing, for example, SaS controller, SATA, network card, usb, exotic chipset, so, i think, reduce the amount of them needed to boot and install, these are mandatory to have new system installed and, but i don't know, can be packed into loader for installing only, after, we can use spk via spksrc to pack needed drivers to support exotic hardware for example Fibre Channel cards ( my old project )  exotic network card and so on.
What do you think about it?  
I wrote a pile of bullshit? 


 

 

No, i think you are totally right. The problem though is that after an update the /lib/modules will be overwritten and you will have to start over. Juns approach to that, was to copy the modules over using the extra.lzma everytime you booted.

Edited by pocopico
  • Like 1
Link to post
Share on other sites
1 hour ago, pocopico said:

 

如果使用在 redpill-loader 中找到的提取脚本提取内核,则可以提取符号。这些 libata 符号在 918 上不存在。所以换句话说,如果我们甚至获得了来源,我们就很不走运

一些设备。我认为与官方硬件相匹配的裸机越来越难。

 

@飞鸟08

 

这就是将 Synology 编译模块与标准内核驱动程序混合时会发生的情况。模块指的是不存在的符号。这是我尝试过的,似乎可以成功加载模块。再次从 repo 下载 mpt3sas.ko。 

 

insmod scsi_transport_sas.ko
insmod libsas.ko
insmod raid_class.ko
insmod mpt3sas.ko

 

lsmod |grep -i mpt

 

mpt3sas 194218 0
raid_class 3508 1 mpt3sas
scsi_transport_sas 23996 2 mpt3sas,libsas
 

 

 

This is really amazing. After I mount successfully, I directly see the /dev/sdX device and the hard disk in DSM. Therefore, it can be said that you may be the first person to use SAS devices on dsm7.0.😃

Quote

[ 5048.696432] mpt3sas version 09.102.00.00 loaded
[ 5048.701076] mpt3sas 0000:01:00.0: can't disable ASPM; OS doesn't have ASPM control
[ 5048.709188] mpt2sas_cm0: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem (16145724 kB)
[ 5048.768169] mpt2sas_cm0: MSI-X vectors supported: 16, no of cores: 4, max_msix_vectors: -1
[ 5048.776517] mpt2sas0-msix0: PCI-MSI-X enabled: IRQ 131
[ 5048.781661] mpt2sas0-msix1: PCI-MSI-X enabled: IRQ 132
[ 5048.786811] mpt2sas0-msix2: PCI-MSI-X enabled: IRQ 133
[ 5048.791957] mpt2sas0-msix3: PCI-MSI-X enabled: IRQ 134
[ 5048.797103] mpt2sas_cm0: iomem(0x00000000df140000), mapped(0xffffc90005620000), size(65536)
[ 5048.805465] mpt2sas_cm0: ioport(0x000000000000e000), size(256)
[ 5048.867287] mpt2sas_cm0: sending message unit reset !!
[ 5048.873504] mpt2sas_cm0: message unit reset: SUCCESS
[ 5048.935534] mpt2sas_cm0: Allocated physical memory: size(15846 kB)
[ 5048.941725] mpt2sas_cm0: Current Controller Queue Depth(7931),Max Controller Queue Depth(8192)
[ 5048.950350] mpt2sas_cm0: Scatter Gather Elements per IO(128)
[ 5049.000984] mpt2sas_cm0: overriding NVDATA EEDPTagMode setting
[ 5049.011886] mpt2sas_cm0: LSISAS2308: FWVersion(20.00.07.00), ChipRevision(0x05), BiosVersion(07.39.02.00)
[ 5049.021468] mpt2sas_cm0: Protocol=(
[ 5049.024803] Initiator
[ 5049.027114] ,Target
[ 5049.027746] ),
[ 5049.029535] Capabilities=(
[ 5049.030776] TLR
[ 5049.032566] ,EEDP
[ 5049.033023] ,Snapshot Buffer
[ 5049.035934] ,Diag Trace Buffer
[ 5049.037523] ,Task Set Full
[ 5049.040266] ,NCQ
[ 5049.040639] )
[ 5049.042495] scsi host7: Fusion MPT SAS Host
[ 5049.046884] mpt2sas_cm0: sending port enable !!
[ 5049.053425] mpt2sas_cm0: host_add: handle(0x0001), sas_addr(0x500605b006900fa0), phys(8)
[ 5049.062471] mpt2sas_cm0: port enable: SUCCESS
[ 5049.068704] scsi 7:0:0:0: Direct-Access     TOSHIBA  MK3265GSX                2J   PQ: 0 ANSI: 6
[ 5049.077509] scsi 7:0:0:0: SATA: handle(0x0009), sas_addr(0x4433221101000000), phy(1), device_name(0x50000392b98810dc)
[ 5049.088127] scsi 7:0:0:0: SATA: enclosure_logical_id(0x500605b006900fa0), slot(29)
[ 5049.095874] scsi 7:0:0:0: atapi(n), ncq(y), asyn_notify(n), smart(y), fua(y), sw_preserve(y)
[ 5049.105312] sd 7:0:0:0: Attached scsi generic sg7 type 0
[ 5049.105613] sd 7:0:0:0: [sdh] 625142448 512-byte logical blocks: (320 GB/298 GiB)
[ 5049.120443] scsi 7:0:1:0: Direct-Access     WDC      WD30EJRX-89G3VY0         0A80 PQ: 0 ANSI: 6
[ 5049.129254] scsi 7:0:1:0: SATA: handle(0x000a), sas_addr(0x4433221107000000), phy(7), device_name(0x50014ee2b94625da)
[ 5049.139864] scsi 7:0:1:0: SATA: enclosure_logical_id(0x500605b006900fa0), slot(31)
[ 5049.147546] scsi 7:0:1:0: atapi(n), ncq(y), asyn_notify(n), smart(y), fua(y), sw_preserve(y)
[ 5049.157257] sd 7:0:1:0: Attached scsi generic sg8 type 0
[ 5049.157652] sd 7:0:1:0: [sdi] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB)
[ 5049.157653] sd 7:0:1:0: [sdi] 4096-byte physical blocks
[ 5049.162960] sd 7:0:1:0: [sdi] Write Protect is off
[ 5049.162963] sd 7:0:1:0: [sdi] Mode Sense: 7f 00 10 08
[ 5049.163774] sd 7:0:1:0: [sdi] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 5049.204025]  sdi: sdi1 sdi2 sdi5
[ 5049.214467] sd 7:0:1:0: [sdi] Attached SCSI disk
[ 5049.535839] sd 7:0:0:0: [sdh] Write Protect is off
[ 5049.540648] sd 7:0:0:0: [sdh] Mode Sense: 7f 00 10 08
[ 5049.547093] sd 7:0:0:0: [sdh] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 5049.746394]  sdh: sdh1 sdh2 sdh3
[ 5050.110450] sd 7:0:0:0: [sdh] Attached SCSI disk
 

 

  • Like 3
Link to post
Share on other sites
12 minutes ago, Orphée said:

So I may have to try to mount :

insmod scsi_transport_sas.ko
insmod libsas.ko
insmod raid_class.ko

before mpt2sas.ko

 

in my case ?

 

@pocopico can you build modules for bromolow ?

I will try then

 

Yes they are there :

 

https://github.com/pocopico/3.10.108-Modules

 

In 3615 you dont need to insmod scsi_transport_sas.ko or raid_class they are statically build into the kernel

Edited by pocopico
  • Thanks 1
Link to post
Share on other sites
1 hour ago, pocopico said:

 

If you extract the kernel with the extract script you find inside the redpill-loader you can extract the symbols. These libata symbols do not exist on 918. So in other words if we even get the sources we are out of luck for

some devices. I think that baremetal whitout matcing the official hardware is getting harder.

 

@flybird08

 

So thats what happens when you are mixing synology compiled modules with standard kernel drivers. Modules are reffering to symbols that do not exist. This is what i've tried and seems to get the modules to load succesfully. Download the mpt3sas.ko from the repo again. 

 

insmod scsi_transport_sas.ko
insmod libsas.ko
insmod raid_class.ko
insmod mpt3sas.ko

 

lsmod |grep -i mpt

 

mpt3sas               194218  0
raid_class              3508  1 mpt3sas
scsi_transport_sas     23996  2 mpt3sas,libsas
 

 

 

Could you compile Jmicron ATA driver for DS918? I can make further attempts about JMB585 SATA controller

Link to post
Share on other sites
7 minutes ago, Orphée said:

Your mpt2sas.ko module    : 2,32 Mo (2 440 160 octets)

Original mpt2sas from rd.gz : 400 Ko (410 372 octets)

 

I'll take yours I guess

 

I've tested them and they load ... i dont own an mpt2sas controller myself to test.

Link to post
Share on other sites
3 minutes ago, svenger87 said:

This goddamn NUC doesn´t offer any options to disable xHCI.
It seems the installer won´t support USB 3.0 at all. I unloaded xhci-hcd and loaded ehci-hcd instead.

This is a known limitation. Booting from USB3.0 is not possible at this time.

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