From 99b964a3746a6cbdad75f708aaa06071a96e09af Mon Sep 17 00:00:00 2001 From: Philip Linden Date: Tue, 7 Oct 2025 20:07:46 -0400 Subject: [PATCH 1/2] Fix compilation on Linux kernel 6.16+ Add ccflags-y declarations alongside EXTRA_CFLAGS for modern kernel build system compatibility. Resolves incompatible pointer type error in ethtool get_ts_info callback. --- TimeStick2/DRV/Makefile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/TimeStick2/DRV/Makefile b/TimeStick2/DRV/Makefile index e0db2e0..319f7f6 100644 --- a/TimeStick2/DRV/Makefile +++ b/TimeStick2/DRV/Makefile @@ -17,57 +17,72 @@ ENABLE_QUEUE_PRIORITY = n obj-m := $(TARGET).o $(TARGET)-objs := ax_main.o ax88179_178a.o ax88179a_772d.o EXTRA_CFLAGS = -fno-pie +ccflags-y = -fno-pie TOOL_EXTRA_CFLAGS = -Werror ifeq ($(ENABLE_IOCTL_DEBUG), y) EXTRA_CFLAGS += -DENABLE_IOCTL_DEBUG + ccflags-y += -DENABLE_IOCTL_DEBUG TOOL_EXTRA_CFLAGS += -DENABLE_IOCTL_DEBUG endif ifeq ($(ENABLE_AUTODETACH_FUNC), y) EXTRA_CFLAGS += -DENABLE_AUTODETACH_FUNC + ccflags-y += -DENABLE_AUTODETACH_FUNC endif ifeq ($(ENABLE_MAC_PASS), y) EXTRA_CFLAGS += -DENABLE_MAC_PASS + ccflags-y += -DENABLE_MAC_PASS endif ifeq ($(ENABLE_DWC3_ENHANCE), y) EXTRA_CFLAGS += -DENABLE_DWC3_ENHANCE + ccflags-y += -DENABLE_DWC3_ENHANCE ifeq ($(ENABLE_INT_POLLING), n) EXTRA_CFLAGS += -DENABLE_INT_POLLING + ccflags-y += -DENABLE_INT_POLLING endif endif ifeq ($(ENABLE_AUTOSUSPEND), y) EXTRA_CFLAGS += -DENABLE_AUTOSUSPEND + ccflags-y += -DENABLE_AUTOSUSPEND endif ifeq ($(ENABLE_TX_TASKLET), y) EXTRA_CFLAGS += -DENABLE_TX_TASKLET + ccflags-y += -DENABLE_TX_TASKLET endif ifeq ($(ENABLE_RX_TASKLET), y) EXTRA_CFLAGS += -DENABLE_RX_TASKLET + ccflags-y += -DENABLE_RX_TASKLET endif ifeq ($(ENABLE_PTP_FUNC), y) $(TARGET)-objs += ax_ptp.o EXTRA_CFLAGS += -DENABLE_PTP_FUNC + ccflags-y += -DENABLE_PTP_FUNC ifeq ($(ENABLE_PTP_DEBUG), y) EXTRA_CFLAGS += -DENABLE_PTP_DEBUG + ccflags-y += -DENABLE_PTP_DEBUG endif endif ifeq ($(ENABLE_QUEUE_PRIORITY), y) EXTRA_CFLAGS += -DENABLE_QUEUE_PRIORITY + ccflags-y += -DENABLE_QUEUE_PRIORITY endif EXTRA_CFLAGS += -DENABLE_AX88279 + ccflags-y += -DENABLE_AX88279 ifeq ($(ENABLE_MACSEC_FUNC), y) $(TARGET)-objs += ax_macsec.o EXTRA_CFLAGS += -DENABLE_MACSEC_FUNC + ccflags-y += -DENABLE_MACSEC_FUNC endif EXTRA_CFLAGS += -DENABLE_AX88279_MINIP_2_5G + ccflags-y += -DENABLE_AX88279_MINIP_2_5G ifneq (,$(filter $(SUBLEVEL),14 15 16 17 18 19 20 21)) From 176658b1871b6345470956a6f40e9618f5eacead Mon Sep 17 00:00:00 2001 From: Philip Linden Date: Tue, 7 Oct 2025 21:06:43 -0400 Subject: [PATCH 2/2] readme cleanup --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bff81ce..d665f16 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# USB to Ethernet with Hardware Timestamping and PPS outoput +# USB to Ethernet with Hardware Timestamping and PPS output A USB 3.2 Gen1 to Gigabit Ethernet dongle based on the AX88179B. - The AX88179B supports Precision Time Protocol (PTP) (IEEE 1588v2 and 802.1AS) - This hardware implementation features a female SMA to break out the 1PPS signal from the AX88179B. @@ -8,7 +8,7 @@ A USB 3.2 Gen1 to Gigabit Ethernet dongle based on the AX88179B. # Installation Step 1: First you need to compile the Time Stick module (driver). Either clone the entire repo and take it from there (skip to step 2) so use the following commands: -``` +```bash cd git clone https://github.com/Time-Appliances-Project/TimeStick.git cd TimeStick/DRV @@ -18,13 +18,13 @@ sudo make install Step 2: You need to remove cdc_ncm before installing the AX88179A module. Please follow the steps below to remove cdc_ncm and install the AX88179A module. -``` +```bash sudo rmmod cdc_mbim sudo rmmod cdc_ncm sudo rmmod ax88179_178a ``` Step 3: Insert the new module -``` +```bash sudo modprobe ax_usb_nic ```