Jump to content
XPEnology Community

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


IG-88

Recommended Posts

  • 2 months later...

Hello, I was trying to follow it and i did not get any way to boot, i was wandering if there's a way to get 16cores/32threads as max cpu num, i know is a parameter inside kernel but when i tried my server does not get to boot, i dont know if it is the version, the release i am trying... but I am on latest synology software and loader.

 

Thank you.

Link to comment
Share on other sites

  • Polanskiman unpinned this topic
  • 2 weeks later...

Hi, 

Your tutorial is nice, just had to tweak some things to get it working with DS918+. 

Building the driver was no problem, but when I want to load the module it throws the knowing pic_disable_link_state(_locked) error. Leaving this lines commented out throws me kernel panics. Does someone know how to solve this issue?

 

Thanks a lot!

Link to comment
Share on other sites

  • 1 month later...
On 8/16/2019 at 7:30 PM, Selfmade RuLeZ said:

but when I want to load the module it throws the knowing pic_disable_link_state(_locked) error. Leaving this lines commented out throws me kernel panics. Does someone know how to solve this issue?

 

synology changed the default kernel config and as they don't publish any source we can only guess and try

the functions in question are part of PCIE_ASPM so you will have to disable CONFIG_PCIEASPM in the kernel config when compiling modules for dsm 6.2.2, tested it and my freshly compile modules for 918+ are loaded and work (i'm about to continue the extra.lzma's in the next day's starting with 918+)

ifair jun wrote something here

https://xpenology.com/forum/topic/13074-dsm-621-23824-warning/?tab=comments#comment-95497

 

and there is a hint in synologys changelog (ok, that one will only be noticed if you know what you are looking for)

https://www.synology.com/en-global/releaseNote/DS3615xs

...

Version: 6.2-23739-2

(2018-07-12)

...

Fixed Issues

1. Adjusted power saving mechanism to improve PCIe compatibility.

...

Edit: for the old 918+ beta 4.4.x kernel the Makefile needs to be modified

VERSION = 4
PATCHLEVEL = 4
SUBLEVEL = 59
EXTRAVERSION =+

 

the chroot enviroment should also get additional packages

 apt-get install openssl libssl-dev

 

for 6.2.2 i also added signature files

generate certs like here: https://wiki.gentoo.org/wiki/Signed_kernel_module_support

place keyfiles in kerne root, for kernel 4.4.x in /certs instead of kernel root

copy one file to a new name: cp signing_key.x509 signing_key

create empty files in kernel root: extra_certificates, extra_certificates_untrusted, trusted_certificates, untrusted_certificates

 

Edited by IG-88
Link to comment
Share on other sites

  • 4 weeks later...
  • 2 months later...
On 10/2/2019 at 6:27 PM, IG-88 said:

synology changed the default kernel config and as they don't publish any source we can only guess and try

the functions in question are part of PCIE_ASPM so you will have to disable CONFIG_PCIEASPM in the kernel config when compiling modules for dsm 6.2.2, tested it and my freshly compile modules for 918+ are loaded and work (i'm about to continue the extra.lzma's in the next day's starting with 918+)

ifair jun wrote something here

https://xpenology.com/forum/topic/13074-dsm-621-23824-warning/?tab=comments#comment-95497

 

and there is a hint in synologys changelog (ok, that one will only be noticed if you know what you are looking for)

https://www.synology.com/en-global/releaseNote/DS3615xs


...

Version: 6.2-23739-2

(2018-07-12)

...

Fixed Issues

1. Adjusted power saving mechanism to improve PCIe compatibility.

...

Edit: for the old 918+ beta 4.4.x kernel the Makefile needs to be modified

VERSION = 4
PATCHLEVEL = 4
SUBLEVEL = 59
EXTRAVERSION =+

 

the chroot enviroment should also get additional packages

 apt-get install openssl libssl-dev

 

for 6.2.2 i also added signature files

generate certs like here: https://wiki.gentoo.org/wiki/Signed_kernel_module_support

place keyfiles in kerne root, for kernel 4.4.x in /certs instead of kernel root

copy one file to a new name: cp signing_key.x509 signing_key

create empty files in kernel root: extra_certificates, extra_certificates_untrusted, trusted_certificates, untrusted_certificates

 


Hi,
I have compiled the modules for my PCI card DVBSky S952 v2. All load well except one, the last one that needs to be loaded: cx23885.ko
When executing the 'insmod cx23885.ko' command, it keeps thinking for a while and a few seconds later returns this message: Killed.

I think the problem could be related to the CONFIG_PCIEASPM of the kernel config. Because the module work well in DSM 6.2.0, but in DSM 6.2.2 it does not work.


But... I have no idea of doing that process, I have searched Google and I find little information.

Exactly where can I disable CONFIG_PCIEASPM in the kernel config? (Is that a system file?)
I compile the modules in DSM 6.2.2, in Debian Chroot. Is the kernel config a file inside Debian Chroot?

And you know if the signature files/certs are necessary or optional? (because the first time you mention that you have only modified the kernel config, and it worked for you)

By the way, I use DS3615xs, not 918+.

Thanks for your help!! 👍
Regards!

PD: If I finally manage to do it correctly, I will share here all the modules of the DVBSky cards compiled for DSM 6.2.2.

Edited by manuelin
Link to comment
Share on other sites

52 minutes ago, manuelin said:

I have compiled the modules for my PCI card DVBSky S952 v2. All load well except one, the last one that needs to be loaded: cx23885.ko
When executing the 'insmod cx23885.ko' command, it keeps thinking for a while and a few seconds later returns this message: Killed.

I think the problem could be related to the CONFIG_PCIEASPM of the kernel config. Because the module work well in DSM 6.2.0, but in DSM 6.2.2 it does not work.

 

if that is the case you would see the message from little above in the log

"pic_disable_link_state(_locked) error"

 

52 minutes ago, manuelin said:

Exactly where can I disable CONFIG_PCIEASPM in the kernel config? (Is that a system file?)
I compile the modules in DSM 6.2.2, in Debian Chroot. Is the kernel config a file inside Debian Chroot?

 

its in the 1st post here, the tutorial itself

 

On 4/24/2017 at 11:37 PM, IG-88 said:

the following copy's the kernel config file from synology to the right place for use/build


cp synoconfigs/bromolow .config
 

we make a fallback copy


make ARCH="x86_64" oldconfig
 

we start the ascii art menu and search for the missing driver to activate

cursor/return are your friend in navigating, space selects, we activate the driver to an "M" so its build as module (*.ko file we need)

there will be tons of descriptions how to do it, just google if needed


make ARCH="x86_64" menuconfig
 

on exit we save the configuration and with the following we make/create the modules (will take a while)

 

 

52 minutes ago, manuelin said:

And you know if the signature files/certs are necessary or optional? (because the first time you mention that you have only modified the kernel config, and it worked for you)

 

optional, i wanted to get rid of warnings when compiling afair, at least they are not used lading drivers with jun's loader

 

i also attached the last kernel config for 3615 (bromolow) from synology 6.2 toolkit, already contains the "CONFIG_PCIEASPM" change

 

edit: i also use the toolchain 6.2.2 copyed to the same directory as the kernel

/test/linux-3.10.x/ - ist where the kernal source is

(bromolow 22259 linux-3.10.x.txz from Synology NAS GPL Source)

 

/test/linux-3.10.x/x86_64-pc-linux-gnu/ - toolchain for 6.2.2

(bromolow-gcc493_glibc220_linaro_x86_64-GPL.txz from Synology NAS GPL Source)

so the make for the kernel looks like this when using the menu system for configuring the kernel

make ARCH=x86_64 CROSS_COMPILE=/test/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- menuconfig

 

.config

Edited by IG-88
  • Like 1
Link to comment
Share on other sites

41 minutes ago, manuelin said:


Hi,
I have compiled the modules for my PCI card DVBSky S952 v2. All load well except one, the last one that needs to be loaded: cx23885.ko
When executing the 'insmod cx23885.ko' command, it keeps thinking for a while and a few seconds later returns this message: Killed.

I think the problem could be related to the CONFIG_PCIEASPM of the kernel config. Because the module work well in DSM 6.2.0, but in DSM 6.2.2 it does not work.


But... I have no idea of doing that process, I have searched Google and I find little information.

Exactly where can I disable CONFIG_PCIEASPM in the kernel config? (Is that a system file?)
I compile the modules in DSM 6.2.2, in Debian Chroot. Is the kernel config a file inside Debian Chroot?

And you know if the signature files/certs are necessary or optional? (because the first time you mention that you have only modified the kernel config, and it worked for you)

By the way, I use DS3615xs, not 918+.

Thanks for your help!! 👍
Regards!

PD: If I finally manage to do it correctly, I will share here all the modules of the DVBSky cards compiled for DSM 6.2.2.


I have continued with it, and I found this file:

/build_env/ds.bromolow-X.X/source/XXXXX-kernel/.config
When I run:
cat .config | grep CONFIG_PCIEASPM

CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set

I think I simply have to change 'CONFIG_PCIEASPM=y' for 'CONFIG_PCIEASPM=n'. Right?

Thanks again :)

Link to comment
Share on other sites

8 minutes ago, manuelin said:

/build_env/ds.bromolow-X.X/source/XXXXX-kernel/.config

 

ds.bromolow-6.2.dev.txz

\usr\local\x86_64-pc-linux-gnu\x86_64-pc-linux-gnu\sys-root\usr\lib\modules\DSM-6.2\build\.config

that should already contain

# CONFIG_PCIEASPM is not set

instead of

CONFIG_PCIEASPM=y

i'd suggest to use the file from above as base config

  • Like 1
Link to comment
Share on other sites

8 minutes ago, IG-88 said:

if that is the case you would see the message from little above in the log

"pic_disable_link_state(_locked) error"

 

i also attached the last kernel config for 3615 (bromolow) from synology 6.2 toolkit, already contains the "CONFIG_PCIEASPM" change

 

.config 106.49 kB · 0 downloads


Thanks for answering both. I was just commenting too and I didn't read your message.

That was what I thought at the beginning, that the PCIE_ASPM had nothing to do with it.

But I've been testing for days and it never works, the module always returns: Killed
However, the same file/module in DSM 6.2 works fine, how is it possible? 😅


I have also thought that some of the modules included in your Driver extension could conflict with my module. Since here a similar error occurred to another user and he solved it simply by removing one of your modules.

So I have decided to use the Jun loader (by default, without your Driver extension), and I have created my own extra.lzma file simply by taking the Jun file and replacing ONLY the network card module that my HP ProLiant MicroServer Gen8 uses (tg3.ko) with the file which is included in your Driver extension.

The result is that I have Internet, I mean the network card works so I have done it well.
But the module of my PCI card (DVBSky S952 v2) continues to fail... So then discarded, it must not have any conflict with your drivers 😩


I will try again to compile the drivers with your .config file (CONFIG_PCIEASPM disabled), although in principle it is not related to it... But I can not think of anything else, I can only try that.
I will comment if it works or not.

As additional information, in case it helps you, I have executed the command 'dmesg' and this is the result:

[ 5019.869526] cx23885 driver version 0.0.3 loaded
[ 5019.869551] ------------[ cut here ]------------
[ 5019.869558] WARNING: at include/linux/kref.h:52 kobject_get+0x42/0x60()
[ 5019.869559] Modules linked in: cx23885(OF+) dvbsky_m88ds3103(OF) snd_pcm snd_timer snd soundcore snd_page_alloc rc_core(OF) cx2341x(OF) v4l2_common(OF) videodev(OF) videobuf_dma_sg(OF) btcx_risc(OF) tveeprom(OF) videobuf_dvb(OF) videobuf_core(OF) tda18271(OF) altera_ci(OF) dvb_core(OF) bridge stp aufs macvlan veth xt_conntrack xt_addrtype nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables ipt_MASQUERADE xt_REDIRECT xt_nat iptable_nat nf_nat_ipv4 nf_nat xt_recent xt_iprange xt_limit xt_state xt_tcpudp xt_multiport xt_LOG nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack iptable_filter ip_tables x_tables cifs udf isofs loop tcm_loop(O) iscsi_target_mod(O) target_core_ep(O) target_core_multi_file(O) target_core_file(O) target_core_iblock(O) target_core_mod(O) syno_extent_pool(PO) rodsp_ep(O) hid_generic
[ 5019.869587]  usbhid hid usblp bromolow_synobios(PO) xgmac(F) s2io(F) rtl8150(F) r8152(OF) plusb(F) pegasus(F) mcs7830(F) i40evf(OF) et131x(FC) cx82310_eth(F) asix(F) aqc111(OF) vxge(F) bna(F) cxgb4(F) cxgb3(F) cxgb(F) forcedeth(F) ixgb(F) e100(F) atl2(F) evdev(F) button(F) ax88179_178a(F) usbnet(F) tg3(OF) r8169(OF) r8125(OF) r8101(OF) ixgbevf(OF) igbvf(OF) bnx2(F) vmxnet3(F) pcnet32(F) e1000(F) sfc(F) netxen_nic(F) qlge(F) qlcnic(F) qla3xxx(F) pch_gbe(F) ptp_pch(F) sky2(F) skge(F) jme(F) ipg(F) uio(F) alx(F) atl1c(F) atl1e(F) atl1(F) libphy(F) mii(F) exfat(O) btrfs synoacl_vfs(PO) zlib_deflate hfsplus md4 hmac bnx2x(F) libcrc32c(F) mdio(F) mlx5_core(O) mlx4_en(O) mlx4_core(O) mlx_compat(O) compat(O) qede(O) qed(O) atlantic(OF) r8168(OF) tn40xx(OF) i40e(OF) ixgbe(OF) be2net(F) igb(OF) i2c_algo_bit
[ 5019.869622]  e1000e(OF) dca(F) vxlan fuse vfat fat crc32c_intel glue_helper lrw gf128mul ablk_helper arc4 cryptd ecryptfs sha256_generic sha1_generic ecb aes_x86_64 authenc des_generic ansi_cprng cts md5 cbc cpufreq_conservative cpufreq_powersave cpufreq_performance cpufreq_ondemand acpi_cpufreq mperf processor thermal_sys cpufreq_stats freq_table dm_snapshot crc_itu_t(F) crc_ccitt(F) quota_v2 quota_tree psnap p8022 llc sit tunnel4 ip_tunnel ipv6 zram(C) sg etxhci_hcd nvme(F) hpsa(F) isci(F) arcmsr(F) mvsas(F) mvumi(F) 3w_xxxx(F) 3w_sas(F) 3w_9xxx(F) aic94xx(F) aacraid(F) sx8(F) mpt2sas(OF) megaraid_sas(F) megaraid(F) megaraid_mbox(F) megaraid_mm(F) BusLogic(F) usb_storage xhci_hcd uhci_hcd ohci_hcd(F) ehci_pci(F) ehci_hcd(F) usbcore usb_common cepsw(OF) [last unloaded: dvbsky_m88ds3103]
[ 5019.869658] CPU: 0 PID: 24251 Comm: insmod Tainted: PF        C O 3.10.105 #24922
[ 5019.869660] Hardware name: HP ProLiant MicroServer Gen8, BIOS J06 04/04/2019
[ 5019.869661]  ffffffff814c5a5d ffffffff810355c6 ffff8800c5362008 ffff880105846098
[ 5019.869664]  ffff880105846000 ffffffffa13f9040 ffff8800c5362008 ffffffff81275b42
[ 5019.869666]  ffff8801058460a8 ffffffff8130655e ffffffffa0af13d5 ffff880105846090
[ 5019.869668] Call Trace:
[ 5019.869674]  [<ffffffff814c5a5d>] ? dump_stack+0xc/0x15
[ 5019.869677]  [<ffffffff810355c6>] ? warn_slowpath_common+0x56/0x70
[ 5019.869680]  [<ffffffff81275b42>] ? kobject_get+0x42/0x60
[ 5019.869684]  [<ffffffff8130655e>] ? get_device+0xe/0x20
[ 5019.869689]  [<ffffffffa0af13d5>] ? v4l2_device_register+0x55/0xf0 [videodev]
[ 5019.869696]  [<ffffffffa13dfe9a>] ? cx23885_initdev+0x4a/0x1170 [cx23885]
[ 5019.869700]  [<ffffffff8116c8d4>] ? sysfs_do_create_link_sd+0xc4/0x1f0
[ 5019.869703]  [<ffffffff8129f810>] ? pci_device_probe+0x60/0xa0
[ 5019.869706]  [<ffffffff8130aace>] ? driver_probe_device+0x7e/0x3e0
[ 5019.869709]  [<ffffffff8130aeeb>] ? __driver_attach+0x7b/0x80
[ 5019.869712]  [<ffffffff8130ae70>] ? __device_attach+0x40/0x40
[ 5019.869714]  [<ffffffff81308b23>] ? bus_for_each_dev+0x53/0x90
[ 5019.869717]  [<ffffffff8130a148>] ? bus_add_driver+0x1c8/0x280
[ 5019.869719]  [<ffffffff8130b4d8>] ? driver_register+0x68/0x150
[ 5019.869726]  [<ffffffffa13ff000>] ? 0xffffffffa13fefff
[ 5019.869728]  [<ffffffff8100038a>] ? do_one_initcall+0xca/0x180
[ 5019.869733]  [<ffffffff8108b63c>] ? load_module+0x1d0c/0x2360
[ 5019.869737]  [<ffffffff8128feb0>] ? ddebug_proc_write+0xe0/0xe0
[ 5019.869741]  [<ffffffff810f9663>] ? vfs_read+0xf3/0x160
[ 5019.869744]  [<ffffffff8108bdf5>] ? SYSC_finit_module+0x75/0xa0
[ 5019.869748]  [<ffffffff814ccdc4>] ? system_call_fastpath+0x22/0x27
[ 5019.869749] ---[ end trace 9ed748a2788c3ee3 ]---
[ 5019.869756] BUG: unable to handle kernel NULL pointer dereference at           (null)
[ 5019.907575] IP: [<ffffffffa0af1403>] v4l2_device_register+0x83/0xf0 [videodev]
[ 5019.942743] PGD c512e067 PUD e09c8067 PMD 0
[ 5019.963145] Oops: 0000 [#1] SMP
[ 5019.978571] Modules linked in: cx23885(OF+) dvbsky_m88ds3103(OF) snd_pcm snd_timer snd soundcore snd_page_alloc rc_core(OF) cx2341x(OF) v4l2_common(OF) videodev(OF) videobuf_dma_sg(OF) btcx_risc(OF) tveeprom(OF) videobuf_dvb(OF) videobuf_core(OF) tda18271(OF) altera_ci(OF) dvb_core(OF) bridge stp aufs macvlan veth xt_conntrack xt_addrtype nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables ipt_MASQUERADE xt_REDIRECT xt_nat iptable_nat nf_nat_ipv4 nf_nat xt_recent xt_iprange xt_limit xt_state xt_tcpudp xt_multiport xt_LOG nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack iptable_filter ip_tables x_tables cifs udf isofs loop tcm_loop(O) iscsi_target_mod(O) target_core_ep(O) target_core_multi_file(O) target_core_file(O) target_core_iblock(O) target_core_mod(O) syno_extent_pool(PO) rodsp_ep(O) hid_generic
[ 5020.327357]  usbhid hid usblp bromolow_synobios(PO) xgmac(F) s2io(F) rtl8150(F) r8152(OF) plusb(F) pegasus(F) mcs7830(F) i40evf(OF) et131x(FC) cx82310_eth(F) asix(F) aqc111(OF) vxge(F) bna(F) cxgb4(F) cxgb3(F) cxgb(F) forcedeth(F) ixgb(F) e100(F) atl2(F) evdev(F) button(F) ax88179_178a(F) usbnet(F) tg3(OF) r8169(OF) r8125(OF) r8101(OF) ixgbevf(OF) igbvf(OF) bnx2(F) vmxnet3(F) pcnet32(F) e1000(F) sfc(F) netxen_nic(F) qlge(F) qlcnic(F) qla3xxx(F) pch_gbe(F) ptp_pch(F) sky2(F) skge(F) jme(F) ipg(F) uio(F) alx(F) atl1c(F) atl1e(F) atl1(F) libphy(F) mii(F) exfat(O) btrfs synoacl_vfs(PO) zlib_deflate hfsplus md4 hmac bnx2x(F) libcrc32c(F) mdio(F) mlx5_core(O) mlx4_en(O) mlx4_core(O) mlx_compat(O) compat(O) qede(O) qed(O) atlantic(OF) r8168(OF) tn40xx(OF) i40e(OF) ixgbe(OF) be2net(F) igb(OF) i2c_algo_bit
[ 5020.665151]  e1000e(OF) dca(F) vxlan fuse vfat fat crc32c_intel glue_helper lrw gf128mul ablk_helper arc4 cryptd ecryptfs sha256_generic sha1_generic ecb aes_x86_64 authenc des_generic ansi_cprng cts md5 cbc cpufreq_conservative cpufreq_powersave cpufreq_performance cpufreq_ondemand acpi_cpufreq mperf processor thermal_sys cpufreq_stats freq_table dm_snapshot crc_itu_t(F) crc_ccitt(F) quota_v2 quota_tree psnap p8022 llc sit tunnel4 ip_tunnel ipv6 zram(C) sg etxhci_hcd nvme(F) hpsa(F) isci(F) arcmsr(F) mvsas(F) mvumi(F) 3w_xxxx(F) 3w_sas(F) 3w_9xxx(F) aic94xx(F) aacraid(F) sx8(F) mpt2sas(OF) megaraid_sas(F) megaraid(F) megaraid_mbox(F) megaraid_mm(F) BusLogic(F) usb_storage xhci_hcd uhci_hcd ohci_hcd(F) ehci_pci(F) ehci_hcd(F) usbcore usb_common cepsw(OF) [last unloaded: dvbsky_m88ds3103]
[ 5020.997978] CPU: 0 PID: 24251 Comm: insmod Tainted: PF       WC O 3.10.105 #24922
[ 5021.033652] Hardware name: HP ProLiant MicroServer Gen8, BIOS J06 04/04/2019
[ 5021.068338] task: ffff88010598c040 ti: ffff8800e09bc000 task.ti: ffff8800e09bc000
[ 5021.104807] RIP: 0010:[<ffffffffa0af1403>]  [<ffffffffa0af1403>] v4l2_device_register+0x83/0xf0 [videodev]
[ 5021.152597] RSP: 0018:ffff8800e09bfc38  EFLAGS: 00010286
[ 5021.177959] RAX: 0000000000000000 RBX: ffff8800c5362008 RCX: 0000000000000006
[ 5021.213901] RDX: ffffffffa0afba5f RSI: 0000000000000024 RDI: ffff8800c5362022
[ 5021.247987] RBP: ffff880105846098 R08: ffffffff8183a600 R09: 000000000000fffe
[ 5021.283746] R10: 0000000000000000 R11: 0000000000000459 R12: ffff880105846000
[ 5021.317977] R13: ffffffffa13f9040 R14: ffff8800c5362008 R15: ffffffffa13fa200
[ 5021.352947] FS:  00007ff7520eb700(0000) GS:ffff88010ba00000(0000) knlGS:0000000000000000
[ 5021.392514] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 5021.419841] CR2: 0000000000000000 CR3: 00000000c464e000 CR4: 00000000001607f0
[ 5021.454973] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 5021.489549] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 5021.524634] Stack:
[ 5021.534184]  ffff880105846090 ffff8800c5362000 ffffffffa13dfe9a ffffffff8116c8d4
[ 5021.570823]  00000000ffffffff ffff880105846098 ffff880105846090 ffffffffa13f90a8
[ 5021.606562]  ffff880105846000 ffffffffa13f9040 0000000000000001 ffffffffa13fa200
[ 5021.643598] Call Trace:
[ 5021.655086]  [<ffffffffa13dfe9a>] ? cx23885_initdev+0x4a/0x1170 [cx23885]
[ 5021.687897]  [<ffffffff8116c8d4>] ? sysfs_do_create_link_sd+0xc4/0x1f0
[ 5021.719379]  [<ffffffff8129f810>] ? pci_device_probe+0x60/0xa0
[ 5021.747877]  [<ffffffff8130aace>] ? driver_probe_device+0x7e/0x3e0
[ 5021.777623]  [<ffffffff8130aeeb>] ? __driver_attach+0x7b/0x80
[ 5021.806853]  [<ffffffff8130ae70>] ? __device_attach+0x40/0x40
[ 5021.834135]  [<ffffffff81308b23>] ? bus_for_each_dev+0x53/0x90
[ 5021.862621]  [<ffffffff8130a148>] ? bus_add_driver+0x1c8/0x280
[ 5021.890428]  [<ffffffff8130b4d8>] ? driver_register+0x68/0x150
[ 5021.919177]  [<ffffffffa13ff000>] ? 0xffffffffa13fefff
[ 5021.944175]  [<ffffffff8100038a>] ? do_one_initcall+0xca/0x180
[ 5021.971963]  [<ffffffff8108b63c>] ? load_module+0x1d0c/0x2360
[ 5021.999276]  [<ffffffff8128feb0>] ? ddebug_proc_write+0xe0/0xe0
[ 5022.027551]  [<ffffffff810f9663>] ? vfs_read+0xf3/0x160
[ 5022.053584]  [<ffffffff8108bdf5>] ? SYSC_finit_module+0x75/0xa0
[ 5022.082162]  [<ffffffff814ccdc4>] ? system_call_fastpath+0x22/0x27
[ 5022.112424] Code: 48 89 2b 74 53 80 7b 1a 00 75 2a 4c 8b 45 50 4d 85 c0 74 64 48 8b 85 90 00 00 00 48 8d 7b 1a 48 c7 c2 5f ba af a0 be 24 00 00 00 <48> 8b 08 31 c0 e8 33 bb 78 e0 48 89 ef e8 eb 8e 81 e0 48 85 c0
[ 5022.204806] RIP  [<ffffffffa0af1403>] v4l2_device_register+0x83/0xf0 [videodev]
[ 5022.239300]  RSP <ffff8800e09bfc38>
[ 5022.255682] CR2: 0000000000000000
[ 5022.271686] ---[ end trace 9ed748a2788c3ee4 ]---
[ 5022.293644] [sched_delayed] sched: RT throttling activated


