Jump to content
XPEnology Community

Driver extension for jun 1.02a/3615xs


Recommended Posts

hallo,

 

i'v created a extra.lzma that can replace the same file in jun 1.02a

as descibed in DSM 6.0.2/6.1 howto, open synoboot.img with OSFMount (read/write) and replace the extra.lzma with the one i provide, dismount it and tranfer to usb stick (don' forget the usb vid/pid) - if you unfamiliar with that you should not use it, its experimantal and for people with at least some knowlege how xpenology is installed

 

i added 2 firmwares for bxn2 that where missing in the original

removed the r8169 driver from rc.modules and replaced it with r8168 driver (compiled from source realtek is providing on there homepage) - hopefully it will work better for some people then the r8169 (the r8169.ko is still there but will not be loaded)

also added drivers for virtio (as somone requested) but i have not added them into the rc.modules so they are "inactive" if someone wants to play with that stuff, place the entrys in rc.modules and ...

 

for all the drivers i added, the intel e100 was the only one i added firmware for, so there might be some firmware missing, if you know or find out be reading the log (!!!), let me know i will add that firmware

 

it's also possible to unpack the extra.lzma (7zip on windows can unpack it, but not modify or repack it) and place the driver directly in the right directory and modify the rc.* files to load them in a running system (or load them with insmod manualy -> less dangerous as it does not influence boot process, good if you just want to find out that the driver is working for the hardware in question)

 

please don't fill this posting by asking for drivers, for the moment it's the first test, new stuff might be added later (or someoen comes up with a better collection?) and it will be in an new thread

 

i tested it with 1.02a and 3615xs

edit: as reported no 1.02a2/3617xs, as i already have a 1.02a2/3617xs test enviroment it should be not to much effort to build one for that too

edit2:

in some modules there are unknown symbols after loading, some only happen with the newer 6.1.1_15101 that uses the same kernel number but synology has modifyed it so i differs from 6.1_15047, i removed them and marked them in the list as "---temp remove - "

uploaded a new v2 version of the extra.lzma

 

 

here the list of drivers i added:

 

net/ethernet
---temp remove - Broadcom 440x/47xx ethernet support						b44.ko
---temp remove - Intel(R) PRO/100+ support									e100.ko
Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support			e1000e.ko
Intel(R) 82576 Virtual Function Ethernet support					igbvf.ko
Intel(R) PRO/10GbE support								ixgb.ko
Intel(R) 82599 Virtual Function Ethernet support					ixgbevf.ko
nForce Ethernet support									forcedeth.ko
Realtek 8168 gigabit ethernet support						r8168.ko
Virtio network driver										virtio_net.ko

net/usb
USB RTL8150 based ethernet device support					rtl8150.ko
---temp remove - Realtek RTL8152 Based USB 2.0 Ethernet Adapters				r8152.ko
---temp remove - ASIX AX88xxx Based USB 2.0 Ethernet Adapters					asix.ko
---temp remove - Prolific PL-2301/2302/25A1 based cables						plusb.ko

block
Promise SATA SX8 support									sx8.ko
Virtio block driver										virtio_blk.ko

scsi
3ware 9xxx SATA-RAID support								3w-9xxx.ko 3w-sas.ko
Marvell 88SE64XX/88SE94XX SAS/SATA support					mvsas.ko
ARECA (ARC11xx/12xx/13xx/16xx) SATA/SAS RAID Host Adapter		arcmsr.ko
HighPoint RocketRAID 3xxx/4xxx Controller support				hptiop.ko
Intel(R) C600 Series Chipset SAS Controller						isci.ko

ata
---temp remove - NVIDIA SATA support										sata_nv.ko
---temp remove - Silicon Image SATA support									sata_sil.ko
---temp remove - VIA SATA support										sata_via.ko

virtio
PCI driver for virtio devices								virtio_pci.ko
Virtio balloon driver										virtio_balloon.ko
Platform bus driver for memory mapped virtio devices			virtio_mmio.ko
												virtio.ko
												virtio_ring.ko

 

v2

http://s000.tinyupload.com/?file_id=07550851861898450690

 

PS: if you raid is shredded into peaces by a driver - don't blame me i've only compiled them (maybe somone at kernel.org will listen, the only thing i can do is to remove the driver from the package)

Edited by Guest
Link to comment
Share on other sites

Below modules need to be removed as they will not work. You need to check the source code and amend where necessary then recompile.

 

insmod: ERROR: could not insert module e100.ko: Unknown symbol in module
insmod: ERROR: could not insert module r8152.ko: Unknown symbol in module
insmod: ERROR: could not insert module asix.ko: Unknown symbol in module
insmod: ERROR: could not insert module plusb.ko: Unknown symbol in module
insmod: ERROR: could not insert module b44.ko: Unknown symbol in module
insmod: ERROR: could not insert module sata_nv.ko: Unknown symbol in module
insmod: ERROR: could not insert module sata_sil.ko: Unknown symbol in module
insmod: ERROR: could not insert module sata_via.ko: Unknown symbol in module

I didn't go into details but I think some of the modules you added are redundant because DSM already includes the latests ones. I might be wrong but it's worth you check it out.

 

Using that extra.lzma ramdisk on DS3617xs will not work and you will end up with a kernel panic.

Link to comment
Share on other sites

Not sure if we should wait for Jun's final ones coming out or go ahead and use this thread. :???:

 

it's just additional drivers and it will stay that way for a forseeable future

 

 

Below modules need to be removed as they will not work. You need to check the source code and amend where necessary then recompile.

 

edit:

i used the source for 15047 (no source for 15101), the log of a 3615xs with 6.1_15047 shows less unknown symbols so the modifications for 15101 are to blame for a least 6 of the 8 removed drivers with unknown symbols

 

 

I didn't go into details but I think some of the modules you added are redundant because DSM already includes the latests ones. I might be wrong but it's worth you check it out.

 

i did not think about that, just took the predefined synology kernel config asuming that what was not marked as module will not be in DSM, i will check that later this evening and make a new version

edit: i removed the 4 drivers that where already part of dsm

Link to comment
Share on other sites

 

Below modules need to be removed as they will not work. You need to check the source code and amend where necessary then recompile.

 

edit:

i used the source for 15047 (no source for 15101), the log of a 3615xs with 6.1_15047 shows less unknown symbols so the modifications for 15101 are to blame for a least 6 of the 8 removed drivers with unknown symbols

 

Indeed, I tested with 6.1.1 since it is the latest & greatest and you should focus on that one as people are slowly moving away from 6.1. Anyways, good work.

 

Regarding the compatibility of your modules for DS3617xs, it's Jun's patch (included in the ramdisk) that is causing problems since the patch is customised for each of the 3 models (3615, 3617 and 916). There is a chance that if you extracts the modules you compiled from your extra.lzma and add them to a default extra.lzma for DS3617xs the modules might work. You can try it and you will see if that works or not. It is highly recommended though to compile the module specifically for DS3617xs since the architecture is different from DS3615xs and the config as well.

Link to comment
Share on other sites

Edit: I found the thread for building and injecting the drivers. I added virtio_net to the rc.modules but no network show up.

Can you confirm that the driver works?

 

Thanks

 

Interested in the VirtIO network drivers. Adding your extra.lzma is no problem, but I can't wrap my head around updating the rc.modules.

Care to explain how i go about doing so?

 

Thanks

 

Link to comment
Share on other sites

had to load r8168 manually for some reason?

 

there is a entry r8168 in rc.modules so it should, at least as far as my knowlege reaches

you might check /var/log /dmesg, entrys from rc.modules should produce a entry when loading, if e1000 and e1000e are loaded then the r8168 should also be there (maybe it is with a error message?)

Link to comment
Share on other sites

Edit: I found the thread for building and injecting the drivers. I added virtio_net to the rc.modules but no network show up.

Can you confirm that the driver works?

 

i added them blindly as someone requested them, i now read that they seem to be used inside a kvm guest when the net config for the guest is virtio, so it seems that they are useless in a normal xpenology enviroment

why you want to load them?

 

Interested in the VirtIO network drivers. Adding your extra.lzma is no problem, but I can't wrap my head around updating the rc.modules.

Care to explain how i go about doing so?

 

you have to unpack the extra.lzma, modify the rc.modules and repack it properly

i wrote about iz here:

"how to build and inject missing drivers in jun loader 1.02a"

https://xpenology.com/forum/viewtopic.php?f=2&t=32744

 

for this step (unpack/repack) you dont need a chroot, just any live linux with the needed packages (like "lzma") will do

Link to comment
Share on other sites

Edit: I found the thread for building and injecting the drivers. I added virtio_net to the rc.modules but no network show up.

Can you confirm that the driver works?

 

i added them blindly as someone requested them, i now read that they seem to be used inside a kvm guest when the net config for the guest is virtio, so it seems that they are useless in a normal xpenology enviroment

why you want to load them?

 

Interested in the VirtIO network drivers. Adding your extra.lzma is no problem, but I can't wrap my head around updating the rc.modules.

Care to explain how i go about doing so?

 

you have to unpack the extra.lzma, modify the rc.modules and repack it properly

i wrote about iz here:

"how to build and inject missing drivers in jun loader 1.02a"

https://xpenology.com/forum/viewtopic.php?f=2&t=32744

 

for this step (unpack/repack) you dont need a chroot, just any live linux with the needed packages (like "lzma") will do

 

I run Xpenology with diskpassthrough with KVM on ubuntu-server, and the e1000 adapter is very slow under KVM. I can achieve 2gbit between VMs that run VirtiO network but only 200-500mbit on the e1000. It varies alot and eats a bit of CPU compared to VirtiO driver.

I did unpack, modify and repack without any success tho. There are alot of virtio modules, so is any other required for virtio_net to work? Not been able to find much info on the subject. Line looks like this:

EXTRA_MODULES="mii mdio libphy atl1 atl1e atl1c alx uio ipg jme skge sky2 ptp_pch pch_gbe qla3xxx qlcnic qlge netxen_nic sfc e1000 pcnet32 vmxnet3 bnx2 libcrc32c bnx2x cnic r8168 tg3 usbnet ax88179_178a button evdev ohci-hcd e1000e igbvf ixgb ixgbevf forcedeth rtl8150 virtio_net"

 

Any help getting this working would be very much appreciated.

Link to comment
Share on other sites

Dont know why is wasnt in modules, Just Copied to it and it was fine.

It may have tried the 69 ko and that has illegal character

 

it didn't loaded for me either and had to manually copy it over

Link to comment
Share on other sites

Dont know why is wasnt in modules, Just Copied to it and it was fine.

It may have tried the 69 ko and that has illegal character

 

it didn't loaded for me either and had to manually copy it over

 

i can't see any error in the extra.lzma

rc.modules contains r8168 and in the modules folder is a r8168.ko

without any further hints from logs (like an error loading ...) i cant see whats wrong

 

what exactly do you mean by "copy it over"? did you replaced the r8169.ko with a copy of r8168.ko?

was the "old" r8169.ko loaded instead then?

i had no feedback that the r8168.ko was working better then the r8169.ko, if that is the case i willl remove the r8169.ko in a new version so no accidently loading of the r8169.ko is possible (even if i don't know how it is loaded when the rc.modules does contain r8168 and no r8169).

Link to comment
Share on other sites

the module is in your extra.lmza file but however it is not loaded or found in /lib/modules after install

 

after the install i SSH and copied your r8168.ko module in to /lib/modules directory and restarted.

Link to comment
Share on other sites

the module is in your extra.lmza file but however it is not loaded or found in /lib/modules after install

 

after the install i SSH and copied your r8168.ko module in to /lib/modules directory and restarted.

 

jun's loader shoud place the additional modules from extra.lzma in /lib/modules/update and they shoud be loaded, it should be the same when the original extra.lzma is replaced with the one i prepared

 

wasn't there a problem with some installations (after update from 6.1 to 6.1.1) where nothing was loaded from update and it had to be copyed to /lib/modules? maybe this is the case here?

Link to comment
Share on other sites

I just want to thank you, this extra.lmza saves me a lot of time in learning how to compile modules.

megaraid_sas is running perfect on 6.1.1 up 4.

 

well, the megaraid_sas.ko was already in the original extra.lzma from jun, so i have nothing to do with it :wink:

Link to comment
Share on other sites

 

wasn't there a problem with some installations (after update from 6.1 to 6.1.1) where nothing was loaded from update and it had to be copyed to /lib/modules? maybe this is the case here?

 

looking at /lib/modules/update i can see that it is there along with other modules so maybe they never get loaded

 

 

where can i find the install log?

 

forgot to mention,

before i update to dsm 6.1.1 i did a fresh install on spare disk to test and it wasn't loading either

Edited by Guest
Link to comment
Share on other sites

  • 1 month later...
On 31.05.2017 at 2:31 PM, Dakuon said:

 

I run Xpenology with diskpassthrough with KVM on ubuntu-server, and the e1000 adapter is very slow under KVM. I can achieve 2gbit between VMs that run VirtiO network but only 200-500mbit on the e1000. It varies alot and eats a bit of CPU compared to VirtiO driver.

I did unpack, modify and repack without any success tho. There are alot of virtio modules, so is any other required for virtio_net to work? Not been able to find much info on the subject. Line looks like this:

 


EXTRA_MODULES="mii mdio libphy atl1 atl1e atl1c alx uio ipg jme skge sky2 ptp_pch pch_gbe qla3xxx qlcnic qlge netxen_nic sfc e1000 pcnet32 vmxnet3 bnx2 libcrc32c bnx2x cnic r8168 tg3 usbnet ax88179_178a button evdev ohci-hcd e1000e igbvf ixgb ixgbevf forcedeth rtl8150 virtio_net"
 

 

 

Any help getting this working would be very much appreciated.

 

You need add "virtio virtio_ring virtio_pci virtio_net" at the end of EXTRA_MODULES, and therefore add those modules to /usr/lib. Or you can use "synoboot2.img" from this thread

 I for myself extracted extra.lzma from it and packed it inside latest Jun's loader. virtio-net working for me from now on with increased performance.

Edited by monte
Link to comment
Share on other sites

  • Polanskiman changed the title to Driver extension for jun 1.02a/3615xs
  • Polanskiman locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...