Jump to content
XPEnology Community

How to build and inject missing drivers in jun loader 1.02a


IG-88

Recommended Posts

hi,

 

good news for better/more drivers

there is new source now for DSM 6.1.3

https://sourceforge.net/projects/dsgpl/files/Synology NAS GPL Source/15152branch/

 

this weekend or the one after this weekend i will update my systems/vm's to 6.1.3 and will try to compile a new driver set and provide a new extra.lzma

hopefully all the drivers that failed with unknown symbols will work with that source and DSM 6.1.3

 

  • Like 1
Link to comment
Share on other sites

14 hours ago, IG-88 said:

hi,

 

good news for better/more drivers

there is new source now for DSM 6.1.3

https://sourceforge.net/projects/dsgpl/files/Synology NAS GPL Source/15152branch/

 

this weekend or the one after this weekend i will update my systems/vm's to 6.1.3 and will try to compile a new driver set and provide a new extra.lzma

hopefully all the drivers that failed with unknown symbols will work with that source and DSM 6.1.3

 

Good news!

I've just compiled the new drivers for tg3, it seems they updated it. I will test tonight. 

Link to comment
Share on other sites

hi,
 
good news for better/more drivers
there is new source now for DSM 6.1.3
https://sourceforge.net/projects/dsgpl/files/Synology NAS GPL Source/15152branch/
 
this weekend or the one after this weekend i will update my systems/vm's to 6.1.3 and will try to compile a new driver set and provide a new extra.lzma
hopefully all the drivers that failed with unknown symbols will work with that source and DSM 6.1.3
 
synology stripe comments and replace ifdefs to meaningless myabc in the kernel source,i believe that is the cause of the incompatibility
  • Like 1
Link to comment
Share on other sites

On 1/9/2017 at 5:26 AM, jun said:
On 30/8/2017 at 8:02 PM, IG-88 said:
hi,
 
good news for better/more drivers
there is new source now for DSM 6.1.3
https://sourceforge.net/projects/dsgpl/files/Synology NAS GPL Source/15152branch/
 
this weekend or the one after this weekend i will update my systems/vm's to 6.1.3 and will try to compile a new driver set and provide a new extra.lzma
hopefully all the drivers that failed with unknown symbols will work with that source and DSM 6.1.3
 

synology stripe comments and replace ifdefs to meaningless myabc in the kernel source,i believe that is the cause of the incompatibility

I compiled and tried the new modules for tg3, and still the same issue. I don't have many skills coding, I don't know how to find or fix the issue. 

 

Thanks for you hard work!

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Hi @IG-88 I followed the procedure to integrate virtio drivers into a VM installation on proxmox but I have the following problems:

 

1) linux-kernel-devel does not exist in debian repository. What do you refer to? Kernel headera? 3.10 are not in repos.

 

2) Currently, any kernel between the last builds I tried produces kernel modules for kernl 3.10.77 instead of kernel 3.10.102.

 

I use Jun's v1.02b loader with this kernel:

 

Linux dsm-3.10.102 # 15152 SMP Thu Jul 13 04:20:20 CST 2017 x86_64 GNU / Linux synology_broadwell_3617xs

 

I've tried both variant 3617 and variant 3615 but there are no changes.

 

On 3615 sources include/linux/synobios.h was missing.

 

Is there anything that I'm missing or is there a misalignment between the information?

 

Thank you

Link to comment
Share on other sites

7 hours ago, superma87 said:

1) linux-kernel-devel does not exist in debian repository. What do you refer to? Kernel headera? 3.10 are not in repos.

 

i was cut&paste'ing, that would be kernel headers, but we dont need them, we use the kernel source fom synology

 

7 hours ago, superma87 said:

2) Currently, any kernel between the last builds I tried produces kernel modules for kernl 3.10.77 instead of kernel 3.10.102.

 

i dont catch this, i download the kernel sources synology provieds and use them to build the kernel modules, on my system is no 3.10.77 source, so it can't buid for this

are you doing this an a dsm 6.0 installation?i did it on 6.1 and installed she chroot in this enviroment

 

 