But I don't know how to interpret all this code 😕
Maybe someone knows something about this.

Thanks again!

Link to comment
Share on other sites

16 hours ago, manuelin said:

Tomorrow I pack all the DVBSky modules and upload them to the forum.

 

don't forget to mention that these are only for 6.2.2 and for the dsm type (3615?) you made them for, for 3617 you would need a different kernel config (broadwell) to compile and for 918+ you would even need a different kernel source (4.4.59+)

 

anything special done to get the drivers to compile? how big are those additional drivers?

maybe i can add the dvbsky source to my build environment and add them to the "normal" extra.lzma

 

 

19 hours ago, manuelin said:

So I have decided to use the Jun loader (by default, without your Driver extension), and I have created my own extra.lzma file simply by taking the Jun file and replacing ONLY the network card module that my HP ProLiant MicroServer Gen8 uses (tg3.ko) with the file which is included in your Driver extension.

 

that going to make problems as juns original files are not compiled with the right kernel settings and some will crash when using them with 6.2.2, if you publish something "mixed" issue a proper warning with it, any driver thats not tested might crash

 

 

 

Edited by IG-88
  • Like 1
Link to comment
Share on other sites

On 1/16/2020 at 8:43 PM, IG-88 said:

that going to make problems as juns original files are not compiled with the right kernel settings and some will crash when using them with 6.2.2, if you publish something "mixed" issue a proper warning with it, any driver thats not tested might crash


