007revad / Synology_HDD_db

Add your HDD, SSD and NVMe drives to your Synology's compatible drive database and a lot more
MIT License
2.72k stars 180 forks source link

DS1821+ E10M20-T1 PCIe card not recognised #334

Closed AndrewTapp closed 4 months ago

AndrewTapp commented 4 months ago

I've had to migrate from a DS1823xs+ to a DS1821+ due to overheating issues, which is another story!!

Anyway I'm using the same setup as the DS1823xs+ i.e. E10M20-T1 PCIe card, which shows up in the Info Center, however both the network port and M2 drives don't show up either in network settings or storage manager.

Am guessing it's either incorrectly using some settings left over from the migration, or the card isn't defined for the DS1821+

I've attached the output from your script for your information.

Your help would be appreciated.

Task Scheduler has completed a scheduled task.

Task: Check HDD Database
Start time: Fri, 26 Jul 2024 11:58:28 +0100
Stop time: Fri, 26 Jul 2024 11:58:38 +0100
Current status: 0 (Normal)
Standard output/error:
Synology_HDD_db v3.5.96
DS1821+ DSM 7.2.1-69057-5 
StorageManager 1.0.0-0017

ds1821+_host_v7 version 8054

Using options: --showedits --ram --autoupdate=4
Running from: /volume1/homes/AndrewTapp/Scripts/syno_hdd_db.sh

HDD/SSD models found: 1
WD221KRYZ-01BBAB0,01.01H01,22000 GB

M.2 drive models found: 1
Corsair MP600 PRO NH,EIFM51.3,8001 GB

No M.2 PCIe cards found