7 hours ago, superma87 said:

I use Jun's v1.02b loader with this kernel:

 

Linux dsm-3.10.102 # 15152 SMP Thu Jul 13 04:20:20 CST 2017 x86_64 GNU / Linux synology_broadwell_3617xs

 

I've tried both variant 3617 and variant 3615 but there are no changes.

 

that would indicate you are using 6.1 as base, so were does the 3.10.77 come from? dis you install any other source?

 

7 hours ago, superma87 said:

On 3615 sources include/linux/synobios.h was missing.

 

in 15152? as the source is provided by synology i can't do anything about it

maybe i never recognised as i only build modules (not the whole kernel)?

i will check the vm i use for compiling the modules

 

7 hours ago, superma87 said:

Is there anything that I'm missing or is there a misalignment between the information?

 

as i did it only once i can't give be shure, i'm still using this vm (updates to 6.1.3 and copyed new source in new test directory)

 

 

Link to comment
Share on other sites

16 hours ago, IG-88 said:

 

i was cut&paste'ing, that would be kernel headers, but we dont need them, we use the kernel source fom synology

yeah, managed to do that.

 

16 hours ago, IG-88 said:

i dont catch this, i download the kernel sources synology provieds and use them to build the kernel modules, on my system is no 3.10.77 source, so it can't buid for this

are you doing this an a dsm 6.0 installation?i did it on 6.1 and installed she chroot in this enviroment

The sources came from https://sourceforge.net/projects/dsgpl/files/Synology NAS GPL Source/15152branch/

I downloaded 15152 branch because matches the uname -a output of the kernel

 

I just downloaded linux source, extracted to a folder and followed your procedure

 

 

16 hours ago, IG-88 said:

 

 

that would indicate you are using 6.1 as base, so were does the 3.10.77 come from? dis you install any other source?

 Dont know why this produces a 3.10.77 modules. No other sources involved

 

16 hours ago, IG-88 said:

 

in 15152? as the source is provided by synology i can't do anything about it

maybe i never recognised as i only build modules (not the whole kernel)?

i will check the vm i use for compiling the modules

 

 

This is a summary of my procedure:

my goal is to use virtio for network and for disk images(not real disk or HBA, just virtual qcow2/raw disk)

1) Using Jun's v1.02b loader  on a proxmox virtual machine with UEFI

2) img file is loaded as a usb stick, network is e1000 and the test disk is a sata(virtual) disk

3) Downloaded sources

4) Installed dependencies

5) Copied .config in kernel root

6) in menuconfig I just added virtio stuff as M (virtio-scsi, virtio-net, virtio-blk areas)

7) compiled modules and extracted like 7 .ko files to a shared folder

-a----       22/09/2017     16:44           9392 virtio.ko
-a----       22/09/2017     16:44          13400 virtio_balloon.ko
-a----       22/09/2017     16:50          21016 virtio_blk.ko
-a----       22/09/2017     16:44          13536 virtio_mmio.ko
-a----       22/09/2017     17:31          33928 virtio_net.ko
-a----       22/09/2017     16:43          15536 virtio_pci.ko
-a----       22/09/2017     16:44          15160 virtio_ring.ko

8) my first approach was to integrate them in extra.lzma but  I was facing some reboot loop issues and the testing was a little difficult due to repack procedure

9) so I just copied .ko from chroot environment to non chroot environment with root privileges

10) tried insmod to .ko file and i have the "wrong format" error.

11) usimg modinfo <module>.ko i get 3.10.77 kernel

12) using modinfo on, let's say, e1000.ko i get 3.10.102 kernel

 

I cant use 3617 variant since there arent debian-chroot and/or python extra packages on this architecture

 

Thanks

 

 

Link to comment
Share on other sites

On 9/25/2017 at 3:10 PM, superma87 said:

in 3615 sources include/linux/synobios.h was missing.

present in my source, 13885 bytes long

Synology NAS GPL Source - 15152branch - bromolow-source.txz

also present in this, can't see how that can't be in your file and extracted souce

 

usimg modinfo <module>.ko i get 3.10.77 kernel 