Okay, you're right.
As soon as I can I will compile the modules again. Although it works, but to prevent.

 

On 1/16/2020 at 8:43 PM, IG-88 said:

don't forget to mention that these are only for 6.2.2 and for the dsm type (3615?) you made them for, for 3617 you would need a different kernel config (broadwell) to compile and for 918+ you would even need a different kernel source (4.4.59+)

 

anything special done to get the drivers to compile? how big are those additional drivers?

maybe i can add the dvbsky source to my build environment and add them to the "normal" extra.lzma


Ok, when I recompile these I will indicate that these are for DS3615xs (Bromolow).

I compiled the drivers in a normal way, so I didn't do anything in particular (for example, here is a guide to do it).


Including DVBSky drivers in your extra.lzma would be a fantastic idea. But would the modules only be "stored" (without loading) or would all modules be included and also loaded?

I say it, because at least my model needs to load several modules to work, not just one.
And the modules need to be loaded in a specific order, since some modules depend on others.
 

If you want to include all the modules of all DVBSky cards, and load those in the boot, I could help you only with the order of my card model. Since I have no idea what modules and order use the rest of DVBSky cards (but anyway I could upload to the forum all modules of all DVBSky, without problems and delighted).

By the way, my model is DVBSky S952 v2, but I think v1 also works with the same modules and same order. From version 3 we also know the necessary modules and their order, since this example is casually explained in the guide that I linked to you above.
If you want, at the moment, these 3 card models could be included in your extra.lzma and if possible in the future expand it to more.

