Add USB-serial support to your Synology Diskstation
The Synology Diskstations do not support USB to serial converters (i.e. FTDI) out of the box. How ever, since Synology is so nice and publishes the kernel sources (its under GPL, so they actually have to), its not very hard to build and add the needed kernel modules.
To do so, I followed Charles-henri Hallards guide at http://hallard.wikidot.com/synomodules . Since the guide is already very nice and self explaining, I only want to show you the needed differences, if you have a DS210j, like I have.
The DS210j runs on an ARMv5TE processor. This means, we have to use the sources for the CPU-Model 88f6281. The German Synology-Wiki has a very nice list in case you want to know: http://www.synology-wiki.de/index.php/Welchen_Prozessortyp_besitzt_mein_System%3F.
You will have to download the DSM 4.0 Tool Chains for the Marvell 88F628x Linux 2.6.32 or newer, depending on your kernel version. For the Synology NAS GPL Source it will be the synogpl-2198-6281 source code of the latest branch.
Now wollow the instructions in the mentioned guide and extract the downloaded files into /usr/local/ and /usr/local/arm-none-linux-gnueabi/ .
The config file I had to copy to .conf was the 88f6281 file.
Then open the Makefile and change those two lines
ARCH ?= powerpc CROSS_COMPILE ?= /usr/local/powerpc-none-linux-gnuspe/bin/powerpc-none-linux-gnuspe-
to
ARCH=arm CROSS_COMPILE=/usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-
After following the rest of the guide I got the needed kernel modules.
Since you might not want to do the whole way by yourself, you also can download my files from here:
[wpfilebase tag=file path=’software/DS210jUSB-Serial-Modules_2.6.32.zip‘ /]
Installation and autostart
For the installation on your diskstation and to set up the autostart, you also can follow the guide again.Clean up
If you are short of space on your Linux machine, you can remove the folder /usr/local/arm-none-linux-gnueabi.
Hi,
thx for the guide and the links!
MY additional remarks trying to connect a Arduino UNO to a DS211j, 4.3 DSM, 2.6.32 Kernel:
– Compiling the kernel and modules worked withour errors in a 2.6.32 external Linux Distro (Fedora 12 on a Virtual Box VM)
After I had the necesary .ko files:
– I only had to insert the usbserial.ko module and then the /lib/modules/cpc_acm.ko module
– then do a mknod /dev/usb/ttyACM0 c 166 0
– then do a stty -F /dev/usb/ttyACM0 ispeed 9600 ospeed 9600
reading from the serial.println of the arduino worked with cat /dev/usb/ttyACM0
writing worked with echo „a“ > /dev/usb/ttyACM0
dmesg output:
[ 6443.160000] usb 1-1.1: new full speed USB device using orion-ehci and address 8
[ 6443.270000] usb 1-1.1: configuration #1 chosen from 1 choice
[ 6443.280000] cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device
Thank you very much, this was brilliant. I was already looking how to compile them for my ds212+, but I dont have a vmware with linux available. Please, if you need to compile them again then place the new version online too. 🙂 You have certainly made my day.
Thanks a bunch! This was exacty what I was looking for for my ds211j (88f6281+dsm4) 🙂
Now I will go play with my arduino online 😉