It thinks that sdd2 is already being used, you must stop the array first. The state that ssd2 is now depends on how the initial array was stopped and/or sdd2 removed from the array.
Use
mdadm --stop /dev/md127
and now 'cat /proc/mdstat' shouldn't print nothing and you can assemble it
mdadm --assemble /dev/md10 /dev/sdd2 # -A == --assemble, -R == --run
I used md10 here, you can use whatever you want, e.g. md0, as long as it does not exists, i.e., it does not appears on 'cat /proc/mdstat' output.
You can (would) now mount /dev/md10.
But the output of 'mdadm --examine /dev/sdd2' would be useful.
If the array was created by the D-Link fw, the 'mdadm --examine' option would say Version 0.9 (or 0.90?), and if created under Alt-F it would be 1.0.
Both of these md versions put the raid metadata at the end of the partition, so the partition should be recognized as being ext2/3/4 (the 'blkid /dev/sdd2' command would say so) and it should be possible to mount sdd2 directly without assembling the array.
You couldn't do it, so I assume that some other error exists. I assume because you didn't post the sdd2 mount command you used and its the output.
If the md version is 1.1 or 1.2, the md metadata is put at the partition start, so 'blkid' will probably say its part of a raid array and it has to be assembled before for it to be mounted.