Cheers and thanks!

PD: Out of curiosity, modules compiled for DSM 6.2.2 (with CONFIG_PCIEASPM disabled) also work well in DSM 6.2?

Link to comment
Share on other sites

17 hours ago, manuelin said:

PD: Out of curiosity, modules compiled for DSM 6.2.2 (with CONFIG_PCIEASPM disabled) also work well in DSM 6.2?

 

i guess not all drivers use that functionality

 

17 hours ago, manuelin said:

If you want to include all the modules of all DVBSky cards, and load those in the boot, I could help you only with the order of my card model. Since I have no idea what modules and order use the rest of DVBSky cards (but anyway I could upload to the forum all modules of all DVBSky, without problems and delighted).

 

maybe i won't then, on 2nd thought maybe dvb drivers tend to get exotic in a nas, now days we have internet, iptv and ip/sat (network tuner)

i ditched my dvb recorder 2 years ago and and i dont miss it

  • Like 1
Link to comment
Share on other sites

5 hours ago, IG-88 said:

maybe i won't then, on 2nd thought maybe dvb drivers tend to get exotic in a nas, now days we have internet, iptv and ip/sat (network tuner)

i ditched my dvb recorder 2 years ago and and i dont miss it


Yes, totally agree.
If I currently bought a dvb card, I would not buy a PCI card, I would buy a SAT>IP.
I simply try to use my DVBSky card for the simple reason that I already had it from a few years ago.