as to expect with mine i get the right version 3.10.102

 

9) so I just copied .ko from chroot environment to non chroot environment with root privileges

as i already had problems with loading (-> driver extension log/status test file) i do that befor putting them in the extra.lzma

 

I cant use 3617 variant since there arent debian-chroot and/or python extra packages on this architecture

i was thinking about using the ,config for x86_64 instead of bromolow so the resulting modules might work an all three images (3615/3617/916+)

that one of the things i wanted to test next

 

 

i will pm you the virtio files i created from my source of 15152 for 3615

Link to comment
Share on other sites

  • Polanskiman changed the title to How to build and inject missing drivers in jun loader 1.02a
  • 2 months later...
10 hours ago, djwayne1985 said:

as i am trying to install the pata, ide and sata drivers for nvidia

 

did you fix the kernel source for this drivers?

there is a reason why they are not part of my extra.lzma

for testing just try to copy the *.ko files in question to your dsm/xpenology system and load them with "insmod" and you will see whats the problem

as i have documented in the 1st post to my extra.lzma, "does not load: Unknown symbol syno_libata_index_get (err 0)"

if that does not work, putting them into a extra.lzma will not help as they still do not load

 

about the extra.lzma creation, whats your problem exactly?

to help you i need a description of what you do and whats not working for you

as base for the new extra.lzma you use the extracted files from the original extra.lzma, copy the new *.ko files (created when compiling with the kernel source) into the directory where the other *.ko files are, modify the rc.modules (thats about loading them when the extra.lzma is used) and create the new extra.lzma, in the last step its important where you are in the file structure, so being in the directory's "modules" or "etc" will not work

 

 

Link to comment
Share on other sites

  • 2 months later...

@IG-88 Thanks for your hard work first.

I tried to follow your guide and compile drivers myself. However, it can boot but won't be found by assistant, I can see its IP in my router settings. I tried to directly go to http://<its IP:5000> or http://<its IP>,  it told me connection refused. Is there any method for me to see dmesg while booting instead of after-booting finished?

 

it's the response from DSM 5.0.2:  (I compiled i801_smbus into DSM 6.1+ by myself according to this)

Connect to this DSM 5.0.2 via SSH using root account
DiskStation> lspci -kQ
00:00.0 Host bridge: Intel Corporation Atom Processor D2xxx/N2xxx DRAM Controller (rev 04)
	Subsystem: Intel Corporation Device 1999
lspci: Unable to load libkmod resources: error -12
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 0b)
	Subsystem: Intel Corporation Device 1999
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 02)
	Kernel driver in use: pcieport
00:1c.2 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 3 (rev 02)
	Kernel driver in use: pcieport
00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 02)
	Subsystem: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1
	Kernel driver in use: uhci_hcd
00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 02)
	Subsystem: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2
	Kernel driver in use: uhci_hcd
00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 02)
	Subsystem: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3
	Kernel driver in use: uhci_hcd
00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 02)
	Subsystem: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4
	Kernel driver in use: uhci_hcd
00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 02)
	Subsystem: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller
	Kernel driver in use: ehci_hcd
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 02)
	Subsystem: Intel Corporation NM10 Family LPC Controller
00:1f.2 SATA controller: Intel Corporation NM10/ICH7 Family SATA Controller [AHCI mode] (rev 02)
	Subsystem: Intel Corporation Device 27c0
	Kernel driver in use: ahci
00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 02)
	Subsystem: Intel Corporation NM10/ICH7 Family SMBus Controller
	Kernel driver in use: i801_smbus
01:00.0 Ethernet controller: Broadcom Limited NetLink BCM57788 Gigabit Ethernet PCIe (rev 01)
	Subsystem: Broadcom Limited Device 9691
	Kernel driver in use: tg3
02:00.0 Ethernet controller: Broadcom Limited NetLink BCM57788 Gigabit Ethernet PCIe (rev 01)
	Subsystem: Broadcom Limited Device 9691
	Kernel driver in use: tg3

 

Edited by kmahyyg
more details appended
Link to comment
Share on other sites

  • 2 months later...

