: Today I updated my Syno to DSM 5.2 and Synology team for this release changed kernel version from 3.2.40 to 3.10.35. I think the procedure described in this post is still working but I needed to remove my old virtual machine so I can’t check anymore and do any compilation to validate.

If anyone done it, just let me know so I can update this post according.

updating openfiler-69

For DSM 4.3 the folder is 3.2.40 (the matching kernel version) copy the needed modules to this folder (unfortunatly synology can’t do native scp) so I copied then from my linux box to the Synology share Net Backup (/volume1/Net Backup/modules) and then issued from the Synology #dmesg [3614241.559823] usbcore: registered new interface driver usbserial [3614241.566106] USB Serial support registered for generic [3614241.571638] usbcore: registered new interface driver usbserial_generic [3614241.578358] usbserial: USB Serial Driver core [3614248.756928] USB Serial support registered for FTDI USB Serial Device [3614248.763906] usbcore: registered new interface driver ftdi_sio [3614248.769921] ftdi_sio: v1.6.0: USB FTDI Serial Converters Driver [3614253.442812] USB Serial support registered for pl2303 [3614253.448340] usbcore: registered new interface driver pl2303 [3614253.454114] pl2303: Prolific PL2303 USB to serial adaptor driver [3614259.258426] USB Serial support registered for cp210x [3614259.263951] usbcore: registered new interface driver cp210x [3614259.269711] cp210x: v0.09: Silicon Labs CP210x RS232 serial adaptor driver dmesg [423700.733757] usbcore: registered new interface driver usbserial [423700.740088] USB Serial support registered for generic [423700.745734] usbcore: registered new interface driver usbserial_generic [423700.752621] usbserial: USB Serial Driver core [423707.532975] USB Serial support registered for pl2303 [423707.538493] usbcore: registered new interface driver pl2303 [423707.544403] pl2303: Prolific PL2303 USB to serial adaptor driver [423727.083297] USB Serial support registered for FTDI USB Serial Device [423727.090326] usbcore: registered new interface driver ftdi_sio [423727.096325] ftdi_sio: v1.5.0: USB FTDI Serial Converters Driver [427041.198512] usb 7-1: new full speed USB device using uhci_hcd and address 3 [427041.353494] Got empty serial number. [427041.361047] usb 7-1: configuration #1 chosen from 1 choice [427041.370793] pl2303 7-1:1.0: pl2303 converter detected [427041.388470] usb 7-1: pl2303 converter now attached to tty USB0 [427856.592812] usb 8-2: new full speed USB device using uhci_hcd and address 2 [427856.747130] Got empty serial number. [427856.754245] drivers/usb/core/hub.c (1970) Same device found. Change serial to ffffffc6ffffffa3ffffffcfffffffa0 [427856.765288] usb 8-2: configuration #1 chosen from 1 choice [427856.773506] pl2303 8-2:1.0: pl2303 converter detected [427856.791078] usb 8-2: pl2303 converter now attached to tty USB1 May be you want the modules to be loaded at boot time, sure this is what I wanted create the following script S10modules in /opt/etc/init.d/ folder.

Change the MODULES_DIR and MODULES var to fit with your configuration. /bin/sh # Original script has been written by Davy Leggieri (hey another French guy :-) # Modified by Charles-Henri Hallard on April 2012 to fit with my configuration # # there is start stop var because at stop modules usbserial should be unloaded last MODULES_DIR="/opt/lib/modules/3.2.40" MODULES_START="ftdi_pl2303cp210x.ko" MODULES_STOP="ftdi_pl2303cp210usbserial.ko" start_modules(){ echo "--- Load modules ---" for i in $MODULES_START; do echo "Loading $i" insmod $MODULES_DIR/$i done # Create the tty USB (7 should be enought for me) if [ -c /dev/tty USB0 ]; then mknod /dev/tty USB0 c 188 0 mknod /dev/tty USB1 c 188 1 mknod /dev/tty USB2 c 188 2 mknod /dev/tty USB3 c 188 3 mknod /dev/tty USB4 c 188 4 mknod /dev/tty USB5 c 188 5 mknod /dev/tty USB6 c 188 6 fi } stop_modules(){ echo "--- Unload modules ---" for i in $MODULES_STOP; do echo "Unloading $i" rmmod $MODULES_DIR/$i done } case "$1" in start) start_modules ;; stop) stop_modules ;; *) echo "usage: $0 { start | stop }" Have fun I have more and more demand of custom compilation, I can do it when I have time but it take some time to do this, so if you want to donate, feel free to do it using the following paypal button.

The following WQL query for SCCM will poplulate all the workstaions into one collection.

For my DS1010 DSM 4.3 (update 2) I took gcc420_glibc236_x64and synogpl-3776-x64For my DS1010 DSM 5.0/5.1 I took gcc473_glibc217_x86_64and synogpl-4458-x64Our kernel is 3.2.11, now get back to the linux box and go to the Synology NAS GPL source folder corresponding to your Synology Linux kernel.

But before, it is also time to become root to avoid permission denied in the future.

For DSM 5.0/5.1 : I tried to change the line above, but does not exist and tried to change CONFIG_CROSS_COMPILE didn’t worked either, so I decided to do it dirty way, I added the two following lines directly in the Makefile located in current folder DSM 5.0/5.1 : press enter on each question (let default values) Launch the configuration menu to select what we need.Take care, the Makefile on DSM 4.2 seems corrupt on line 179 you need to edit it and change the 2 lines Here, I went to some file not found problem, my 64 bits compile platform was unable to launch 32 bits applications and fired me a error “file not found on the file x86_64-linux-gnu-gcc even if the file was here.To correct this you need to install 32 bits libraries (yeah, if you don’t know that you’re stuck !! downloading 64 bits toolchains contains 32 bits programs, and even worse, on the Synology, there are a lot of 32 bits files even if it is a 64 bits kernel./usr/local/x86_64-pc-linux-gnu/source/linux-3.x/drivers/usb/serial# ls *digi_io_kl5kusb105safe_usb_ark3116kobil_siemens_belkin_ftdi_mct_u232usb_ch341mos7720oti6858spcp8x5cp210garmin_iuu_mos7840pl2303ssu100hp4moto_cypress_m8io_keyspan_ti_usb_3410_5052I have ipkg optware installed to my Synology so you need it if you want to do the following.The procedure is located on another post on my blog You can do it without ipkg also, copying the module into /lib/modules/ of the synology and adding the startup script (see below) into /usr/syno/etc/rc.d/ But I prefer separate and put them into ipkg, this will prevent erasing the modules with futur firmware update.So if using ipkg, go ssh to your Synology box and create the folder hierarchy under /opt/lib/.