Finally, I have two questions:
1. Days ago you mentioned this file (when I asked you for the .config file) : ds.bromolow-6.2.dev.txz


When I need to compile, I do this:

git clone https://github.com/SynologyOpenSource/pkgscripts-ng.git
pkgscripts-ng/EnvDeploy -v 6.2 -p bromolow
cd build_env/ds.bromolow-6.2/source
etc...

I have the doubt if your method is better (or more recommended) than mine, or if it is the same and it does not matter.
Because the EnvDeploy of that GitHub repository creates the folder ds.bromolow-6.2, however your file is called ds.bromolow-6.2.dev


2. My card modules require loading in this order:

insmod videobuf-core.ko
insmod videobuf-dma-sg.ko
insmod rc-core.ko
insmod dvb-core.ko
insmod altera-ci.ko
insmod videodev.ko
insmod v4l2-common.ko
insmod cx2341x.ko
insmod /lib/modules/soundcore.ko
insmod /lib/modules/snd.ko
insmod /lib/modules/snd-page-alloc.ko
insmod /lib/modules/snd-timer.ko
insmod /lib/modules/snd-pcm.ko
insmod tveeprom.ko
insmod videobuf-dvb.ko
insmod btcx-risc.ko
insmod tda18271.ko
insmod dvbsky_m88ds3103.ko
insmod cx23885.ko

