View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000688 | channel: elrepo/el7 | --elrepo--request-for-enhancement-- | public | 2016-11-16 14:05 | 2017-10-02 23:59 |
Reporter | jcpunk | Assigned To | toracat | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Summary | 0000688: [RFE] spec-sw/wr-nic | ||||
Description | The Simple PCIe FMC carrier (SPEC) is GPL source for an Open Hardware Project FMC bus - in particular the White Rabbit hardware timing system (http://www.ohwr.org/projects/white-rabbit/wiki). White Rabbit itself is being evaluated for a number of large scale Scientific projects as well as use in a number of timing sensitive operations (CERN Injector Chain, KM3NeT). http://www.ohwr.org/projects/white-rabbit/wiki/FAQwr | ||||
Additional Information | GPIO support appears to be enabled in the 7.3 kernel. GPIO support appears to be necessary for some functions. Source at: http://www.ohwr.org/projects/spec-sw/repository It looks like the 'kernel' and 'tools' directories are the ones that matter for the kmod and userspace commands. It appears to want access to the FMC headers for module linkage. White Rabbit wiki listing ELRepo for kernel source on EL6 systems -> http://www.ohwr.org/projects/wr-starting-kit/wiki/FAQ#The-starting-kit-is-based-on-Ubuntu-How-can-I-use-it-with-Scientific-Linux | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Reported upstream | |||||
|
Forgot to list the .ko files: spec.ko wr-nic.ko |
|
Uploaded a potentially viable source rpm. There are unrelated issues with fmc-bus in the kernel itself that will prevent this from compiling today. I'm hopeful to get those fixed (soon?) |
|
Thanks for the submission. Not that we had forgotten about it but could not figure out exactly what to do. ;-) |
|
No worries, as it is until they rebase FMC at kernel.org (and we rebase the kmod here) this does not build. I've got the patches for FMC, but would rather not patch anything that we can get from kernel.org. |
|
Did a quick check on the ABI warnings: ******************************************************************************** *********************** KERNEL ABI COMPATIBILITY WARNING *********************** ******************************************************************************** The following kernel symbols are not guaranteed to remain compatible with future kernel updates to this RHEL release: __dynamic_pr_debug __fentry__ __stack_chk_fail release_firmware request_firmware wait_for_completion_timeout warn_slowpath_fmt None of these have changed signatures in el7 thus far |
|
While this is still blocked on FMC bus changes (I'm getting closer) It may be worth also packaging up http://www.ohwr.org/projects/svec-sw at the same time. |
|
I just attached: spec-sw-kmod-0.0-2014.02.0.geb9b9d0.1.el7.src.rpm svec-sw-kmod-0.0-2015.05.0.gf34a4cb.1.el7.src.rpm etherbone-core-2.1.0-1.el7.src.rpm Which should provide most of the White Rabbit functionality in conjunction with the updated FMC from https://elrepo.org/bugs/view.php?id=775 |
|
I've also got a SRPM for fmc-fine-delay-kmod-0.0-2.0.4.0.gf76a08b.1.el7.src.rpm, however, it is over the file upload limit.... So I've posted it up at http://ftp.scientificlinux.org/linux/scientific/7rolling/testing/SRPMS/fmc-fine-delay-kmod-0.0-2.0.4.0.gf76a08b.1.el7.src.rpm |
|
etherbone-core built fine (after 'git' was added to BuildRequires). spec-sw-kmod produced the following error: /data/rpmbuild/elrepo/fmc688/BUILD/spec-sw-0.0/kernel/wr_nic/nic-core.c: In function 'wrn_start_xmit': /data/rpmbuild/elrepo/fmc688/BUILD/spec-sw-0.0/kernel/wr_nic/nic-core.c:212:5: error: 'struct net_device' has no member named 'trans_start' dev->trans_start = jiffies; ^ make[2]: *** [/data/rpmbuild/elrepo/fmc688/BUILD/spec-sw-0.0/kernel/wr_nic/nic-core.o] Error 1 make[1]: *** [_module_/data/rpmbuild/elrepo/fmc688/BUILD/spec-sw-0.0/kernel] Error 2 make[1]: Leaving directory `/usr/src/kernels/3.10.0-693.el7.x86_64' make: *** [all] Error 2 |
|
hmmmmm I'll look into that one.... |
|
This patch appears to fix the issue (pulled from upstream git repo https://www.ohwr.org/projects/spec-sw/repository/revision/7499f529154f46f18483726e5de334f7b8c6f416 ). I've also added yetanother WhiteRabbit driver source rpm to the ticket. ### diff --git a/kernel/wr_nic/nic-core.c b/kernel/wr_nic/nic-core.c index 20794cd..b54005e 100644 --- a/kernel/wr_nic/nic-core.c +++ b/kernel/wr_nic/nic-core.c @@ -209,7 +209,7 @@ static int wrn_start_xmit(struct sk_buff *skb, struct net_device *dev) /* We are done, this is trivial maiintainance*/ ep->stats.tx_packets++; ep->stats.tx_bytes += len; - dev->trans_start = jiffies; + netif_trans_update(dev); //spin_unlock_irqrestore(&ep->lock, flags); return 0; |
|
After that fix, I got the following error: makeinfo --html --no-split -o spec-sw.html spec-sw.texi spec-sw.texi:55: @paragraphindent arg must be numeric/`none'/`asis', not `3mm' make: *** [spec-sw.info] Error 1 Then found a fix: https://www.ohwr.org/projects/spec-sw/repository/revisions/e84a063d7aea5f30e463cc384366487ff5a5d53b/diff |
|
To build fmc-fine-delay-kmod, I need to rebuild zio against the 7.4 kernel because its header package is Required. |
|
fmc-tdc-kmod BuildRequires doxygen. |
|
The following packages have been released to the elrepo-tesing repository. x86_64: etherbone-core-2.1.0-1.el7.elrepo.x86_64.rpm etherbone-core-debuginfo-2.1.0-1.el7.elrepo.x86_64.rpm fmc-fine-delay-kmod-headers-0.0-2.0.4.0.gf76a08b.1.el7.elrepo.x86_64.rpm fmc-fine-delay-kmod-tools-0.0-2.0.4.0.gf76a08b.1.el7.elrepo.x86_64.rpm fmc-kmod-headers-0.1-2017.06.1.el7.elrepo.x86_64.rpm fmc-kmod-tools-0.1-2017.06.1.el7.elrepo.x86_64.rpm fmc-tdc-kmod-headers-0.0-2015.05.0.g461182b.1.el7.elrepo.x86_64.rpm fmc-tdc-kmod-tools-0.0-2015.05.0.g461182b.1.el7.elrepo.x86_64.rpm kmod-fmc-0.1-2017.06.1.el7.elrepo.x86_64.rpm kmod-fmc-fine-delay-0.0-2.0.4.0.gf76a08b.1.el7.elrepo.x86_64.rpm kmod-fmc-tdc-0.0-2015.05.0.g461182b.1.el7.elrepo.x86_64.rpm kmod-spec-sw-0.0-2014.02.0.geb9b9d0.1.el7.elrepo.x86_64.rpm kmod-svec-sw-0.0-2015.05.0.gf34a4cb.1.el7.elrepo.x86_64.rpm kmod-zio-0.1-1.2.0.g3d9cee9.5.el7.elrepo.x86_64.rpm spec-sw-kmod-headers-0.0-2014.02.0.geb9b9d0.1.el7.elrepo.x86_64.rpm spec-sw-kmod-tools-0.0-2014.02.0.geb9b9d0.1.el7.elrepo.x86_64.rpm svec-sw-kmod-headers-0.0-2015.05.0.gf34a4cb.1.el7.elrepo.x86_64.rpm svec-sw-kmod-tools-0.0-2015.05.0.gf34a4cb.1.el7.elrepo.x86_64.rpm zio-kmod-headers-0.1-1.2.0.g3d9cee9.5.el7.elrepo.x86_64.rpm zio-kmod-tools-0.1-1.2.0.g3d9cee9.5.el7.elrepo.x86_64.rpm etherbone-core-2.1.0-1.el7.elrepo.src.rpm srpms: fmc-fine-delay-kmod-0.0-2.0.4.0.gf76a08b.1.el7.elrepo.src.rpm fmc-kmod-0.1-2017.06.1.el7.elrepo.src.rpm fmc-tdc-kmod-0.0-2015.05.0.g461182b.1.el7.elrepo.src.rpm repodata spec-sw-kmod-0.0-2014.02.0.geb9b9d0.1.el7.elrepo.src.rpm svec-sw-kmod-0.0-2015.05.0.gf34a4cb.1.el7.elrepo.src.rpm zio-kmod-0.1-1.2.0.g3d9cee9.5.el7.elrepo.src.rpm |
|
hmmmmm I seem to be getting the following error with fmc_tdc.ko and fmc_fine_delay.ko [ 446.460465] module: overflow in relocation type 10 val ffffffffc06778c8 [ 446.460688] module: `fmc_tdc' likely not compiled with -mcmodel=kernel [ 457.946408] module: overflow in relocation type 10 val ffffffffc0685d98 [ 457.946569] module: `fmc_fine_delay' likely not compiled with -mcmodel=kernel I've never seen this before.... any ideas? |
|
I have no idea. I was able to reproduce the error on our test system. Should I try adding "-mcmodel=kernel" to CFLAG ?? It might not be that simple though. |
|
Seems like that might do the trick... I'm still trying to figure out why my mock root doesn't have this behavior.... |
|
So, when you build the same package on your system, it does not have this issue? |
|
Correct, I've got a mock root I've been testing in. But there may be something weird in there unrelated to this... The Makefile should be calling out to Kbuild to get rational CFLAGS.... |
|
It appears that glue.o and access.o from fmc-kmod are somehow the cause.... as to why, that I've no clue... I archived off my buildroot and in a fresh one I'm getting the exact same errors. |
|
I've uploaded a new fmc-kmod that seems to provide the needed objects in the right format. The fmc-tdc and fmc-fine-delay spec files need an adjustment like the following patch[1]. Pat [1] --- fmc-tdc-kmod.spec.orig 2017-09-01 09:43:18.459618996 -0500 +++ fmc-tdc-kmod.spec 2017-09-01 09:44:53.232354457 -0500 @@ -85,10 +85,6 @@ EOF %patch1 -p1 -pushd kernel -%{__cp} %{_libdir}/libsdbfs/access.o . -%{__cp} %{_libdir}/libsdbfs/glue.o . -popd %build @@ -104,6 +100,8 @@ source ${ZIO_HEADERS}/zio-version-env source ${SPEC_HEADERS}/spec-sw-version-env pushd kernel +%{__cp} ${FMC_HEADERS}/access.o . +%{__cp} ${FMC_HEADERS}/glue.o . %{__make} LINUX="${KSRC}" FMC_BUS=${FMC_HEADERS} FMC_BUS_VERSION=${FMC_BUS_VERSION} ZIO=${ZIO_HEADERS} ZIO_VERSION=${ZIO_VERSION} SPEC_SW=${SPEC_HEADERS} SPEC_SW_VERSION=${SPEC_SW_VERSION} popd |
|
I was just looking at those line. :) Will try your patch here. |
|
The revised version of the fmc-kmod, fmc-tdc and fmc-fine-delay packages will show up in the elrepo-testing repository soon. The version tag has a "2.el7.elrepo" instead of "1.el7.elrepo". |
|
No luck. Still the same error. |
|
I'm still looking into this.... In the process I noticed that kmod-svec-sw-0.0-2015.05.0.gf34a4cb.1.el7.elrepo seems to not have the right Requires for ksym(fmc etc) |
|
Other than the errors with kmod-svec I'm show the ability to modprobe : kmod-fmc-0.1-2017.06.2.el7.elrepo.x86_64 kmod-fmc-fine-delay-0.0-2.0.4.0.gf76a08b.2.el7.elrepo.x86_64 kmod-fmc-tdc-0.0-2015.05.0.g461182b.2.el7.elrepo.x86_64 kmod-spec-sw-0.0-2014.02.0.geb9b9d0.1.el7.elrepo.x86_64 kmod-zio-0.1-1.2.0.g3d9cee9.5.el7.elrepo.x86_64 on the 7.4 kernel. |
|
Just checking back in on a rebuild of kmod-svec-sw-0.0-2015.05.0.gf34a4cb.1.el7.elrepo |
|
Sorry, I thought I was waiting on your move. :) Will look into it shortly. |
|
With kmod-svec-sw, I see: ksym(fmc_device_register_n_gw) = 0xc49e3398 ksym(fmc_device_unregister_n) = 0x00000000 ksym(fmc_find_sdb_device) = 0x00000000 ksym(fmc_free_sdb_tree) = 0x00000000 ksym(fmc_scan_sdb_tree) = 0x00000000 ksym(fmc_show_sdb_tree) = 0x00000000 ksym(vme_find_mapping) = 0x00000000 ksym(vme_free_irq) = 0x00000000 ksym(vme_register_driver) = 0x00000000 ksym(vme_release_mapping) = 0x00000000 ksym(vme_request_irq) = 0x00000000 ksym(vme_unregister_driver) = 0x00000000 Then I noticed in the source tarfile of kmod-svec-sw, there are : 1074 Jul 5 11:20 kernel/Module.symvers.fmc 2059 Jul 5 11:20 kernel/Module.symvers.vme The contents are all like this: 0x00000000 fmc_device_unregister /nfs/cs-ccr-nfsdev/vol1/u1/dcobas/cage/fmc/fmc-bus/kernel/fmc EXPORT_SYMBOL 0x00000000 fmc_find_sdb_device /nfs/cs-ccr-nfsdev/vol1/u1/dcobas/cage/fmc/fmc-bus/kernel/fmc EXPORT_SYMBOL Wonder if they are causing the problem. There were no such files in kmod-spec-sw. |
|
yeah, those look fishy.... I'd remove those two Module.symvers files |
|
I removed those two files and the resulting rpm looks "okay". $ rpm -qpR kmod-svec-sw-0.0-2015.05.0.gf34a4cb.1.el7.x86_64.rpm | grep ksym ksym(fmc_device_register_n_gw) = 0xc49e3398 ksym(fmc_device_unregister_n) = 0x1183963d ksym(fmc_find_sdb_device) = 0xb71dd84e ksym(fmc_free_sdb_tree) = 0x98ae4ed9 ksym(fmc_scan_sdb_tree) = 0x30ee5653 ksym(fmc_show_sdb_tree) = 0xab92aee2 |
|
The following packages have been released to the testing repo (syncing to mirrors): kmod-svec-sw-0.0-2015.05.0.gf34a4cb.1.el7.elrepo.x86_64.rpm svec-sw-kmod-headers-0.0-2015.05.0.gf34a4cb.1.el7.elrepo.x86_64.rpm svec-sw-kmod-tools-0.0-2015.05.0.gf34a4cb.1.el7.elrepo.x86_64.rpm svec-sw-kmod-0.0-2015.05.0.gf34a4cb.1.el7.elrepo.src.rpm |
|
i believe this most recent build works as expected. I'd say these are safe to publish. |
|
All packages moved to the main repo. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-11-16 14:05 | jcpunk | New Issue | |
2016-11-16 14:05 | jcpunk | Status | new => assigned |
2016-11-16 14:05 | jcpunk | Assigned To | => toracat |
2016-11-16 14:08 | jcpunk | Note Added: 0004930 | |
2017-01-11 12:23 | jcpunk | File Added: spec-sw-kmod-2014.02-74.g5f15d26.1.el7.src.rpm | |
2017-01-11 12:24 | jcpunk | Note Added: 0005038 | |
2017-01-11 12:37 | toracat | Note Added: 0005039 | |
2017-01-11 12:44 | jcpunk | Note Added: 0005040 | |
2017-01-11 14:49 | jcpunk | Note Added: 0005042 | |
2017-06-29 14:33 | jcpunk | Note Added: 0005294 | |
2017-08-28 09:19 | jcpunk | File Added: svec-sw-kmod-0.0-2015.05.0.gf34a4cb.1.el7.src.rpm | |
2017-08-28 09:19 | jcpunk | File Added: spec-sw-kmod-0.0-2014.02.0.geb9b9d0.1.el7.src.rpm | |
2017-08-28 09:19 | jcpunk | File Added: etherbone-core-2.1.0-1.el7.src.rpm | |
2017-08-28 09:20 | jcpunk | Note Added: 0005424 | |
2017-08-28 09:22 | jcpunk | Note Added: 0005425 | |
2017-08-29 00:49 | toracat | Note Added: 0005438 | |
2017-08-29 07:22 | jcpunk | Note Added: 0005439 | |
2017-08-29 08:28 | jcpunk | File Added: fmc-tdc-kmod-0.0-2015.05.0.g461182b.1.el7.src.rpm | |
2017-08-29 08:37 | jcpunk | Note Added: 0005441 | |
2017-08-29 11:25 | toracat | Note Added: 0005442 | |
2017-08-29 11:54 | toracat | Note Added: 0005443 | |
2017-08-29 17:48 | toracat | Note Added: 0005444 | |
2017-08-29 18:02 | toracat | Note Added: 0005445 | |
2017-08-30 08:01 | jcpunk | Note Added: 0005447 | |
2017-08-30 16:52 | toracat | Note Added: 0005448 | |
2017-08-31 13:39 | jcpunk | Note Added: 0005451 | |
2017-08-31 14:03 | toracat | Note Added: 0005452 | |
2017-08-31 15:32 | jcpunk | Note Added: 0005453 | |
2017-09-01 07:27 | jcpunk | Note Added: 0005454 | |
2017-09-01 08:42 | jcpunk | File Added: fmc-kmod-0.1-2017.06.2.el7.src.rpm | |
2017-09-01 08:51 | jcpunk | Note Added: 0005455 | |
2017-09-01 09:19 | toracat | Note Added: 0005456 | |
2017-09-01 12:05 | toracat | Note Added: 0005458 | |
2017-09-01 15:16 | toracat | Note Added: 0005459 | |
2017-09-11 12:51 | jcpunk | Note Added: 0005477 | |
2017-09-11 12:59 | jcpunk | Note Added: 0005478 | |
2017-09-29 08:45 | jcpunk | Note Added: 0005519 | |
2017-09-29 09:12 | toracat | Note Added: 0005520 | |
2017-09-29 14:52 | toracat | Note Added: 0005521 | |
2017-09-29 14:56 | jcpunk | Note Added: 0005522 | |
2017-09-29 14:59 | toracat | Note Added: 0005523 | |
2017-09-29 15:21 | toracat | Note Added: 0005524 | |
2017-10-02 08:54 | jcpunk | Note Added: 0005532 | |
2017-10-02 10:12 | toracat | Note Added: 0005533 | |
2017-10-02 23:59 | toracat | Status | assigned => resolved |
2017-10-02 23:59 | toracat | Resolution | open => fixed |