IG-88

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

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

Share this post


Link to post
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. 

Share this post


Link to post
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

Share this post


Link to post
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!

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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)

 

 

Share this post


Link to post
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

 

 

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

not working for me its not installing the driver files into the newly create extra.lzma file any help please as i am trying to install the pata, ide and sata drivers for nvidia

Share this post


Link to post
Share on other sites
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

 

 

Share this post


Link to post
Share on other sites
Posted (edited)

@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

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now