Instead of using a sh script in the path: /usr/local/etc/rc.d/
I have thought about modifying your extra.lzma file to load the modules directly into it. It seems more "clean".

In the rc.modules file, there are 3 sections: EXTRA_MODULES, DISK_MODULES and OPTIONAL_MODULES.
I should include those dvb modules in OPTIONAL_MODULES, right? (Since EXTRA is for network drivers, and DISK is for storage drivers)

And, if you look at the list above, you will see that there are 5 modules that are not mine, since those are from the DSM system.
How should those be loaded into the rc.modules file?
Can I include the complete system path (/lib/modules/XXXX.ko) in the rc.modules file or do I need to copy those files from DSM to the loader and therefore have them "duplicated"?

Thank you very much again and cheers!

Link to comment
Share on other sites

  • 4 weeks later...
On 4/25/2017 at 7:37 AM, IG-88 said:

 


cp synoconfigs/bromolow .config
 

we make a fallback copy


make ARCH="x86_64" oldconfig
 

we start the ascii art menu and search for the missing driver to activate

cursor/return are your friend in navigating, space selects, we activate the driver to an "M" so its build as module (*.ko file we need)

there will be tons of descriptions how to do it, just google if needed


make ARCH="x86_64" menuconfig
 

on exit we save the configuration and with the following we make/create the modules (will take a while)


