
Recientemente compré una cámara PhotonFocus y quiero usarla conubuntu 18.04. He vistoaquíque para eso necesitoSDK eBUS6.x. Sin embargo, desdeaquíSólo puedo descargar la versión 5.1.5. ¿Que opciones tengo?
Cuando intento instalar el .deb de la versión 5.1.5 obtengo el siguiente resultado:
(Reading database ... 468606 files and directories currently installed.)
Preparing to unpack eBUS_SDK_Ubuntu-x86_64-5.1.5-4563.deb ...
Removing /etc/ld.so.conf.d/eBUS_SDK.conf.
Reloading library path.
eBUS daemon is running: stopping the service.
Disabling automatic startup of eBUSd.
Removing /etc/init.d/eBUSd.
The /etc/udev/rules.d/80-drivers-eBUSSDK-28b7.rules rule has been removed.
The /etc/udev/rules.d/80-drivers-eBUSSDK-14fb.rules rule has been removed.
Cannot uninstall ebUniversalProForEthernet: it is not installed.
Unpacking ebus_sdk_ubuntu-x86_64 (5.1.5) over (5.1.5) ...
Setting up ebus_sdk_ubuntu-x86_64 (5.1.5) ...
Creating /etc/ld.so.conf.d/eBUS_SDK.conf.
Reloading library path.
*********************************************
Build ebUniversalProForEthernet-x86_64.ko
*********************************************
Using output folder /opt/pleora/ebus_sdk/Ubuntu-x86_64/module
Using kernel from folder /lib/modules/4.15.0-65-generic/build
Invoking makefile to build the ebUniversalProForEthernet-x86_64.ko module
make: Entering directory '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet'
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-65-generic'
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/LFT_Module.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/NET_KMLRXPacket.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/NET_KMLUtil.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLEvent.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLGCCCompiler.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLInit.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLLock.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLMemory.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLMemoryMap.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLNetwork.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLString.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLSystem.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLRWLock.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTime.o
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.o
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c: In function ‘OS_TimerCreate’:
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c:61:5: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
init_timer( lTimer );
^~~~~~~~~~
init_timers
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c:64:11: error: ‘struct timer_list’ has no member named ‘data’
lTimer->data = ( unsigned long ) aTimer;
^~
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c:70:26: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
lTimer->function = OS_TimerPeriodicInternalFunc;
^
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c:74:26: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
lTimer->function = OS_TimerInternalFunc;
^
cc1: some warnings being treated as errors
scripts/Makefile.build:330: recipe for target '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.o' failed
make[2]: *** [/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.o] Error 1
Makefile:1571: recipe for target '_module_/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet' failed
make[1]: *** [_module_/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-65-generic'
Makefile:28: recipe for target 'all' failed
make: *** [all] Error 2
make: Leaving directory '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet'
Error: *** Fail to create the module ebUniversalProForEthernet-x86_64.ko ***
Driver build failed, skipping installation.
Setting rp_filter mode to No source validation.
For more information, read the RHEL knowledge note:
https://access.redhat.com/knowledge/solutions/53031
Restarting network stack.
Configuring eBUSd for automatic startup.
Starting eBUS daemon.
The /etc/udev/rules.d/80-drivers-eBUSSDK-28b7.rules rule has been created.
The /etc/udev/rules.d/80-drivers-eBUSSDK-14fb.rules rule has been created.
Installation summary:
set_puregev_env script generation [ OK ]
Update libraries path [ OK ]
eBUS Universal Pro driver build [ FAIL ]
eBUS Universal Pro driver installation [ FAIL ]
set_rp_filter.sh configuration [ OK ]
eBUS daemon installation [ OK ]
Installation complete.
eBUS SDK installed in /opt/pleora/ebus_sdk/Ubuntu-x86_64
Processing triggers for libc-bin (2.27-3ubuntu1) ...
También intenté construir el controlador:
miguel@miguel-ubuntu:/opt/pleora/ebus_sdk/Ubuntu-x86_64/module$ sudo ./build.sh --kernel=/usr/src/linux-headers-4.15.0-65
pero me sale el siguiente error:
*********************************************
Build ebUniversalProForEthernet-x86_64.ko
*********************************************
Using output folder /opt/pleora/ebus_sdk/Ubuntu-x86_64/module
Using kernel from folder /usr/src/linux-headers-4.15.0-65
Invoking makefile to build the ebUniversalProForEthernet-x86_64.ko module
make: Entering directory '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet'
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-65'
ERROR: Kernel configuration is invalid.
include/generated/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
WARNING: Symbol version dump ./Module.symvers
is missing; modules will have no dependencies and modversions.
CC [M] /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/LFT_Module.o
In file included from <command-line>:0:0:
././include/linux/kconfig.h:5:10: fatal error: generated/autoconf.h: No such file or directory
#include <generated/autoconf.h>
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
scripts/Makefile.build:330: recipe for target '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/LFT_Module.o' failed
make[2]: *** [/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/LFT_Module.o] Error 1
Makefile:1571: recipe for target '_module_/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet' failed
make[1]: *** [_module_/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-65'
Makefile:28: recipe for target 'all' failed
make: *** [all] Error 2
make: Leaving directory '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet'
Error: *** Fail to create the module ebUniversalProForEthernet-x86_64.ko ***
Gracias de antemano.
Respuesta1
Me estoy encontrando con esto también. Pleora no proporcionó soporte para el kernel en la versión 5 posterior 4.14
. Estás atrapado pagando por la versión 6 o intentando parchar tu módulo del kernel tú mismo. He estado intentando parchear el módulo del kernel, pero hay bastantes cambios y todavía no he tenido éxito.
Respuesta2
Probablemente sea un problema de versión del kernel. Tuve el mismo problema con el SDK del bus y Ubuntu 16.04. La solución fue descargar el kernel 4.1.0 desde https://kernel.ubuntu.com/~kernel-ppa/mainline/
Descargue los siguientes archivos:
encabezados-linux-xxxxxx-generic-xxxxxx_amd64.deb
encabezados-linux-xxxxxx_all.deb
linux-imagen-xxxxxx-generic-xxxxxx_amd64.deb
Antes de instalar el otro kernel, obtenga module-init-tools: sudo apt install -y módulo-init-herramientas
Luego navegue hasta la carpeta con los archivos del kernel descargados e instálelos (si no funciona, simplemente cambie el orden en el que están instalados):
sudo dpkg -i linux-headers-xxxxxx_all.deb
sudo dpkg -i linux-image-xxxxxx-generic-xxxxxx_amd64.deb
sudo dpkg -i linux-headers-xxxxxx-generic-xxxxxx_amd64.deb
Para iniciar en el nuevo kernel, presione Mayús durante el inicio para ingresar a GRUB. Elija el nuevo kernel en un submenú y continúe con el arranque.
Ahora intente nuevamente instalar el SDK de eBUS