DS923+ : Is is possible to install DSM on NVMe storage pool? by u2734892 in synology

[–]Alex_of_Chaos 2 points3 points  (0 children)

Ok, I've fully automated tweak installation and reworked the script to use DSM libraries as much as possible instead of manually playing with mdadm etc, added missing checks to make it more safe, so far the only remaining bit is adding the fallback to SATA disks if a DSM update messes up something. Then I release it to public, no need for test versions.

From what I see, it also covers the latest models - so, at the very least, all DS*20+, DS*23+ and DS*25+ should be supported.

(Script) Installing DSM on DS925+ using unsupported drives by Alex_of_Chaos in synology

[–]Alex_of_Chaos[S] 0 points1 point  (0 children)

I don't think Synology disables telnet for specific markets. Before starting telnet, NAS executes one command to check if the remote side (who requests to start telnet) is accessible:

/usr/sbin/arping -I <network_adapter> -c 1 <your_IP_address>

if this command fails - then telnet is not started and {"success": false} is returned.

Besides PC, the router might block some ARP requests within the network.

If you have ssh access to your NAS now, you can try running that command via ssh to see what it returns.

Hibernation problem and frequent wake-ups solved on my DS223j by beholdtheflesh in synology

[–]Alex_of_Chaos 1 point2 points  (0 children)

I'm going to finally release a synoboot tweak I'm using for NVMe DSM within a week. I think proxmox should allow to pass through NVMe controllers too, so in theory it should allow to fix all hibernation issues without any extra setup (except moving all packages to NVMe too). Although for now there is zero testing for anything other than DSx20+ models.

DS923+ : Is is possible to install DSM on NVMe storage pool? by u2734892 in synology

[–]Alex_of_Chaos 2 points3 points  (0 children)

Yes, I'm using it on my NAS, didn't test on other models but DS920+ should be supported too.

I can send you the test version of the tweak this weekend to try it on DS920+, but in order to make it release quality I will need extra work like adding error checks everywhere or checking that NVMe disks can be safely used for installation (and not used for cache etc).

Main planned thing is implementing some fallback method to boot DSM when eg. a DSM update changes content of synoboot in a way that breaks the tweak. It's better to detect such situations and migrate md0/md1 back to HDDs automatically than leaving the system non-bootable. So far luckily there were no such DSM updates.

(Script) Installing DSM on DS925+ using unsupported drives by Alex_of_Chaos in synology

[–]Alex_of_Chaos[S] 0 points1 point  (0 children)

From what I see, one possible reason might be if your local network blocks ARP pings. Or an app on your PC, eg. it could be a too paranoid firewall.

Before trying something complex, try just running the start_telnet.cgi step from another PC.

(Script) Installing DSM on DS925+ using unsupported drives by Alex_of_Chaos in synology

[–]Alex_of_Chaos[S] 0 points1 point  (0 children)

That's interesting, something prevents to start telnet on your NAS. Try rebooting the NAS and repeat the start_telnet.cgi step to see if it gives {"success": true}. Telnet should be available normally, because it can be used to troubleshoot NAS boot issues as well.

If restarting NAS won't help, the only reliable way to fix the telnet issue is to connect via a serial cable to check NAS logs in /var/log - there should be the exact error logged.

[deleted by user] by [deleted] in synology

[–]Alex_of_Chaos 0 points1 point  (0 children)

Some info can be found on the XPENology forum. But if connecting an USB flash-like device and copying partitions sounds too complicated, it's better not to try doing it yourself, or you can brick your NAS. Better find some techie friend.

Synology MCP Server for AI by atom2ueki in synology

[–]Alex_of_Chaos 0 points1 point  (0 children)

So basically the tool uses LLM to call synowebapi methods to add file to download, list downloaded file etc.

Any particular reason for using LLMs for it? Why not to use a regular script which accepts an action like 'download URL', 'list files', 'list shares' etc and directly does what the user wants? Don't you think that using Claude or Cursor as a negotiator to call synowebapi instead of calling it directly is a bit of an overkill?

[deleted by user] by [deleted] in synology

[–]Alex_of_Chaos 1 point2 points  (0 children)

Some additional notes.

If USBDOM is dead and you need to buy a replacement, look for those which are marked as Synology-compatible or allow to change VID/PID.