make ARCH="x86_64" modules
 

 

 

Help..... I am stuck at the above point in this process. I am trying to get a QLogic QLE card running in my box, it is listing within the extra.lzma file, but I cannot seem to get there.

I did have an issue running the initial command apt-get install mc make gcc build-essential kernel-wedge libncurses5 libncurses5-dev libelf-dev binutils-dev kexec-tools makedumpfile fakeroot linux-kernel-devel lzma bc - it failed on linux-kernal-devel.....

 

 

 

Link to comment
Share on other sites

20 minutes ago, MDSimpson said:

it failed on linux-kernal-devel.....

dont mind that you dont need it, as you are using a kernel source that include the header files you can ignore it

 

"qle" might not be precise enough to estimate what you are up to build

what driver so you want to build?

this qlogic drivers are already in the extra.lzma for 6.2.2
netxen_nic: QLogic/NetXen NIC
qla3xxx: QLogic QLA3XXX Network driver
qlcnic: QLOGIC QLCNIC 1/10Gb Converged Ethernet
qlge: QLogic QLGE 10Gb Ethernet

 

 

Link to comment
Share on other sites

35 minutes ago, IG-88 said:

dont mind that you dont need it, as you are using a kernel source that include the header files you can ignore it

 

"qle" might not be precise enough to estimate what you are up to build