Expansion Unit models found: 1
DX517

 [0;33mWD221KRYZ-01BBAB0 [0m already exists in  [0;36mds1821+_host_v7.db [0m
 [0;33mWD221KRYZ-01BBAB0 [0m already exists in  [0;36mdx517_v7.db [0m
 [0;33mCorsair MP600 PRO NH [0m already exists in  [0;36mds1821+_host_v7.db [0m

Support disk compatibility already enabled.

Su
pport memory compatibility already disabled.

Max memory already set to 64 GB.

NVMe support already enabled.

M.2 volume support already enabled.

Drive db auto updates already enabled.

WD221KRYZ-01BBAB0:
{
  "01.01H01": {
    "size_gb": 22000,
    "compatibility_interval": [
      {
        "compatibility": "support",
        "not_yet_rolling_status": "support",
        "fw_dsm_update_status_notify": false,
        "barebone_installable": true,
        "barebone_installable_v2": "auto",
        "smart_test_ignore": false,
        "smart_attr_ignore": false
      }
    ]
  },
  "default": {
    "size_gb": 22000,
    "compatibility_interval": [
      {
        "compatibility": "support",
        "not_yet_rolli
ng_status": "support",
        "fw_dsm_update_status_notify": false,
        "barebone_installable": true,
        "barebone_installable_v2": "auto",
        "smart_test_ignore": false,
        "smart_attr_ignore": false
      }
    ]
  }
}

Corsair MP600 PRO NH:
{
  "EIFM51.3": {
    "size_gb": 8001,
    "compatibility_interval": [
      {
        "compatibility": "support",
        "not_yet_rolling_status": "support",
        "fw_dsm_update_status_notify": false,
        "barebone_installable": true,
        "barebone_installable_v2": "auto",
        "smart_test_ignore": false,
        "smart_attr_ignore": false
      }
    ]
  },
  "default": {
    "size_gb": 8001,
    "
;compatibility_interval": [
      {
        "compatibility": "support",
        "not_yet_rolling_status": "support",
        "fw_dsm_update_status_notify": false,
        "barebone_installable": true,
        "barebone_installable_v2": "auto",
        "smart_test_ignore": false,
        "smart_attr_ignore": false
      }
    ]
  }
}

DSM successfully checked disk compatibility.

You may need to  [0;36mreboot the Synology [0m to see the changes.

From DS1821
007revad commented 4 months ago

You need https://github.com/007revad/Synology_enable_M2_card to make the DS1821+ support the E10M20-T1

You'll then need to run syno_hdd_db again (if it's not already scheduled to run at boot) so it can find and add the NVMe drives in the E10M20-T1 to the E10M20-T1's compatible drives database.

FYI NVMe drives in the E10M20-T1 run twice as fast as the same drives in the internal M.2 slots.

AndrewTapp commented 4 months ago

Many thanks for that, all working as expected now.

Interesting about the speed of the M.2 slots, as a result I've switched the caching around to make use of the faster PCIe card.

For information the first time I ran the script was from a scheduled task within the NAS, the eMail confirmation mentioned about downloading dtc. I subsequently ran it from SSH and manually confirmed the download of dtc.

I take it dtc is only needed on first run of the script, are there any updates that I need to be looking out for?

Just wondered your views about automatically downloading dtc (via an option) within the script?

Task Scheduler has completed a triggered task.

Task: Enable E10M20-T1 card
Start time: Fri, 26 Jul 2024 13:08:35 GMT
Stop time: Fri, 26 Jul 2024 13:08:36 GMT
Current status: 1 (Interrupted)
Standard output/error:
Synology_enable_M2_card v3.1.16
DS1821+ DSM 7.2.1-69057-5 

StorageManager 1.0.0-0017

Using options: --model=E10M20-T1
Running from: /volume1/homes/AndrewTapp/Scripts/syno_enable_m2_card.sh

 [0;33mE10M20-T1 NIC [0m already enabled for  [0;36mDS1821+ [0m
 [0;33mE10M20-T1 NVMe [0m already enabled for  [0;36mDS1821+ [0m

Need to download dtc
 [0;36mDo you want to download dtc? [0m [y/n]
 [41mERROR [0m Cannot add M2 PCIe card without dtc!

From DS1821
007revad commented 4 months ago

I did automate downloading dtc in syno_hdd_db.

I'll have a look at what's different between syno_hdd_db and syno_enable_m2_card. They both should behave the same way as far as installing dtc is concerned.

If dtc is needed and not already installed the script should:

  1. If /volume1/homes/AndrewTapp/Scripts/bin/dtc exists install dtc from /volume1/homes/AndrewTapp/Scripts/bin/dtc
  2. If /volume1/homes/AndrewTapp/Scripts/dtc exists in the same folder as the script install dtc from /volume1/homes/AndrewTapp/Scripts/dtc
  3. Otherwise download dtc from the github repo.
AndrewTapp commented 4 months ago

Sorry for the delay in getting back to you.

Your script does in deed do what you've indicated, however the first time I ran it was from the NAS, unattended. I didn't appreciate that it required user input, asking if dtc needed to be downloaded. I subsequently ran it from an SSH session and answered the question, which downloaded dtc and ran successfully.

I was eluding to, in order to run fully unattended from the NAS there should perhaps be an option to automatically download dtc?

007revad commented 4 months ago

The script only needs to download dtc if the included dtc or bin/dtc are in the same directory as syno_hdd_db.sh

From the readme.md

Required files

The following files from the downloaded zip file must be in the same folder:

  1. syno_hdd_db.sh
  2. syno_hdd_vendor_ids.txt
  3. dtc or the bin folder containing dtc (only required if you have a E10M20-T1, M2D20 or M2D18 in a NAS that does not support them).

Previously the script used to automatically download dtc if needed, but someone had security concerns about the script downloading a binary file without asking. But making the script ask for permission before downloading prevented the script being scheduled to run unattended.

To satisfy security concerns and running as a scheduled task I changed the script so the --autoupdate option would behave as if the user had answered yes. Unfortunately I was unable to detect if the script was running from a scheduled task so using the --autoupdate option seemed like the best solution.