Jman420 Posted November 27, 2014 #1 Posted November 27, 2014 (edited) I am working on trying to add support for my NEC D720202 (USB 3.0 Controller) and I think that I need to build (or possibly rebuild) a kernel module in order to add the support to XPEnology. My plan is to try to compile the NEC D720202 driver as a kernel module on a VM and use 'insmod' to install it on my NAS. I found this tutorial which talks about a similar process: http://hallard.me/how-to-install-kernel-modules-on-synology-ds1010-dsm-4-1/ but I don't see the source code for DSM 5.0 build 4582, which is what I am running and would like to use to compile the module. Does anyone know where I can get the 4582 source code, or whether the 4458 build is good enough for this? Edited November 28, 2014 by Guest
Vortex Posted November 27, 2014 #2 Posted November 27, 2014 Take the build 4458. It is good enough for compiling kernel modules for any DSM 5.0
Jman420 Posted November 27, 2014 Author #3 Posted November 27, 2014 Thanks Vortex. I'll let you guys know how it goes. Update: Great success! I managed to compile and replace the xhci-hcd kernel module with one that includes support for my USB 3.0 controller. A Guide will be coming soon.
Jman420 Posted November 28, 2014 Author #4 Posted November 28, 2014 So I don't think I'm going to make a guide for this. I'm not sure what exactly I've done to my XPEnology Installation, but I can't seem to undo the support I've added. Weird thing is that I've completely formatted and re-installed XPEnology without replacing the default xhci-hdc.ko file and my NEC USB 3.0 Controller is still recognized. I even tried re-compiling the DSM Kernel without the process below and re-installed the module, but I can still access my USB 3.0 ports. Very strange, but I'm not arguing since it all seems to be working smoothly. For the compiled modules: https://www.dropbox.com/sh/0dfjxv51vdzhvw9/AAADGtUS6Jl9RsbVUOGlm-Apa?dl=0 The module I installed is xhci-hcd.ko.xpen. You can rename this file to xhci-hcd.ko and replace the module on your XPEnology machine (see below). I've also attached the module I compiled from the unmodified DSM 5.0 code (xhci-hcd.ko.syno) just for comparison sake. I'm not sure if the two modules are different at all. Maybe since I compiled on Ubuntu 14.04 the support is automatically added. A quick overview of the process: 1. Create Ubuntu VM (I used Azure)2. Install necessary packages: apt-get install build-essential ncurses-dev libc6-i3863. Download necessary toolchain & DMS source code and extract4. Add xhci-hcd.c to source/linux-3.x/drivers/usb/host/5. Modify Makefile to include the xhci-hcd.c file in the xhci-hcd module6. Compile the DSM Kernel7. Replace the /lib/modules/xhci-hcd.ko file on the XPEnology with the source/linux-3.x/drivers/usb/host/xhci-hcd.ko file from the VM8. Reboot the XPEnology Resource Links: http://hallard.me/how-to-install-kernel-modules-on-synology-ds1010-dsm-4-1/ http://www.tyan.com/manuals/LinuxUSB3DriverPortingManual.pdf http://xpenology.com/wiki/en/building_xpenology http://www.filewatcher.com/m/xhci-hcd.c.55800-0.html
grequ22 Posted July 31, 2015 #5 Posted July 31, 2015 Hi, I know its old, but can you compile a new xhci driver to replace, or new image 5.2-5592.1? As the old one is missing from dropbox (works very well) and i cant do it by my self Regards, grequ22
Jman420 Posted July 31, 2015 Author #6 Posted July 31, 2015 These drivers should be included in the current boot image. I haven't had to replace the USB 3 drivers since we switched to xpenoboot.
grequ22 Posted July 31, 2015 #7 Posted July 31, 2015 Yes, you are right - it should include it, but wont Somehow original image for 5.2-5565.2 didnt work, and new one also dont recognize it. About a month ago ive searched google and downloaded "XPEnoboot_DS3615xs_5.2-5565.3-006342a.img" which works very well. Ive searched history by time of creating the file (iso) and ive came exactly to this thread, so i thought it would be it. Regards
Jman420 Posted August 2, 2015 Author #8 Posted August 2, 2015 I just verified that the USB 3.0 ports on my live server (which is running on hardware) are functioning. Not sure what problem you are experiencing, but I am not going to go through the process of re-compiling another driver. All the articles and info that I used are in the links I provided above.
Recommended Posts