what driver so you want to build?

this qlogic drivers are already in the extra.lzma for 6.2.2
netxen_nic: QLogic/NetXen NIC
qla3xxx: QLogic QLA3XXX Network driver
qlcnic: QLOGIC QLCNIC 1/10Gb Converged Ethernet
qlge: QLogic QLGE 10Gb Ethernet

 

 

Thanks IG88.

I have tried to get the headers, but the apt install linux-headers-$(uname -r) says it is unable to locate linux-headers-3.10.102

How can I get passed the  make commands that fail?

 

I am running DSM 6.1.7-15284 Update 3. - DS3615xs

qlcnic: is what I need, it is a converged ethernet 10gb card. Actual model is QLE8152.

Link to comment
Share on other sites

 

2 hours ago, MDSimpson said:

I am running DSM 6.1.7-15284 Update 3. - DS3615xs

qlcnic: is what I need, it is a converged ethernet 10gb card. Actual model is QLE8152.

that driver is part of my extra.lzma for loader 1.02b/dsm 6.1, did you try this one

https://xpenology.com/forum/topic/9508-driver-extension-jun-102bdsm61x-for-3615xs-3617xs-916/

Link to comment
Share on other sites

Maybe the qlge is all I need...? Driver shows as in use. Maybe my issue is elsewhere..

 

lspci -k | grep 'Kernel driver'
        Kernel driver in use: pcieport
        Kernel driver in use: pcieport
        Kernel driver in use: ahci
        Kernel driver in use: ohci_hcd
        Kernel driver in use: ehci-pci
        Kernel driver in use: ohci_hcd
        Kernel driver in use: ehci-pci
        Kernel driver in use: ohci_hcd
        Kernel driver in use: ehci-pci
        Kernel driver in use: qlge
        Kernel driver in use: qlge
        Kernel driver in use: tg3

 

Link to comment
Share on other sites

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...