bondagit / ravenna-alsa-lkm Goto Github PK
View Code? Open in Web Editor NEWRAVENNA ALSA LKM
RAVENNA ALSA LKM
[audiolinux@archlinux driver]$ make
make -C /lib/modules/5.12.1-arch1-1/build/ M=/media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver modules
make[1]: Entering directory '/usr/lib/modules/5.12.1-arch1-1/build'
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/c_wrapper_lib.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/audio_driver.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/manager.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/module_main.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/PTP.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/module_interface.o
/media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/module_interface.c:63:25: error: expected declaration specifiers or ‘...’ before string constant
63 | MODULE_SUPPORTED_DEVICE("{{ALSA,Merging RAVENNA}}");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:271: /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/module_interface.o] Error 1
make[1]: *** [Makefile:1851: /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.12.1-arch1-1/build'
make: *** [Makefile:14: modules] Error 2
From here:
https://bitbucket.org/MergingTechnologies/ravenna-alsa-lkm/src/master/
I see there are some recent updates
Hello.
It is stated that it works fine with Arm v7.
However, I have tried with the following SBCs
RPI Zero
RPI Zero 2W
Luckfox Pico Max
ERROR: modpost: "__aeabi_uldivmod" [/home/jackheinlein/aes67-linux-daemon/3rdparty/ravenna-alsa-lkm/driver/MergingRavennaALSA.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [/home/jackheinlein/aes67-linux-daemon/3rdparty/ravenna-alsa-lkm/driver/MergingRavennaALSA.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:126: /home/jackheinlein/aes67-linux-daemon/3rdparty/ravenna-alsa-lkm/driver/Module.symvers] エラー 1
make[1]: *** [Makefile:1964: modpost] エラー 2
make[1]: ディレクトリ '/usr/src/linux-headers-6.1.21-v7+' から出ます
make: *** [Makefile:15: modules] エラー 2
This is the error.
I have tried to edit the Makefile in various ways, but it is not working in the end.
It is Japanese in places, but these mean.
"エラー" means "error".
"ディレクトリ" means "directory".
"から出ます" means "out form ~~~ "
I don't know much about kernel modules, so if you have any solutions, I would be grateful.
kindly.
The Butler public binary depends on libcurl3, which is no longer available for Ubuntu 20.04 and others. It should be re-compiled with libcurl4 support and re-released.
on my RPI I'm loading the driver with insmod from /etc/rc.local. Works fine, but
when I want to shutdown or reboot the system hangs waiting for the ethernet port to become free.
Could this be the driver holding on to it?
If so, is there a better way to load the driver ? I need it to load before pulseaudio.
( maybe it can go in /lib/modules/5.10.63-v8+/kernel/sound/drivers ?)
The only other thing associated with the ethernet port is ptp4l, and the aes67-daemon
/Down/ravenna-alsa-lkm-aes67-daemon/driver$ make
make -C /lib/modules/5.13.0-48-generic/build/ M=/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver modules
make[1]: Entering directory '/usr/src/linux-headers-5.13.0-48-generic'
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/c_wrapper_lib.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/audio_driver.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/manager.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/module_main.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/PTP.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/module_interface.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/module_netlink.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/module_timer.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/EtherTubeNetfilter.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_streams_manager.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_audio_stream.o
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_audio_stream.c: In function ‘PrepareBufferLives’:
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_audio_stream.c:1044:41: warning: unused variable ‘delta’ [-Wunused-variable]
1044 | int64_t delta = self->m_tRTPStream.m_ui64LastAudioSampleReceivedSAC - pManager->get_global_SAC(pManager->user);
| ^~~~~
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_stream.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_stream_info.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.o
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c: In function ‘MTAL_DumpID’:
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c:107:25: warning: unused variable ‘by’ [-Wunused-variable]
107 | uint8_t by = (ullID >> (ui32 * 8)) & 0xFF;
| ^~
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c: In function ‘MTAL_DumpAppleMIDI’:
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c:556:50: warning: unused variable ‘pSynch’ [-Wunused-variable]
556 | TAppleMIDI_Synch_Packet* pSynch = (TAppleMIDI_Synch_Packet*)pAppleMIDI_PacketBase;
| ^~~~~~
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c:580:56: warning: unused variable ‘pAppleMIDI_IN_NO_OK_BY_Packet’ [-Wunused-variable]
580 | TAppleMIDI_IN_NO_OK_BY_Packet* pAppleMIDI_IN_NO_OK_BY_Packet = (TAppleMIDI_IN_NO_OK_BY_Packet*)pAppleMIDI_PacketBase;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_LKernelAPI.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTConvert.o
LD [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.o
MODPOST /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/Module.symvers
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.mod.o
LD [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.ko
BTF [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.ko
Skipping BTF generation for /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-5.13.0-48-generic'
https://forum.merging.com/viewtopic.php?f=73&t=14644&p=41459#p41459
The following sample rates are currently not working: 192, 384khz
Any attempt to use these results in a kernel hang.
Also, the attempt to use speaker-test application with 96Khz results in kernel hang.
According to the PTP_WATCHDOG_ELAPSE comment we assume to receive at least one sync each 2s
its supposed to be 2s.
#define PTP_WATCHDOG_ELAPSE 20000000 // we assume to receive at least
#define NS_2_REF_UNIT 100000 // ns is the linux time unit
void get_clock_time(uint64_t* clock_time)
{
ktime_t kt_now;
kt_now = ktime_get();
*clock_time = (uint64_t)ktime_to_ns(kt_now);
}
...
uint64_t ui64CurrentRTXClockTime;
get_clock_time(&ui64CurrentRTXClockTime);
ui64CurrentRTXClockTime /= NS_2_REF_UNIT; // [100us]
...
uint64_t ui64WatchDogElapse = ui64CurrentRTXClockTime - self->m_ui64LastWatchDogTime;
if(ui64WatchDogElapse >= PTP_WATCHDOG_ELAPSE)
As I read that and have tested it for is that PTP_WATCHDOG_ELAPSE is in 100us as unit. That means that PTP_WATCHDOG_ELAPSE is 20000000 * 100us = 2000s.
I'd suggest cutting it by 1000, because then the rest of the code behaves as expected when a ptp clock is lost.
Cannot compile it in kernel 6.2. Tried with gcc 12.2.1-5 and also with clang 15.0.7-4
This is the output:
DKMS make.log for ravenna-alsa-lkm-r135.140abf6 for kernel 6.2.2-1-cachyos-rt (x86_64) Wed Mar 22 03:41:54 PM +07 2023 make -C /lib/modules/6.2.2-1-cachyos-rt/build/ M=/var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build modules CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/c_wrapper_lib.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/manager.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/module_main.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/PTP.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/module_interface.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/module_netlink.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/module_timer.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/EtherTubeNetfilter.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_streams_manager.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_audio_stream.o /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_audio_stream.c:1044:13: warning: unused variable 'delta' [-Wunused-variable] int64_t delta = self->m_tRTPStream.m_ui64LastAudioSampleReceivedSAC - pManager->get_global_SAC(pManager->user); ^ CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_stream.o 1 warning generated. CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_stream_info.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_EthUtils.o /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.c:1340:8: warning: variable 'ptp_frame_size' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if(chip->ravenna_peer) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.c:1344:22: note: uninitialized use occurs here if(periodSize != ptp_frame_size) ^~~~~~~~~~~~~~ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.c:1340:5: note: remove the 'if' if its condition is always true if(chip->ravenna_peer) ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.c:1304:28: note: initialize the variable 'ptp_frame_size' to silence this warning uint32_t ptp_frame_size; ^ = 0 /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_EthUtils.c:107:11: warning: unused variable 'by' [-Wunused-variable] uint8_t by = (ullID >> (ui32 * 8)) & 0xFF; ^ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_EthUtils.c:556:29: warning: unused variable 'pSynch' [-Wunused-variable] TAppleMIDI_Synch_Packet* pSynch = (TAppleMIDI_Synch_Packet*)pAppleMIDI_PacketBase; ^ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_EthUtils.c:580:35: warning: unused variable 'pAppleMIDI_IN_NO_OK_BY_Packet' [-Wunused-variable] TAppleMIDI_IN_NO_OK_BY_Packet* pAppleMIDI_IN_NO_OK_BY_Packet = (TAppleMIDI_IN_NO_OK_BY_Packet*)pAppleMIDI_PacketBase; ^ CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_LKernelAPI.o 3 warnings generated. CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTConvert.o 1 warning generated. /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTConvert.c:176:19: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] void MTConvertInit() //Init_Converter() ^ void 1 error generated. make[2]: *** [scripts/Makefile.build:252: /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTConvert.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [Makefile:2019: /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build] Error 2 make: *** [Makefile:15: modules] Error 2
Cannot compile driver on kernel 5.11:
[audiolinux@archlinux driver]$ make make -C /lib/modules/5.11.11-arch1-1/build/ M=/media/linux/Downloads/Temp/ravenna-alsa-lkm/driver modules make[1]: Entering directory '/usr/lib/modules/5.11.11-arch1-1/build' CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/c_wrapper_lib.o CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/audio_driver.o /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/audio_driver.c: In function ‘mr_alsa_audio_pcm_capture_copy_internal’: /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/audio_driver.c:1210:9: error: implicit declaration of function ‘__put_user_x’; did you mean ‘__put_user_8’? [-Werror=implicit-function-declaration] 1210 | __put_user_x(1, val, (unsigned long __user *)src, ret_pu); | ^~~~~~~~~~~~ | __put_user_8 cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:279: /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/audio_driver.o] Error 1 make[1]: *** [Makefile:1809: /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver] Error 2 make[1]: Leaving directory '/usr/lib/modules/5.11.11-arch1-1/build' make: *** [Makefile:14: modules] Error 2
Greetings - in attempting to build the driver on Ubuntu 23.10 I get this error:
| ^~~~
CC [M] /home/steveb/ravenna-alsa-lkm/driver/module_interface.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/module_netlink.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/module_timer.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/EtherTubeNetfilter.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/RTP_streams_manager.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/RTP_audio_stream.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/RTP_stream.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/RTP_stream_info.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/MTAL_EthUtils.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/MTAL_LKernelAPI.o
/home/steveb/ravenna-alsa-lkm/driver/MTAL_LKernelAPI.c:94:10: fatal error: stdarg.h: No such file or directory
94 | #include <stdarg.h>
| ^~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.build:251: /home/steveb/ravenna-alsa-lkm/driver/MTAL_LKernelAPI.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.5.0-14-generic/Makefile:2037: /home/steveb/ravenna-alsa-lkm/driver] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.5.0-14-generic'
make: *** [Makefile:14: modules] Error 2
steveb@TSM-i7-UB:~/ravenna-alsa-lkm/driver$
DKMS make.log for ravenna-alsa-lkm-r141.6ca0a3d for kernel 6.8.1-arch1-1.1 (x86_64)
lun 18 mar 2024, 10:21:59, CET
make -C /lib/modules/6.8.1-arch1-1.1/build/ M=/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build modules
make[1]: Entering directory '/usr/lib/modules/6.8.1-arch1-1.1/build'
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/c_wrapper_lib.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/audio_driver.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/manager.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_main.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/PTP.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_interface.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_netlink.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_timer.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/EtherTubeNetfilter.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/RTP_streams_manager.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/RTP_audio_stream.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/RTP_stream.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/RTP_stream_info.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/MTAL_EthUtils.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/MTAL_LKernelAPI.o
CC [M] /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/MTConvert.o
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/manager.c:1319:5: warning: no previous prototype for ‘pdate_live_in_audio_data_format’ [-Wmissing-prototypes]
1319 | int pdate_live_in_audio_data_format(void* user, uint32_t ulChannelId, char const * pszCodec)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_timer.c:69:6: warning: no previous prototype for ‘tasklet_hrtimer_init’ [-Wmissing-prototypes]
69 | void tasklet_hrtimer_init(struct tasklet_hrtimer *ttimer,
| ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_timer.c:94:22: warning: no previous prototype for ‘timer_callback’ [-Wmissing-prototypes]
94 | enum hrtimer_restart timer_callback(struct hrtimer *timer)
| ^~~~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/PTP.c:77:10: warning: no previous prototype for ‘get_FS’ [-Wmissing-prototypes]
77 | uint32_t get_FS(uint32_t ui32SamplingRate)
| ^~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/PTP.c:101:10: warning: no previous prototype for ‘get_samplerate_base’ [-Wmissing-prototypes]
101 | uint32_t get_samplerate_base(uint32_t ui32SamplingRate)
| ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/PTP.c:138:17: warning: no previous prototype for ‘SetSeconds’ [-Wmissing-prototypes]
138 | /*static*/ void SetSeconds(uint64_t ui64Time, uint8_t bySeconds[6])
| ^~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/PTP.c:148:17: warning: no previous prototype for ‘DumpPTPV2MsgHeader’ [-Wmissing-prototypes]
148 | /*static*/ void DumpPTPV2MsgHeader(TV2MsgHeader* pV2MsgHeader)
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/PTP.c:164:17: warning: no previous prototype for ‘DumpV2TimeRepresentation’ [-Wmissing-prototypes]
164 | /*static*/ void DumpV2TimeRepresentation(TV2TimeRepresentation* pOriginTimestamp)
| ^~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/audio_driver.c: In function ‘mr_alsa_audio_chip_probe’:
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/audio_driver.c:2170:5: error: implicit declaration of function ‘strlcpy’; did you mean ‘strscpy’? [-Werror=implicit-function-declaration]
2170 | strlcpy(card->driver, SND_MR_ALSA_AUDIO_DRIVER, sizeof(card->driver));
| ^~~~~~~
| strscpy
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/MTAL_LKernelAPI.c:67:6: warning: no previous prototype for ‘__cxa_pure_virtual’ [-Wmissing-prototypes]
67 | void __cxa_pure_virtual(void)
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_interface.c:71:14: warning: no previous prototype for ‘nf_hook_func’ [-Wmissing-prototypes]
71 | unsigned int nf_hook_func(unsigned int hooknum, struct sk_buff *skb, const struct net_device *in, const struct net_device *out, int (*okfn)(struct sk_buff *))
| ^~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_interface.c:192:10: warning: no previous prototype for ‘__aeabi_uldivmod’ [-Wmissing-prototypes]
192 | uint64_t __aeabi_uldivmod(uint64_t numerator, uint64_t denominator)
| ^~~~~~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_interface.c:197:9: warning: no previous prototype for ‘__aeabi_ldivmod’ [-Wmissing-prototypes]
197 | int64_t __aeabi_ldivmod(int64_t numerator, int64_t denominator)
| ^~~~~~~~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_interface.c:203:10: warning: no previous prototype for ‘__udivdi3’ [-Wmissing-prototypes]
203 | uint64_t __udivdi3(uint64_t numerator, uint64_t denominator)
| ^~~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_interface.c:209:9: warning: no previous prototype for ‘__divdi3’ [-Wmissing-prototypes]
209 | int64_t __divdi3(int64_t numerator, int64_t denominator)
| ^~~~~~~~
/var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/module_interface.c:215:10: warning: no previous prototype for ‘__umoddi3’ [-Wmissing-prototypes]
215 | uint64_t __umoddi3(uint64_t numerator, uint64_t denominator)
| ^~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build/audio_driver.o] Error 1
make[2]: *** [/usr/lib/modules/6.8.1-arch1-1.1/build/Makefile:1921: /var/lib/dkms/ravenna-alsa-lkm/r141.6ca0a3d/build] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.8.1-arch1-1.1/build'
make: *** [Makefile:15: modules] Error 2
I have compiled the Merging driver, and added it to the appropriate modules directory, but when trying to insert it, I get the following errors in dmesg.
I'm using Alpine Linux, kernel 5.10.27-lts.
It seems likely that the issue is a lack of some kind of kernel ALSA support. But I can't find any useful info towards fixing this; as far as I can tell Alpine should work just fine with sound.
[ 347.614066] MergingRavennaALSA: Unknown symbol snd_ctl_add (err -2)
[ 347.614076] MergingRavennaALSA: Unknown symbol snd_pcm_lib_free_vmalloc_buffer (err -2)
[ 347.614084] MergingRavennaALSA: Unknown symbol snd_pcm_new (err -2)
[ 347.614091] MergingRavennaALSA: Unknown symbol snd_pcm_add_chmap_ctls (err -2)
[ 347.614097] MergingRavennaALSA: Unknown symbol snd_card_register (err -2)
[ 347.614102] MergingRavennaALSA: Unknown symbol snd_card_free (err -2)
[ 347.614184] MergingRavennaALSA: Unknown symbol snd_interval_refine (err -2)
[ 347.614218] MergingRavennaALSA: Unknown symbol snd_pcm_format_physical_width (err -2)
[ 347.614241] MergingRavennaALSA: Unknown symbol snd_ctl_new1 (err -2)
[ 347.614255] MergingRavennaALSA: Unknown symbol _snd_pcm_lib_alloc_vmalloc_buffer (err -2)
[ 347.614266] MergingRavennaALSA: Unknown symbol snd_pcm_hw_rule_add (err -2)
[ 347.614274] MergingRavennaALSA: Unknown symbol snd_card_new (err -2)
[ 347.614284] MergingRavennaALSA: Unknown symbol snd_interval_list (err -2)
[ 347.614292] MergingRavennaALSA: Unknown symbol snd_pcm_lib_ioctl (err -2)
[ 347.614303] MergingRavennaALSA: Unknown symbol snd_pcm_lib_get_vmalloc_page (err -2)
[ 347.614311] MergingRavennaALSA: Unknown symbol snd_ctl_notify (err -2)
[ 347.614319] MergingRavennaALSA: Unknown symbol snd_pcm_set_ops (err -2)
[ 347.614326] MergingRavennaALSA: Unknown symbol snd_pcm_hw_constraint_list (err -2)
[ 347.614404] MergingRavennaALSA: Unknown symbol snd_pcm_period_elapsed (err -2)
[ 347.614476] MergingRavennaALSA: Unknown symbol snd_pcm_hw_constraint_step (err -2)
[ 347.614491] MergingRavennaALSA: Unknown symbol snd_pcm_format_width (err -2)
[ 660.693682] MergingRavennaALSA: Unknown symbol snd_ctl_add (err -2)
[ 660.693690] MergingRavennaALSA: Unknown symbol snd_pcm_lib_free_vmalloc_buffer (err -2)
[ 660.693696] MergingRavennaALSA: Unknown symbol snd_pcm_new (err -2)
[ 660.693702] MergingRavennaALSA: Unknown symbol snd_pcm_add_chmap_ctls (err -2)
[ 660.693706] MergingRavennaALSA: Unknown symbol snd_card_register (err -2)
[ 660.693711] MergingRavennaALSA: Unknown symbol snd_card_free (err -2)
[ 660.693721] MergingRavennaALSA: Unknown symbol snd_interval_refine (err -2)
[ 660.693727] MergingRavennaALSA: Unknown symbol snd_pcm_format_physical_width (err -2)
[ 660.693744] MergingRavennaALSA: Unknown symbol snd_ctl_new1 (err -2)
[ 660.693757] MergingRavennaALSA: Unknown symbol _snd_pcm_lib_alloc_vmalloc_buffer (err -2)
[ 660.693764] MergingRavennaALSA: Unknown symbol snd_pcm_hw_rule_add (err -2)
[ 660.693770] MergingRavennaALSA: Unknown symbol snd_card_new (err -2)
[ 660.693779] MergingRavennaALSA: Unknown symbol snd_interval_list (err -2)
[ 660.693785] MergingRavennaALSA: Unknown symbol snd_pcm_lib_ioctl (err -2)
[ 660.693793] MergingRavennaALSA: Unknown symbol snd_pcm_lib_get_vmalloc_page (err -2)
[ 660.693799] MergingRavennaALSA: Unknown symbol snd_ctl_notify (err -2)
[ 660.693878] MergingRavennaALSA: Unknown symbol snd_pcm_set_ops (err -2)
[ 660.693958] MergingRavennaALSA: Unknown symbol snd_pcm_hw_constraint_list (err -2)
[ 660.693989] MergingRavennaALSA: Unknown symbol snd_pcm_period_elapsed (err -2)
[ 660.693995] MergingRavennaALSA: Unknown symbol snd_pcm_hw_constraint_step (err -2)
[ 660.694005] MergingRavennaALSA: Unknown symbol snd_pcm_format_width (err -2)
This is the output of apk list --installed | grep alsa
:
alsa-utils-openrc-1.2.4-r0 x86_64 {alsa-utils} (GPL-2.0-or-later) [installed]
alsa-lib-dev-1.2.4-r2 x86_64 {alsa-lib} (LGPL-2.1-or-later) [installed]
alsa-lib-1.2.4-r2 x86_64 {alsa-lib} (LGPL-2.1-or-later) [installed]
alsa-utils-1.2.4-r0 x86_64 {alsa-utils} (GPL-2.0-or-later) [installed]
alsa-tools-1.2.2-r0 x86_64 {alsa-tools} (GPL-2.0-or-later) [installed]
make -C /media/gpkernel/rpi/kernel/rpi3/kernel-GentooPlayer-ST/lib/modules/6.1.28-GentooPlayer-ST+/build/ M=/media/gpkernel/rpi/ravenna-alsa-lkm/driver modules CC [M] /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.o /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.c: In function ‘CW_netfilter_register_hook’: /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.c:64:11: error: implicit declaration of function ‘nf_register_net_hook’ [-Werror=implicit-function-declaration] 64 | ret = nf_register_net_hook(&init_net, nfho); //register hook | ^~~~~~~~~~~~~~~~~~~~ /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.c: In function ‘CW_netfilter_unregister_hook’: /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.c:77:5: error: implicit declaration of function ‘nf_unregister_net_hook’; did you mean ‘unregister_netdev’? [-Werror=implicit-function-declaration] 77 | nf_unregister_net_hook(&init_net, nfho); //cleanup unregister hook | ^~~~~~~~~~~~~~~~~~~~~~ | unregister_netdev cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:250: /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.o] Error 1 make[1]: *** [Makefile:2012: /media/gpkernel/rpi/ravenna-alsa-lkm/driver] Error 2 make: *** [Makefile:15: modules] Error 2
I have seen the hint with Kernel >5.2 compilation failure but what should i do if i use this kernel? Cant the __put_user_x
calls just be replaced with __put_user
/ put_user
or something like that? Is there a workaround? Even the original repository wont compile and gives me a implicit declaration of function ‘__put_user_x’; did you mean ‘put_user’?
compiler error but its nothing stated that it wont work with newer Kernel versions.
Hi,
With latest aes67-daemon branch 416b068 ptp clock is not locking on kernel 6.8.2 on Arch Linux.
On LTS kernel 6.6.23 (same machine) ptp locking works.
Network card is Intel 219L (hardware ptp), master clock is on "KH750 AES67" and also with linuxptp on i350.
Tried on another system (freshly installed) with i219LM, with same result.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.