Open ricky-bolanhos opened 9 months ago
Moin @ricky-bolanhos ,
have you tried compiling against a different kernel version, as yours is not LTS and I heard somewhere about some changes regarding netif_napi_add.
I'd love to try avb4linux, but unfortunately don't have time to spare at the moment!
Please let us know when you have solved it.
Cheers!
I've searched this gcc compiler, but I read somewhere that they are the same version, but with different names, so the OS doesn't recognize it. I read about the ptp and the algobit and installed them. I don't know if there's some custom kernel with these features. So after that I did a fresh install of Ubuntu Studio and let's see how it goes. I'll post when I install it.
Thank you for the information, best regards!
I'm by no means an expert, but I don't think you need to reinstall your entire distro. Just install an LTS kernel with its headers, e.g. 5.15 or try 6.1 as your kernel is 6.5 which is no longer supported and might have compatibility issues.
I understand. I wanted to install Ubuntu studio since the beginning, but I already have the desktop version.
Thanks again, I will do that
Hi @ricky-bolanhos ,
any success so far with building and running avb4linux?
I am now trying to compile it myself and having same issues as you had. I tried several kernels and several different compilers - but no luck so far.
Would be great to hear what your state of affair is right now!
TIA
Hi @xor-musix, I actually have put aside the AVB for now. I am using at the moment the NDI protocol for my needs. I wish I could help, sorry
Best regards.
Hi @Drumfix or @ericfont or anyone who had this code compiled and running,
what are the exact prerequisites to compile the code?
I am on Manjaro running a custom linux66 kernel with ptp 1588 clock and i2c algobit support as modules.
As I was getting mainly compile errors from igb kernel-module, I tried updating it from Avnu/igb_avb. Then I merged back what I think where the magic bits from Drumfix top make it work as ALSA pcm card. And it compiles and I can start the AVB card, but of course, at some point it crashes, because I have no clue what I did and messed it up completely!
I am willing to dig deeper, but I need some guidance. Could you point me in the right direction to make it work with a current kernel like 6.6?
TIA
As I was getting mainly compile errors from igb kernel-module, I tried updating it from Avnu/igb_avb.
I don't think I can help, but if you attach a .txt file of the failed compile log (before you updated to Avnu/igb_avg), then that would increase the chance that someone on this thread can help you.
Hi @ericfont,
you are absolutely right! Here it is:
First, I did change the gitmodules url to https schema. Then
$ git submodule init
$ git submodule update
Submodule path 'jdksavdecc-c': checked out '4dcedc3ef101ba5b68f7fd3642971fb128830231'
then
$ cd jdksavdecc-c
$ cmake .
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- The C compiler identification is GNU 10.5.0
-- The CXX compiler identification is GNU 14.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at common.cmake:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
CMakeLists.txt:11 (include)
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done (0.7s)
-- Generating done (0.0s)
-- Build files have been written to: /home/.../avb4linux/jdksavdecc-c
then
$ make
[ 3%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc.c.o
[ 11%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_aecp_print.c.o
[ 11%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_aem_descriptor.c.o
[ 15%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_adp_print.c.o
[ 19%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_app.c.o
[ 23%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_descriptor_storage.c.o
[ 26%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_control.c.o
[ 30%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_descriptor_storage_gen.c.o
[ 34%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_acmp_print.c.o
[ 38%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_maap.c.o
[ 46%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_aem_print.c.o
[ 50%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_jdks.c.o
[ 50%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_app_print.c.o
[ 53%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_pdu_print.c.o
[ 61%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_frame.c.o
[ 61%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_entity_model.c.o
[ 69%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_pdu.c.o
[ 69%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_maap_print.c.o
[ 73%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_print.c.o
[ 76%] Building C object CMakeFiles/jdksavdecc-c.dir/src/jdksavdecc_util.c.o
[ 80%] Building C object CMakeFiles/jdksavdecc-c.dir/src/test/jdksavdecc_test_descriptor_storage.c.o
[ 84%] Linking C static library libjdksavdecc-c.a
[ 84%] Built target jdksavdecc-c
[ 88%] Building C object CMakeFiles/jdksavdecc-tool-print-pdu.dir/tools-dev/jdksavdecc-tool-print-pdu.c.o
[ 92%] Building C object CMakeFiles/jdksavdecc-tool-gen-acmpdu.dir/tools-dev/jdksavdecc-tool-gen-acmpdu.c.o
[100%] Linking C executable jdksavdecc-tool-gen-acmpdu
[100%] Linking C executable jdksavdecc-tool-print-pdu
[100%] Built target jdksavdecc-tool-gen-acmpdu
[100%] Built target jdksavdecc-tool-print-pdu
then
$ cd ..
$ make
cd `pwd`/kernel-module/igb
mkdir -p daemons/mrpd && make subdir=daemons/mrpd -C daemons/mrpd
mkdir -p daemons/maap/linux/build/ && make subdir=daemons/maap/linux/build/ -C daemons/maap/linux/build/
ARCH=I210
mkdir -p daemons/shaper && make subdir=daemons/shaper -C daemons/shaper
mkdir -p tools/ && make subdir=tools/ -C tools/
make -C /lib/modules/`uname -r`/build M=`pwd`/kernel-module/igb
mkdir -p daemons/gptp/linux/build/ && make subdir=daemons/gptp/linux/build/ -C daemons/gptp/linux/build/
make[1]: Entering directory '/home/.../avb4linux/daemons/maap/linux/build'
cc -O2 -Wall -I../../common -c -o maap_daemon.o ../src/maap_daemon.c
cc -O2 -Wall -I../../common -c -o maap_log_linux.o ../src/maap_log_linux.c
make[1]: Entering directory '/home/.../avb4linux/daemons/mrpd'
cc -c -I../common -O2 -Wall -Wextra -Wno-parentheses -ggdb -D_GNU_SOURCE -o mrpd.o mrpd.c
cc -O2 -Wall -I../../common -c -o maap_timer_linux.o ../src/maap_timer_linux.c
cc -c -I../common -O2 -Wall -Wextra -Wno-parentheses -ggdb -D_GNU_SOURCE -o mvrp.o mvrp.c
make[1]: Entering directory '/home/.../avb4linux/tools'
gcc -I../jdksavdecc-c/include -I. -no-pie -g -o avb-user avb-user.c mrp_client.c maap_client.c avpdu.c ../jdksavdecc-c/libjdksavdecc-c.a -lpthread -lrt
cc -c -I../common -O2 -Wall -Wextra -Wno-parentheses -ggdb -D_GNU_SOURCE -o msrp.o msrp.c
make[1]: Entering directory '/home/.../avb4linux/daemons/shaper'
cc -O2 -Wall -I../../common -c -o intervals.o ../../common/intervals.c
cc -c -I../common -O2 -Wall -Wextra -Wno-parentheses -ggdb -D_GNU_SOURCE -o mmrp.o mmrp.c
make[1]: Entering directory '/home/.../avb4linux/daemons/gptp/linux/build'
cc -O2 -Wall -I../../common -c -o maap.o ../../common/maap.c
cc -c -I../common -O2 -Wall -Wextra -Wno-parentheses -ggdb -D_GNU_SOURCE -o mrp.o mrp.c
cc -O2 -g -Wall -Wextra -c src/shaper_daemon.c -o build/shaper_daemon.o
cc -c -I../common -O2 -Wall -Wextra -Wno-parentheses -ggdb -D_GNU_SOURCE -o ../common/parse.o ../common/parse.c
cc -O2 -Wall -I../../common -c -o maap_net.o ../../common/maap_net.c
cc -O2 -g -Wall -Wextra -c src/shaper_log_queue.c -o build/shaper_log_queue.o
cc -O2 -Wall -I../../common -c -o maap_packet.o ../../common/maap_packet.c
make[1]: Entering directory '/usr/lib/modules/6.6.56-1-MANJARO/build'
cc -c -I../common -O2 -Wall -Wextra -Wno-parentheses -ggdb -D_GNU_SOURCE -o ../common/eui64set.o ../common/eui64set.c
cc -O2 -g -Wall -Wextra -c src/shaper_log_linux.c -o build/shaper_log_linux.o
cc -O2 -Wall -I../../common -c -o maap_parse.o ../../common/maap_parse.c
cc -O2 -Wall -I../../common -c -o maap_log_queue.o ../../common/maap_log_queue.c
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../../common/ptp_message.cpp -o obj/ptp_message.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../../common/ap_message.cpp -o obj/ap_message.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../../common/avbts_osnet.cpp -o obj/avbts_osnet.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../../common/ether_port.cpp -o obj/ether_port.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../../common/common_port.cpp -o obj/common_port.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../../common/ieee1588clock.cpp -o obj/ieee1588clock.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../src/linux_hal_common.cpp -o obj/linux_hal_common.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../src/linux_hal_persist_file.cpp -o obj/linux_hal_persist_file.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../../common/gptp_log.cpp -o obj/gptp_log.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../src/platform.cpp -o obj/platform.o
cc -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -c ../../common/ini.c -o obj/ini.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../../common/gptp_cfg.cpp -o obj/gptp_cfg.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../src/linux_hal_generic.cpp -o obj/linux_hal_generic.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor -c ../src/linux_hal_generic_adj.cpp -o obj/linux_hal_generic_adj.o
../src/maap_log_linux.c: In function ‘maapLogFn’:
../src/maap_log_linux.c:287:75: warning: ‘%s’ directive writing up to 1023 bytes into a region of size between 978 and 1017 [-Wformat-overflow=]
287 | /* int32_t full_msg_len = */ sprintf(full_msg, "[%s%s%s%s %s %s%s] %s: %s\n", time_msg, timestamp_msg, proc_msg, thread_msg, company, component, file_msg, tag, msg);
| ^~ ~~~
../src/maap_log_linux.c:287:33: note: ‘sprintf’ output 9 or more bytes (assuming 1071) into a destination of size 1024
287 | /* int32_t full_msg_len = */ sprintf(full_msg, "[%s%s%s%s %s %s%s] %s: %s\n", time_msg, timestamp_msg, proc_msg, thread_msg, company, component, file_msg, tag, msg);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/maap_log_linux.c:300:6: warning: ‘strncpy’ output may be truncated copying 256 bytes from a string of length 1023 [-Wstringop-truncation]
300 | strncpy((char *)pLogItem->msg, full_msg, LOG_QUEUE_MSG_LEN);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/shaper_log_linux.c: In function ‘shaperLogFn’:
src/shaper_log_linux.c:292:75: warning: ‘%s’ directive writing up to 1023 bytes into a region of size between 978 and 1017 [-Wformat-overflow=]
292 | /* int32_t full_msg_len = */ sprintf(full_msg, "[%s%s%s%s %s %s%s] %s: %s\n", time_msg, timestamp_msg, proc_msg, thread_msg, company, component, file_msg, tag, msg);
| ^~ ~~~
src/shaper_log_linux.c:292:33: note: ‘sprintf’ output 9 or more bytes (assuming 1071) into a destination of size 1024
292 | /* int32_t full_msg_len = */ sprintf(full_msg, "[%s%s%s%s %s %s%s] %s: %s\n", time_msg, timestamp_msg, proc_msg, thread_msg, company, component, file_msg, tag, msg);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/shaper_log_linux.c:305:6: warning: ‘strncpy’ output may be truncated copying 256 bytes from a string of length 1023 [-Wstringop-truncation]
305 | strncpy((char *)pLogItem->msg, full_msg, LOG_QUEUE_MSG_LEN);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mrpd.c: In function ‘process_ctl_msg’:
mrpd.c:347:50: warning: ‘ERC MRP parse ’ directive output truncated writing 14 bytes into a region of size 7 [-Wformat-truncation=]
347 | snprintf(respbuf, sizeof(respbuf) - 1, "ERC MRP parse %s", buf);
| ~~~~~~~^~~~~~~
mrpd.c:347:3: note: ‘snprintf’ output 15 or more bytes into a destination of size 7
347 | snprintf(respbuf, sizeof(respbuf) - 1, "ERC MRP parse %s", buf);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘init_maap_networking’,
inlined from ‘act_as_server’ at ../src/maap_daemon.c:269:13:
../src/maap_daemon.c:613:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
613 | strncpy(ifbuffer.ifr_name, iface, IFNAMSIZ);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/shaper_daemon.c: In function ‘process_command’:
src/shaper_daemon.c:695:4: warning: ‘strncpy’ output may be truncated copying 2 bytes from a string of length 4 [-Wstringop-truncation]
695 | strncpy(parent,remove_stream->class_id,2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mvrp.c: In function ‘mvrp_recv_cmd’:
mvrp.c:1181:54: warning: ‘ERC MVRP_db ’ directive output truncated writing 12 bytes into a region of size 11 [-Wformat-truncation=]
1181 | snprintf(respbuf, sizeof(respbuf) - 1, "ERC MVRP_db %s\n", buf);
| ~~~~~~~~~~~^
mvrp.c:1181:3: note: ‘snprintf’ output 14 or more bytes into a destination of size 11
1181 | snprintf(respbuf, sizeof(respbuf) - 1, "ERC MVRP_db %s\n", buf);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc maap_daemon.o maap_log_linux.o maap_timer_linux.o intervals.o maap.o maap_net.o maap_packet.o maap_parse.o maap_log_queue.o -lrt -lpthread -o maap_daemon
cc build/shaper_daemon.o build/shaper_log_queue.o build/shaper_log_linux.o -lm -pthread -o shaper_daemon
make[1]: Leaving directory '/home/.../avb4linux/daemons/maap/linux/build'
make[1]: Leaving directory '/home/.../avb4linux/daemons/shaper'
mmrp.c: In function ‘mmrp_recv_cmd’:
mmrp.c:1624:54: warning: ‘ERC MMRP_db ’ directive output truncated writing 12 bytes into a region of size 11 [-Wformat-truncation=]
1624 | snprintf(respbuf, sizeof(respbuf) - 1, "ERC MMRP_db %s\n", buf);
| ~~~~~~~~~~~^
mmrp.c:1624:3: note: ‘snprintf’ output 14 or more bytes into a destination of size 11
1624 | snprintf(respbuf, sizeof(respbuf) - 1, "ERC MMRP_db %s\n", buf);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/linux_hal_common.cpp: In member function ‘bool TicketingLock::lock(bool*)’:
../src/linux_hal_common.cpp:633:28: warning: ‘int pthread_yield()’ is deprecated: pthread_yield is deprecated, use sched_yield instead [-Wdeprecated-declarations]
633 | if( yield ) pthread_yield();
| ^
In file included from /usr/include/features.h:511,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdint.h:26,
from /usr/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include/stdint.h:9,
from ../../common/avbts_osnet.hpp:37,
from ../src/linux_hal_common.hpp:39,
from ../src/linux_hal_common.cpp:34:
/usr/include/pthread.h:479:12: note: declared here
479 | extern int __REDIRECT_NTH (pthread_yield, (void), sched_yield)
| ^~~~~~~~~~~~~~
../../common/ptp_message.cpp: In function ‘PTPMessageCommon* buildPTPMessage(char*, int, LinkLayerAddress*, CommonPort*)’:
../../common/ptp_message.cpp:244:31: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class FollowUpTLV’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
244 | sizeof(followup_msg->tlv) );
| ^
In file included from ../../common/common_port.hpp:38,
from ../../common/avbts_clock.hpp:39,
from ../../common/ptp_message.cpp:35:
../../common/avbts_message.hpp:730:7: note: ‘class FollowUpTLV’ declared here
730 | class FollowUpTLV {
| ^~~~~~~~~~~
../../common/ieee1588clock.cpp: In constructor ‘IEEE1588Clock::IEEE1588Clock(bool, bool, uint8_t, OSTimerQueueFactory*, OS_IPC*, OSLockFactory*)’:
../../common/ieee1588clock.cpp:112:64: warning: ‘void* memset(void*, int, size_t)’ writing to an object of non-trivial type ‘class ClockIdentity’; use assignment instead [-Wclass-memaccess]
112 | memset( &LastEBestIdentity, 0xFF, sizeof( LastEBestIdentity ));
| ^
In file included from ../../common/ieee1588clock.cpp:34:
../../common/ieee1588.hpp:125:7: note: ‘class ClockIdentity’ declared here
125 | class ClockIdentity {
| ^~~~~~~~~~~~~
make[1]: Leaving directory '/home/.../avb4linux/tools'
cc mrpd.o mvrp.o msrp.o mmrp.o mrp.o ../common/parse.o ../common/eui64set.o -o mrpd
make[1]: Leaving directory '/home/.../avb4linux/daemons/mrpd'
CC [M] /home/.../avb4linux/kernel-module/igb/igb_main.o
CC [M] /home/.../avb4linux/kernel-module/igb/e1000_82575.o
CC [M] /home/.../avb4linux/kernel-module/igb/e1000_i210.o
CC [M] /home/.../avb4linux/kernel-module/igb/e1000_mac.o
CC [M] /home/.../avb4linux/kernel-module/igb/e1000_nvm.o
CC [M] /home/.../avb4linux/kernel-module/igb/e1000_phy.o
CC [M] /home/.../avb4linux/kernel-module/igb/e1000_manage.o
CC [M] /home/.../avb4linux/kernel-module/igb/igb_param.o
CC [M] /home/.../avb4linux/kernel-module/igb/igb_ethtool.o
CC [M] /home/.../avb4linux/kernel-module/igb/kcompat.o
CC [M] /home/.../avb4linux/kernel-module/igb/e1000_api.o
CC [M] /home/.../avb4linux/kernel-module/igb/e1000_mbx.o
CC [M] /home/.../avb4linux/kernel-module/igb/igb_vmdq.o
CC [M] /home/.../avb4linux/kernel-module/igb/igb_procfs.o
CC [M] /home/.../avb4linux/kernel-module/igb/igb_hwmon.o
CC [M] /home/.../avb4linux/kernel-module/igb/igb_debugfs.o
CC [M] /home/.../avb4linux/kernel-module/igb/alsa.o
CC [M] /home/.../avb4linux/kernel-module/igb/avpdu.o
CC [M] /home/.../avb4linux/kernel-module/igb/igb_ptp.o
g++ -Wall -g -I. -I../../common -I../src -I/home/.../header/include/ -std=c++0x -Wnon-virtual-dtor obj/ptp_message.o obj/ap_message.o obj/avbts_osnet.o obj/ether_port.o obj/common_port.o obj/ieee1588clock.o obj/linux_hal_common.o obj/linux_hal_persist_file.o obj/gptp_log.o obj/platform.o obj/ini.o obj/gptp_cfg.o obj/linux_hal_generic.o obj/linux_hal_generic_adj.o ../src/daemon_cl.cpp -o obj/daemon_cl -lpthread -lrt
/home/.../avb4linux/kernel-module/igb/e1000_nvm.c: In function ‘e1000_get_fw_version’:
/home/.../avb4linux/kernel-module/igb/e1000_nvm.c:903:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
903 | if (!(e1000_get_flash_presence_i210(hw))) {
| ^
/home/.../avb4linux/kernel-module/igb/e1000_nvm.c:908:2: note: here
908 | case e1000_i350:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3350:28: error: initialization of ‘void (*)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *)’ from incompatible pointer type ‘void (*)(struct net_device *, struct ethtool_ringparam *)’ [-Werror=incompatible-pointer-types]
3350 | .get_ringparam = igb_get_ringparam,
| ^~~~~~~~~~~~~~~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3350:28: note: (near initialization for ‘igb_ethtool_ops.get_ringparam’)
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3351:28: error: initialization of ‘int (*)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *)’ from incompatible pointer type ‘int (*)(struct net_device *, struct ethtool_ringparam *)’ [-Werror=incompatible-pointer-types]
3351 | .set_ringparam = igb_set_ringparam,
| ^~~~~~~~~~~~~~~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3351:28: note: (near initialization for ‘igb_ethtool_ops.set_ringparam’)
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c: In function ‘igb_set_channels’:
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3290:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
3290 | if (adapter->vfs_allocated_count)
| ^
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3292:2: note: here
3292 | case e1000_82576:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3298:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
3298 | if ((adapter->vfs_allocated_count > 0) &&
| ^
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3302:2: note: here
3302 | case e1000_82580:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c: In function ‘igb_max_rss_queues’:
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3195:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
3195 | if (adapter->vfs_allocated_count) {
| ^
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3200:2: note: here
3200 | case e1000_82576:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3201:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
3201 | if (adapter->vfs_allocated_count) {
| ^
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:3206:2: note: here
3206 | case e1000_82580:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c: In function ‘igb_get_rss_hash_opts’:
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:2853:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
2853 | cmd->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:2855:2: note: here
2855 | case UDP_V4_FLOW:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:2856:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
2856 | if (adapter->flags & IGB_FLAG_RSS_FIELD_IPV4_UDP)
| ^
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:2859:2: note: here
2859 | case SCTP_V4_FLOW:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:2867:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
2867 | cmd->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:2869:2: note: here
2869 | case UDP_V6_FLOW:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:2870:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
2870 | if (adapter->flags & IGB_FLAG_RSS_FIELD_IPV6_UDP)
| ^
/home/.../avb4linux/kernel-module/igb/igb_ethtool.c:2873:2: note: here
2873 | case SCTP_V6_FLOW:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_alloc_q_vector’:
/home/.../avb4linux/kernel-module/igb/igb_main.c:1220:2: error: too many arguments to function ‘netif_napi_add’
1220 | netif_napi_add(adapter->netdev, &q_vector->napi,
| ^~~~~~~~~~~~~~
In file included from /home/.../avb4linux/kernel-module/igb/igb_main.c:48:
./include/linux/netdevice.h:2642:1: note: declared here
2642 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
| ^~~~~~~~~~~~~~
/home/.../avb4linux/kernel-module/igb/e1000_mbx.c: In function ‘e1000_init_mbx_params_pf’:
/home/.../avb4linux/kernel-module/igb/e1000_mbx.c:518:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
518 | mbx->stats.rsts = 0;
| ~~~~~~~~~~~~~~~~^~~
/home/.../avb4linux/kernel-module/igb/e1000_mbx.c:519:2: note: here
519 | default:
| ^~~~~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_probe’:
/home/.../avb4linux/kernel-module/igb/igb_main.c:2731:2: error: implicit declaration of function ‘pci_enable_pcie_error_reporting’ [-Werror=implicit-function-declaration]
2731 | pci_enable_pcie_error_reporting(pdev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/string.h:294,
from ./include/linux/bitmap.h:11,
from ./include/linux/cpumask.h:12,
from ./arch/x86/include/asm/paravirt.h:17,
from ./arch/x86/include/asm/cpuid.h:62,
from ./arch/x86/include/asm/processor.h:19,
from ./arch/x86/include/asm/timex.h:5,
from ./include/linux/timex.h:67,
from ./include/linux/time32.h:13,
from ./include/linux/time.h:60,
from ./include/linux/stat.h:19,
from ./include/linux/module.h:13,
from /home/.../avb4linux/kernel-module/igb/igb_main.c:43:
/home/.../avb4linux/kernel-module/igb/igb_main.c:2927:15: warning: passing argument 1 of ‘__builtin_memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
2927 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len);
| ~~~~~~^~~~~~~~~~
./include/linux/fortify-string.h:662:20: note: in definition of macro ‘__fortify_memcpy_chk’
662 | __underlying_##op(p, q, __fortify_size); \
| ^
/home/.../avb4linux/kernel-module/igb/igb_main.c:2927:2: note: in expansion of macro ‘memcpy’
2927 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len);
| ^~~~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c:2927:15: note: expected ‘void *’ but argument is of type ‘const unsigned char *’
2927 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len);
| ~~~~~~^~~~~~~~~~
./include/linux/fortify-string.h:662:20: note: in definition of macro ‘__fortify_memcpy_chk’
662 | __underlying_##op(p, q, __fortify_size); \
| ^
/home/.../avb4linux/kernel-module/igb/igb_main.c:2927:2: note: in expansion of macro ‘memcpy’
2927 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len);
| ^~~~~~
/home/.../avb4linux/kernel-module/igb/e1000_phy.c: In function ‘e1000_copper_link_setup_m88_gen2’:
/home/.../avb4linux/kernel-module/igb/e1000_phy.c:1215:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
1215 | if (phy->id != M88E1112_E_PHY_ID) {
| ^
/home/.../avb4linux/kernel-module/igb/e1000_phy.c:1219:2: note: here
1219 | case 0:
| ^~~~
/home/.../avb4linux/kernel-module/igb/e1000_82575.c: In function ‘e1000_setup_serdes_link_82575’:
/home/.../avb4linux/kernel-module/igb/e1000_82575.c:1672:15: warning: this statement may fall through [-Wimplicit-fallthrough=]
1672 | pcs_autoneg = false;
| ~~~~~~~~~~~~^~~~~~~
/home/.../avb4linux/kernel-module/igb/e1000_82575.c:1674:2: note: here
1674 | default:
| ^~~~~~~
/home/.../avb4linux/kernel-module/igb/e1000_82575.c: In function ‘e1000_get_media_type_82575’:
/home/.../avb4linux/kernel-module/igb/e1000_82575.c:1794:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
1794 | if (e1000_sgmii_uses_mdio_82575(hw)) {
| ^
/home/.../avb4linux/kernel-module/igb/e1000_82575.c:1800:2: note: here
1800 | case E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_remove’:
/home/.../avb4linux/kernel-module/igb/igb_main.c:3299:2: error: implicit declaration of function ‘pci_disable_pcie_error_reporting’ [-Werror=implicit-function-declaration]
3299 | pci_disable_pcie_error_reporting(pdev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: Leaving directory '/home/.../avb4linux/daemons/gptp/linux/build'
In file included from ./include/linux/string.h:294,
from ./include/linux/bitmap.h:11,
from ./include/linux/cpumask.h:12,
from ./arch/x86/include/asm/paravirt.h:17,
from ./arch/x86/include/asm/cpuid.h:62,
from ./arch/x86/include/asm/processor.h:19,
from ./arch/x86/include/asm/timex.h:5,
from ./include/linux/timex.h:67,
from ./include/linux/time32.h:13,
from ./include/linux/time.h:60,
from ./include/linux/stat.h:19,
from ./include/linux/module.h:13,
from /home/.../avb4linux/kernel-module/igb/igb_main.c:43:
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_set_mac’:
/home/.../avb4linux/kernel-module/igb/igb_main.c:4430:15: warning: passing argument 1 of ‘__builtin_memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
4430 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
| ~~~~~~^~~~~~~~~~
./include/linux/fortify-string.h:662:20: note: in definition of macro ‘__fortify_memcpy_chk’
662 | __underlying_##op(p, q, __fortify_size); \
| ^
/home/.../avb4linux/kernel-module/igb/igb_main.c:4430:2: note: in expansion of macro ‘memcpy’
4430 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
| ^~~~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c:4430:15: note: expected ‘void *’ but argument is of type ‘const unsigned char *’
4430 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
| ~~~~~~^~~~~~~~~~
./include/linux/fortify-string.h:662:20: note: in definition of macro ‘__fortify_memcpy_chk’
662 | __underlying_##op(p, q, __fortify_size); \
| ^
/home/.../avb4linux/kernel-module/igb/igb_main.c:4430:2: note: in expansion of macro ‘memcpy’
4430 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
| ^~~~~~
/home/.../avb4linux/kernel-module/igb/igb_ptp.c: In function ‘igb_ptp_init’:
/home/.../avb4linux/kernel-module/igb/igb_ptp.c:1145:20: error: ‘struct ptp_clock_info’ has no member named ‘adjfreq’
1145 | adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82576;
| ^
/home/.../avb4linux/kernel-module/igb/igb_ptp.c:1171:20: error: ‘struct ptp_clock_info’ has no member named ‘adjfreq’
1171 | adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
| ^
/home/.../avb4linux/kernel-module/igb/igb_ptp.c:1211:20: error: ‘struct ptp_clock_info’ has no member named ‘adjfreq’
1211 | adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
| ^
/home/.../avb4linux/kernel-module/igb/igb_ptp.c: In function ‘igb_ptp_set_timestamp_mode’:
/home/.../avb4linux/kernel-module/igb/igb_ptp.c:1011:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
1011 | if (hw->mac.type != e1000_82576) {
| ^
/home/.../avb4linux/kernel-module/igb/igb_ptp.c:1017:2: note: here
1017 | default:
| ^~~~~~~
make[3]: *** [scripts/Makefile.build:243: /home/.../avb4linux/kernel-module/igb/igb_ptp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/home/.../avb4linux/kernel-module/igb/igb_param.c: In function ‘igb_check_options’:
/home/.../avb4linux/kernel-module/igb/igb_param.c:644:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
644 | if (adapter->rss_queues)
| ^
/home/.../avb4linux/kernel-module/igb/igb_param.c:646:4: note: here
646 | case 0:
| ^~~~
In file included from /home/.../avb4linux/kernel-module/igb/e1000_hw.h:28,
from /home/.../avb4linux/kernel-module/igb/e1000_api.h:28,
from /home/.../avb4linux/kernel-module/igb/igb.h:69,
from /home/.../avb4linux/kernel-module/igb/igb_main.c:69:
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_vmm_control’:
/home/.../avb4linux/kernel-module/igb/e1000_osdep.h:92:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
92 | do { \
| ^
/home/.../avb4linux/kernel-module/igb/igb_main.c:10020:3: note: in expansion of macro ‘E1000_WRITE_REG’
10020 | E1000_WRITE_REG(hw, E1000_DTXCTL, reg);
| ^~~~~~~~~~~~~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c:10022:2: note: here
10022 | case e1000_82580:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_set_interrupt_capability’:
/home/.../avb4linux/kernel-module/igb/igb_main.c:1147:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
1147 | igb_reset_interrupt_capability(adapter);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c:1148:2: note: here
1148 | case IGB_INT_MODE_MSI:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c:1149:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
1149 | if (!pci_enable_msi(pdev))
| ^
/home/.../avb4linux/kernel-module/igb/igb_main.c:1155:2: note: here
1155 | case IGB_INT_MODE_LEGACY:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_set_fw_version’:
/home/.../avb4linux/kernel-module/igb/igb_main.c:2562:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
2562 | if (!(e1000_get_flash_presence_i210(hw))) {
| ^
/home/.../avb4linux/kernel-module/igb/igb_main.c:2570:2: note: here
2570 | default:
| ^~~~~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_read’:
/home/.../avb4linux/kernel-module/igb/igb_main.c:10381:2: warning: ignoring return value of ‘copy_to_user’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
10381 | copy_to_user(buf, &adapter->last_event, sizeof(adapter->last_event));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘__igb_notify_dca’:
/home/.../avb4linux/kernel-module/igb/igb_main.c:6475:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
6475 | if (dca_add_requester(dev) == E1000_SUCCESS) {
| ^
/home/.../avb4linux/kernel-module/igb/igb_main.c:6482:2: note: here
6482 | case DCA_PROVIDER_REMOVE:
| ^~~~
/home/.../avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_has_link’:
/home/.../avb4linux/kernel-module/igb/igb_main.c:4800:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
4800 | if (!hw->mac.get_link_status)
| ^
/home/.../avb4linux/kernel-module/igb/igb_main.c:4802:2: note: here
4802 | case e1000_media_type_internal_serdes:
| ^~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /home/.../avb4linux/kernel-module/igb/igb_main.o] Error 1
/home/.../avb4linux/kernel-module/igb/alsa.c: In function ‘snd_avb_new_pcm’:
/home/.../avb4linux/kernel-module/igb/alsa.c:406:14: error: implicit declaration of function ‘snd_dma_continuous_data’ [-Werror=implicit-function-declaration]
406 | snd_dma_continuous_data(GFP_KERNEL),
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/.../avb4linux/kernel-module/igb/alsa.c:406:14: warning: passing argument 3 of ‘snd_pcm_lib_preallocate_pages_for_all’ makes pointer from integer without a cast [-Wint-conversion]
406 | snd_dma_continuous_data(GFP_KERNEL),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from /home/.../avb4linux/kernel-module/igb/alsa.c:8:
./include/sound/pcm.h:1270:24: note: expected ‘void *’ but argument is of type ‘int’
1270 | int type, void *data,
| ~~~~~~^~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /home/.../avb4linux/kernel-module/igb/igb_ethtool.o] Error 1
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /home/.../avb4linux/kernel-module/igb/alsa.o] Error 1
make[2]: *** [/usr/lib/modules/6.6.56-1-MANJARO/build/Makefile:1921: /home/.../avb4linux/kernel-module/igb] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.6.56-1-MANJARO/build'
make: *** [Makefile:35: igb] Error 2
Some more information:
$ uname -a
Linux ... 6.6.56-1-MANJARO #1 SMP PREEMPT_DYNAMIC Sat Oct 19 18:07:52 CEST 2024 x86_64 GNU/Linux
$ gcc --version
gcc (Arch Linux 10.5.0-2) 10.5.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ g++ --version
g++ (Arch Linux 10.5.0-2) 10.5.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ clang --version
clang version 18.1.8
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
$ cmake --version
cmake version 3.30.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
$ make --version
GNU Make 4.4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ modinfo ptp
name: ptp
filename: (builtin)
license: GPL
file: drivers/ptp/ptp
description: PTP clocks support
author: Richard Cochran <richardcochran@gmail.com>
$ modinfo i2c_algo_bit
filename: /lib/modules/6.6.56-1-MANJARO/updates/i2c-algo-bit.ko.zst
license: GPL
description: I2C-Bus bit-banging algorithm
author: Simon G. Vogl <simon@tk.uni-linz.ac.at>
srcversion: 1EE7C7ED220579B268F471E
depends:
retpoline: Y
name: i2c_algo_bit
vermagic: 6.6.56-1-MANJARO SMP preempt mod_unload
parm: bit_test:lines testing - 0 off; 1 report; 2 fail if stuck (int)
What else is needed to know?
this is btw. the log I get, after updating the Avnu/igb_avb
and successful compile and starting the AVB device:
$ sudo avb_up.sh enp5s0 48000
rmmod: ERROR: Module igb is not currently loaded
driver: igb_avb
version: 5.3.2_AVB
firmware-version: 3.25, 0x80000678
expansion-rom-version:
bus-info: 0000:05:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
Starting daemons on enp5s0
Error starting. Run as sudo?
INFO : GPTP [19:39:05:810] gPTP starting
ERROR : GPTP [19:39:05:811] Using clock device: /dev/ptp1
STATUS : GPTP [19:39:05:811] Starting PDelay
ERROR : GPTP [19:39:05:908] Error (TX) timestamping PDelay request, error=-72
ERROR : GPTP [19:39:06:986] Error (TX) timestamping PDelay request, error=-72
STATUS : GPTP [19:39:07:696] LINKUP
STATUS : GPTP [19:39:07:696] Link Speed: 1000000 kb/sec
STATUS : GPTP [19:39:07:745] AsCapable: Enabled
STATUS : GPTP [19:39:08:811] *** Announce Timeout Expired - Becoming Master
STATUS : GPTP [19:39:08:811] New Grandmaster "A0:8C:FD:FF:FE:C3:16:02" (previous "00:00:00:00:00:00:00:00")
STATUS : GPTP [19:39:09:234] Switching to Slave
STATUS : GPTP [19:39:09:234] New Grandmaster "00:01:F2:FF:FE:FF:AF:C0" (previous "A0:8C:FD:FF:FE:C3:16:02")
Starting avb-user on enp5s0 with samplerate 48000
index=15
rc = 0, mrp_register_domain
rc = 0, mrp_join_vlan
Setting samplerate to 48000.
SJO D:C=6,P=3,V=0002,N=3 R=000000000000 QA/IN
SJO D:C=6,P=3,V=0002,N=3 R=000000000000 QA/IN
VNE 0002 R=000000000000 VN/MT
VNE 0002 R=000000000000 VN/MT
unhandled from mrpd
Done setting samplerate.
Mac: a0-8c-fd-c3-16-02
S+L:L=0001f2014ea90000, D=2
rc = 0, done sending ready
rc = 0, advertising stream
SNE L:D=2,S=0001f2014ea90000 R=000000000000 VN/MT
EVENT on STREAM ID=0001f2014ea90000 with state ready
got a new/join indication
listener:
mode JOIN
stream: 0001f2014ea90000
listener: 000000000000
SNE L:D=2,S=0001f2014ea90000 R=000000000000 VN/MT
SNE T:S=a08cfdc316020000,A=91e0f000fe00,V=0002,Z=224,I=1,P=112,L=95 R=000000000000 VN/MT
talker:
mode JOIN
stream: a08cfdc316020000
dst_mac: 91e0f000fe00
vid: 2
SNE T:S=a08cfdc316020000,A=91e0f000fe00,V=0002,Z=224,I=1,P=112,L=95 R=000000000000 VN/MT
talker 1f2fffe014ea9, entity a08cfdfffec31602
SLE D:C=6,P=3,V=0002,N=3 R=000000000000 QA/MT
SLE D:C=6,P=3,V=0002,N=3 R=000000000000 QA/MT
...
The system log shows
$ journalctl --since "1 minutes ago"
Okt 29 19:29:08 ... sudo[95276]: ... : TTY=pts/1 ; PWD=/home/.../linuxAVB ; USER=root ; COMMAND=/usr/local/bin/avb_up.sh enp5s0 48000
Okt 29 19:29:08 ... sudo[95276]: pam_unix(sudo:session): session opened for user root(uid=0) by ...(uid=1000)
Okt 29 19:29:08 ... kernel: igb 0000:05:00.0: removed PHC on enp5s0
Okt 29 19:29:08 ... NetworkManager[913]: <info> [1730226548.6804] device (enp5s0): state change: activated -> unmanaged (reason 'unmanaged-link-not-init', sys-iface-state: 'removed')
Okt 29 19:29:08 ... NetworkManager[913]: <info> [1730226548.6805] dhcp4 (enp5s0): canceled DHCP transaction
Okt 29 19:29:08 ... NetworkManager[913]: <info> [1730226548.6805] dhcp4 (enp5s0): activation: beginning transaction (timeout in 45 seconds)
Okt 29 19:29:08 ... NetworkManager[913]: <info> [1730226548.6805] dhcp4 (enp5s0): state changed no lease
Okt 29 19:29:08 ... NetworkManager[913]: <info> [1730226548.6806] dhcp6 (enp5s0): canceled DHCP transaction
Okt 29 19:29:08 ... NetworkManager[913]: <info> [1730226548.6806] dhcp6 (enp5s0): activation: beginning transaction (timeout in 45 seconds)
Okt 29 19:29:08 ... NetworkManager[913]: <info> [1730226548.6806] dhcp6 (enp5s0): state changed no lease
Okt 29 19:29:08 ... NetworkManager[913]: <info> [1730226548.6810] manager: NetworkManager state is now DISCONNECTED
Okt 29 19:29:08 ... systemd[1]: Starting Network Manager Script Dispatcher Service...
Okt 29 19:29:08 ... systemd[1]: Started Network Manager Script Dispatcher Service.
Okt 29 19:29:08 ... kernel: Intel(R) Gigabit Ethernet Network Driver - version 5.3.2_AVB
Okt 29 19:29:08 ... kernel: Copyright (c) 2007-2015 Intel Corporation.
Okt 29 19:29:08 ... kernel: igb_avb adapter->tx_ring_size 256
Okt 29 19:29:08 ... kernel: igb: 0000:05:00.0: igb_check_options: VMDq option is not supported.
Okt 29 19:29:08 ... NetworkManager[913]: <info> [1730226548.9848] manager: (eth0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/14)
Okt 29 19:29:08 ... kernel: pps pps0: new PPS source ptp1
Okt 29 19:29:08 ... kernel: igb_avb 0000:05:00.0: added PHC on eth0
Okt 29 19:29:08 ... kernel: igb_avb 0000:05:00.0: Intel(R) Gigabit Ethernet Network Connection
Okt 29 19:29:08 ... kernel: igb_avb 0000:05:00.0: eth0: (PCIe:2.5GT/s:Width x1)
Okt 29 19:29:08 ... kernel: igb_avb 0000:05:00.0 eth0: MAC: a0:8c:fd:c3:16:02
Okt 29 19:29:08 ... kernel: igb_avb 0000:05:00.0: eth0: PBA No: 000400-000
Okt 29 19:29:08 ... kernel: igb_avb 0000:05:00.0: LRO is disabled
Okt 29 19:29:08 ... kernel: igb_avb 0000:05:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
Okt 29 19:29:08 ... kernel: igb_avb 0000:05:00.0 enp5s0: renamed from eth0
Okt 29 19:29:09 ... NetworkManager[913]: <info> [1730226549.0171] device (eth0): interface index 14 renamed iface from 'eth0' to 'enp5s0'
Okt 29 19:29:09 ... NetworkManager[913]: <info> [1730226549.0212] device (enp5s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Okt 29 19:29:10 ... kernel: probing avb dev
Okt 29 19:29:10 ... kernel: enabling avb dev
Okt 29 19:29:10 ... kernel: creating card avb dev
Okt 29 19:29:10 ... kernel: creating pcm avb dev
Okt 29 19:29:10 ... kernel: creating new pcm avb
Okt 29 19:29:10 ... kernel: err 0
Okt 29 19:29:10 ... kernel: prealloc pages of new pcm avb
Okt 29 19:29:10 ... kernel: alloc tx new pcm avb
Okt 29 19:29:10 ... kernel: alloc rx new pcm avb
Okt 29 19:29:10 ... kernel: setting names pcm avb dev
Okt 29 19:29:10 ... kernel: register card pcm avb dev
Okt 29 19:29:10 ... kernel: register card pcm avb dev done
Okt 29 19:29:10 ... systemd[1]: Started /usr/sbin/udev-rtirq a /devices/pci0000:00/0000:00:1c.0/0000:05:00.0/sound/card5.
Okt 29 19:29:10 ... pulseaudio[1614]: Got POLLNVAL from ALSA
Okt 29 19:29:10 ... pulseaudio[1614]: Got POLLNVAL from ALSA
Okt 29 19:29:10 ... systemd[1]: Started /usr/sbin/udev-rtirq r /devices/pci0000:00/0000:00:1c.0/0000:05:00.0/sound/card5.
Okt 29 19:29:10 ... root[95386]: [udev-rtirq] Error: Unable to retrieve the thread-id
Okt 29 19:29:10 ... systemd[1]: run-rb98942628d1448f69f73b2ae0cb8619c.service: Main process exited, code=exited, status=1/FAILURE
Okt 29 19:29:10 ... systemd[1]: run-rb98942628d1448f69f73b2ae0cb8619c.service: Failed with result 'exit-code'.
Okt 29 19:29:10 ... pulseaudio[1614]: Error opening PCM device hw:5: No such file or directory
Okt 29 19:29:10 ... gsd-media-keys[1871]: Unable to get default source
Okt 29 19:29:10 ... root[95398]: [udev-rtirq] Error: Unable to retrieve the thread-id
Okt 29 19:29:10 ... systemd[1]: run-r96615a93033b47189c573535e3db3e23.service: Main process exited, code=exited, status=1/FAILURE
Okt 29 19:29:10 ... systemd[1]: run-r96615a93033b47189c573535e3db3e23.service: Failed with result 'exit-code'.
Here I messed up the ALSA driver for sure...
...but somehow it showed up with ALSA...
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [EV2750]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [EV2750]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 5: AVB [AVB], device 0: AVB [AVB]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ aplay -L | grep :CARD
hdmi:CARD=NVidia,DEV=0
hdmi:CARD=NVidia,DEV=1
hdmi:CARD=NVidia,DEV=2
hdmi:CARD=NVidia,DEV=3
usbstream:CARD=NVidia
sysdefault:CARD=M16x16
usbstream:CARD=M16x16
sysdefault:CARD=XT
usbstream:CARD=XT
sysdefault:CARD=control
usbstream:CARD=control
sysdefault:CARD=A32
usbstream:CARD=A32
sysdefault:CARD=AVB
usbstream:CARD=AVB
...I can select the AVB device in Audacity...
...but playback is not possible. Playhead is not moving...
Hi @Drumfix, you are my hero!
Thank you so much for your recent commits! I really appreciate it!
Everything compiles flawlessly now! I had a look at your changes and some thoughts sounded familiar, but others are throwing me completely off. How do you know all this?
Unfortunately it still doesn't work for me as expected. When I start the AVB driver, I get an infinite loop that I think I've already read some comments about. I'll investigate further next weekend...
Cheers!
Hi, I'm new at this and actually I don't really know what am I doing, even if it is right or wrong... It's a little embarrassing, so sorry for the inconvenience and thanks in advance (:
It is a fresh install and I tried to check all the requirements to get it to work. The terminal gave me this:
$ sudo make install cd
pwd
/kernel-module/igb make -C /lib/modules/uname -r
/build M=pwd
/kernel-module/igb make[1]: Entering directory '/usr/src/linux-headers-6.5.0-18-generic' warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 CC [M] /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.o /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_alloc_q_vector’: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:1220:9: error: too many arguments to function ‘netif_napi_add’ 1220 | netif_napi_add(adapter->netdev, &q_vector->napi, | ^~~~~~ In file included from /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:48: ./include/linux/netdevice.h:2639:1: note: declared here 2639 | netif_napi_add(struct net_device dev, struct napi_struct napi, | ^~~~~~ In file included from ./include/linux/string.h:254, from ./include/linux/bitmap.h:11, from ./include/linux/cpumask.h:12, from ./arch/x86/include/asm/paravirt.h:17, from ./arch/x86/include/asm/cpuid.h:62, from ./arch/x86/include/asm/processor.h:19, from ./arch/x86/include/asm/timex.h:5, from ./include/linux/timex.h:67, from ./include/linux/time32.h:13, from ./include/linux/time.h:60, from ./include/linux/stat.h:19, from ./include/linux/module.h:13, from /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:43: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_probe’: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:2927:22: warning: passing argument 1 of ‘builtin_memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 2927 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len); |~~^~~~~~ ./include/linux/fortify-string.h:648:27: note: in definition of macro ‘fortify_memcpy_chk’ 648 | underlying_##op(p, q, fortify_size); \ | ^ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:2927:9: note: in expansion of macro ‘memcpy’ 2927 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len); | ^~/home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:2927:22: note: expected ‘void ’ but argument is of type ‘const unsigned char ’ 2927 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len); |~~^~~~~~ ./include/linux/fortify-string.h:648:27: note: in definition of macro ‘fortify_memcpy_chk’ 648 | underlying_##op(p, q, fortify_size); \ | ^ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:2927:9: note: in expansion of macro ‘memcpy’ 2927 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len); | ^~/home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_set_mac’: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:4430:22: warning: passing argument 1 of ‘builtin_memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 4430 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); |~~^~~~~~ ./include/linux/fortify-string.h:648:27: note: in definition of macro ‘fortify_memcpy_chk’ 648 | underlying_##op(p, q, fortify_size); \ | ^ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:4430:9: note: in expansion of macro ‘memcpy’ 4430 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); | ^~/home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:4430:22: note: expected ‘void ’ but argument is of type ‘const unsigned char ’ 4430 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); |~~^~~~~~ ./include/linux/fortify-string.h:648:27: note: in definition of macro ‘fortify_memcpy_chk’ 648 | underlying_##op(p, q, fortify_size); \ | ^ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:4430:9: note: in expansion of macro ‘memcpy’ 4430 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); | ^~In file included from /home/paulorodriguesnvme/avb4linux/kernel-module/igb/e1000_hw.h:28, from /home/paulorodriguesnvme/avb4linux/kernel-module/igb/e1000_api.h:28, from /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb.h:69, from /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:69: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_vmm_control’: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/e1000_osdep.h:92:4: warning: this statement may fall through [-Wimplicit-fallthrough=] 92 | do { \ | ^ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:10020:17: note: in expansion of macro ‘E1000_WRITE_REG’ 10020 | E1000_WRITE_REG(hw, E1000_DTXCTL, reg); | ^~~~~~~ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:10022:9: note: here 10022 | case e1000_82580: | ^~~~ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_set_interrupt_capability’: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:1147:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 1147 | igb_reset_interrupt_capability(adapter); | ^~~~~~~~~~~ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:1148:9: note: here 1148 | case IGB_INT_MODE_MSI: | ^~~~ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:1149:20: warning: this statement may fall through [-Wimplicit-fallthrough=] 1149 | if (!pci_enable_msi(pdev)) | ^ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:1155:9: note: here 1155 | case IGB_INT_MODE_LEGACY: | ^~~~ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_set_fw_version’: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:2562:20: warning: this statement may fall through [-Wimplicit-fallthrough=] 2562 | if (!(e1000_get_flash_presence_i210(hw))) { | ^ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:2570:9: note: here 2570 | default: | ^~~ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_read’: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:10381:9: warning: ignoring return value of ‘copy_to_user’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 10381 | copy_to_user(buf, &adapter->last_event, sizeof(adapter->last_event)); | ^~~~~~~~~~~~~~~~ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c: In function ‘__igb_notify_dca’: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:6475:20: warning: this statement may fall through [-Wimplicit-fallthrough=] 6475 | if (dca_add_requester(dev) == E1000_SUCCESS) { | ^ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:6482:9: note: here 6482 | case DCA_PROVIDER_REMOVE: | ^~~~ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c: In function ‘igb_has_link’: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:4800:20: warning: this statement may fall through [-Wimplicit-fallthrough=] 4800 | if (!hw->mac.get_link_status) | ^ /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.c:4802:9: note: here 4802 | case e1000_media_type_internal_serdes: | ^~~~ make[3]: [scripts/Makefile.build:251: /home/paulorodriguesnvme/avb4linux/kernel-module/igb/igb_main.o] Error 1 make[2]: [/usr/src/linux-headers-6.5.0-18-generic/Makefile:2039: /home/paulorodriguesnvme/avb4linux/kernel-module/igb] Error 2 make[1]: [Makefile:234: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-6.5.0-18-generic' make: [Makefile:35: igb] Error 2