i'd suggest using my extra.lzma as a first try (before trying to use your own package) the broadcom (bcm, tg3) nic's should work with this

depending on how you created your own extra.lzma there can be a lot of problems, so first try if the tested extra.lzma works with your hardware

 

Link to comment
Share on other sites

4 hours ago, IG-88 said:

i'd suggest using my extra.lzma as a first try (before trying to use your own package) the broadcom (bcm, tg3) nic's should work with this

depending on how you created your own extra.lzma there can be a lot of problems, so first try if the tested extra.lzma works with your hardware

 

Not work. It won't boot.

Link to comment
Share on other sites

20 hours ago, kmahyyg said:

Not work. It won't boot.

 

jun original does boot and with my extra.lzma it does not, maybe you too the wrong extra.lzma

or doe you mean it like it does not show up in network (booting but nic not working)

you could try inserting a additional nic with realtek or intel chip for testing, if it work with this you have access and can check the log for problems like why the broadcom driver does not work

Link to comment
Share on other sites

  • 1 month later...
On 6/26/2018 at 5:40 AM, IG-88 said:

 

jun original does boot and with my extra.lzma it does not, maybe you too the wrong extra.lzma

or doe you mean it like it does not show up in network (booting but nic not working)

you could try inserting a additional nic with realtek or intel chip for testing, if it work with this you have access and can check the log for problems like why the broadcom driver does not work

I will try the latest DSM 6.1 loader, but something must be wrong. I'll try to delete your "quiet splash" boot params in GRUB, does DSM offers ttys2(like other linux) for users to debug and rescue?

Link to comment
Share on other sites

  • 2 weeks later...
On 8/29/2018 at 4:22 PM, Mahssel said:

As it is not possible to load chroot anymore from paket center, is there any new way to get all those debian commands (like apt-get ....) working on dsm?

 

i downloaded debian-chroot_x86_7.4-4.spk, debian-chroot_cedarview_7.4-4.spk, debian-chroot_bromolow_7.4-4.spk from somewhere, if you find/have this spk packages they can be installed

 

Link to comment
Share on other sites

2 hours ago, luchuma said:

so i have question

how to compile drivers for kernel 3.10.105 #23824 (dsm 6.2.1)

 

only thing you can use is the last release from here

https://sourceforge.net/projects/dsgpl/files/Synology NAS GPL Source/

as there is no recent version the only thing to use is the 6.2 beta source 22259

i guess as long a no one is "blackmailing" them (aka reminding them to be gpl compliant)  to release newer source the won't do it?

Link to comment
Share on other sites

8 hours ago, IG-88 said:

 

only thing you can use is the last release from here

https://sourceforge.net/projects/dsgpl/files/Synology NAS GPL Source/

as there is no recent version the only thing to use is the 6.2 beta source 22259

i guess as long a no one is "blackmailing" them (aka reminding them to be gpl compliant)  to release newer source the won't do it?

 

Slightly off topic what I am about to say. I had a read a few months ago about source code and release and all the bla bla around it but to what I understood is that Synology is in fact not forced to released the source code at a given date. They can do so when they wish as long as they do it during the life span of the product that is ok. So could be tomorrow or in 2 years that would still be gpl compliant. At lease that is what I understood.

Link to comment
Share on other sites

Anyway of getting updated modules for intel e1000e and igb NIC for ds3617, dsm 6.1.x? While i can compile drivers using synology's source and toolchain. It still gives me the older dirver and i cant figure out how to "INJECT" new drivers into that build. Even though i have the source files for the drivers. i.e the "c files".

 

Link to comment
Share on other sites

  • 6 months later...
On 9/6/2018 at 11:30 PM, alirz1 said:

Anyway of getting updated modules for intel e1000e and igb NIC for ds3617, dsm 6.1.x? While i can compile drivers using synology's source and toolchain. It still gives me the older dirver and i cant figure out how to "INJECT" new drivers into that build. Even though i have the source files for the drivers. i.e the "c files".

 

I'm wondering about the same thing. If that would be possible, it could fix alot of driver issues some people have.

Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...