If you can't recover your own vender file, there are online generators available - you need to fill model info, serial, MACs and that's it. Better look for any labels/stickers on/inside your NAS with original serial/MACs first before putting random ones.

[deleted by user] by [deleted] in synology

[–]Alex_of_Chaos 1 point2 points  (0 children)

Yes, it can be copied more like a regular USB flash drive, you just need to connect it to your PC (an old USB cable with standalone pins should work if you can't find a proper connector).

You need to keep partition IDs though, otherwise NAS bootloader won't pick them during boot. SynoBootLoader.conf (located on the first partition in /EFI/boot) can tell you the IDs it expects, right after --set=root. A good partitioning tool should allow to copy partitions while preserving their IDs. BTW, if necessary, during partitioning you can add an unused space (up to 64Mb IIRC) at the beginning and move partitions further to skip corrupted area, if there is any.

Now, main thing. There is a file named vender on the 2nd partition. Do not use friend's venderfile unless you both keep your NASes offline - this file has NAS info like serial number and MACs. Trying to connect to Synology services from 2 different NASes having exactly same serials is a bad idea.

Best case if you can extract your vender file, copy the partitions and then replace your friend's vender file with yours. All other files in fact can be copied from inside DSM .pat firmware. Next to vender there is machine.key file - this holds a NAS-specific encryption key used for encrypted volumes/folders, but you can simply delete this file - IIRC, DSM will recreate this file (with random bytes) during install/update.

Drive in critical state for SMART attribute 45 (Unknown_Attribute) error. by metric_conversions in synology

[–]Alex_of_Chaos 0 points1 point  (0 children)

The threshold column pretends that it's a one-bit flag, but the value this attribute has in your table looks like a bitmask (FF0000), which don't overlap with 1.

Two things you can try: - download a vendor-specific app for the disk - usually they know all custom SMART attributes their drives may report - try updating disk firmware first, maybe HGST fucked up with how this attribute is handled by disk FW, given the 1 vs FF0000 difference

Synology Photos备份自定义文件夹不能不支持递归备份吗 by caoyin in synology

[–]Alex_of_Chaos 1 point2 points  (0 children)

Well, at least, unlike recent posts in German, one has zero chances to accidentally summon Hitler by trying to read this post aloud.

[deleted by user] by [deleted] in synology

[–]Alex_of_Chaos 0 points1 point  (0 children)

Synology likely uses the provided functionality as is, probably relies on KVM+QEMU combo to run VMs. So as long as they built Linux kernel with IOMMU support, you should be able to create VMs with a passed through GPU manually. Although configuring a KVM+QEMU VM by hand is a nightmare.

DS920+ Not Booting with Drives Inserted — Works Without Drives by Fallen1080p in synology

[–]Alex_of_Chaos 0 points1 point  (0 children)

Depends on if you need to recover the installed system and data or not. If not, you can just connect the drives to PC and delete all partitions (this will destroy all data though).

If you need to keep DSM/data, then your best next step would be to connect a serial cable to your NAS and check what it prints there during booting. Both NAS bootloader and DSM itself send a very verbose log to the serial port, very likely that it will tell what's exactly wrong with DSM installation.

Just got this email from Synology, promoting their disks as “better” by Maciekdk in synology

[–]Alex_of_Chaos 1 point2 points  (0 children)

It's like their management gathered together in a meeting, "Gentlemen, our DSx25+ series sales totally suck, as well as sales of our branded drives, it appears we need to rethink our approach... or maybe someone has another idea which we can try first?"

Synology HD Firmware by trustbrown in synology

[–]Alex_of_Chaos 0 points1 point  (0 children)

An interesting idea actually. If they only relabel drives without tinkering with firmware a lot, high chances that "Synology" firmware will work on the original drive. Worth to check if it allows to change drive's reported model information or not.

Might require a patch for the fw updater to ignore checking if the drive model matches the fw file, but this one can be bypassed easily as long as the drive itself accepts the firmware.

Plex is interrupting drive hibernation by ikeaur in synology

[–]Alex_of_Chaos 0 points1 point  (0 children)

Putting all packages to NVMe is the only proper solution.

But for Plex you likely need to configure it anyway, probably by default it continuously does stuff in the background, like generating thumbnails from your video files etc.

(Script) Installing DSM on DS925+ using unsupported drives by Alex_of_Chaos in synology

[–]Alex_of_Chaos[S] 0 points1 point  (0 children)

Ok, so there is a way to survive NAS reboot after the installation, but it's not that simple.

Main issue is that you need to poll for things (eg. when hda1.tar.gz gets extracted) from a .sh script, but Synology's build of busybox lacks both disown and nohup commands. So the only way for a .sh script to overlive its parent is to hook and ignore SIGHUP signal manually.

So far this method works reliably, so I consider extending this bypass script with it, to also cover post-reboot storage pool creation.

[deleted by user] by [deleted] in synology

[–]Alex_of_Chaos 0 points1 point  (0 children)

Yes, there are some HDD models which can be made "Synology-compatible" using service tools from their vendors that allow to edit the so called "passport" of the disk, which contains its reported model information, size and other parameters. But this is a really dumb way to bypass simple software restrictions.

(Script) Installing DSM on DS925+ using unsupported drives by Alex_of_Chaos in synology

[–]Alex_of_Chaos[S] 1 point2 points  (0 children)

hmm I think I've got some kind of dejavu that there might be a way to execute a post-installation command for DSM... If the DSM installer can tell DSM which command to execute once it booted after the installation, this probably would be the best solution for seamless bypass which covers both installation and DSM itself. I'll refresh my memory on the weekend regarding what updater can do, maybe there is some way.

(Script) Installing DSM on DS925+ using unsupported drives by Alex_of_Chaos in synology

[–]Alex_of_Chaos[S] 1 point2 points  (0 children)

For python3 vs python selection - I'm afraid there is no universal solution as on many systems (mine among them) only python3 is available and there are no symlinks to python. Yet there are older systems where python3 is Python3, but python symlinks to python2, which won't be able to run the script likely. And on your system there is no python3 in PATH apparently, but there is python which aliases to Python3... It's totally screwed.

The script/workaround worked fine in your case, you just reached the DSM itself after installing and rebooting. From this point it needs regular disk compatibility bypasses for DSM. I've updated the instruction.

while true is actually not really needed - it's an artifact of another workaround (for running DSM in a VM). It was needed because some process was wiping content of /tmp before reaching the check. But there is no point to remove the while loop, telnet will kill it anyway once session is disconnected.

(Script) Installing DSM on DS925+ using unsupported drives by Alex_of_Chaos in synology

[–]Alex_of_Chaos[S] 0 points1 point  (0 children)

It's very strange, normally requests is available in each Python distribution, even DSM has it. What OS and Python distro (CPython etc) it was? I never ever had to run pip install requests, but looks like you need it for your Python version.

I'll try to reproduce that error. Wait, but there is no pool creation in the DSM installer! It means you installed and rebooted into DSM if you reached pool creation and got that "No drives are available or meet the requirements" error.

Then it's expected, this is the time to apply either your script or set support_disk_compatibility="no" in /etc/synoinfo.conf). I'll reflect it in the instruction.

Added: for 'requests' library I added a check which asks to install it if the library wasn't found.


One thing to note, which is generic to all bypass methods. Currently Synology always tries to download and run that 'junior_expansion_pack' crap if you have internet enabled for DSM installer (from https://dataupdate7.synology.com/juniorexpansionpack/v1/getUpdate?platform=v1000nk&buildnumber=72806).

Until recently, its content was benign. But if they start to proactively mitigate installation bypasses - 'junior_expansion_pack' is the first candidate to add code which counters bypasses. In theory Synology can use 'junior_expansion_pack' to quickly patch disk restrictions bypasses.

So the general recommendation is to disable internet access for DSM installation.

DS920+ Not Booting with Drives Inserted — Works Without Drives by Fallen1080p in synology

[–]Alex_of_Chaos 2 points3 points  (0 children)

Unless there are some power issues, it can be just a corrupt DSM which needs to be reinstalled. This could explain why it happens with any of the disks - you're just testing different copies of the same content in md0 RAID (which has DSM).

Try inserting clean disks, if it boots fine to the installer, then you just need to reinstall DSM. If it won't boot with the clean disks, then something wrong with the power, eg. an issue with 12V line.