You are not logged in.
I am having a very hard time getting Arch to work witjh a new SFF PC. It is this device https://www.qotom.net/product/RouterPC_Q20331G9S10.html , the CPU is an Intel Atom C3000 and the network adapter I am trying to get to work is an Intel X553.
The problem is that in an out of the box install, the 10G SFP link to my switch immediately goes down once the ixgbe driver module is loaded. The link lights light up and the switch reports a good 10G connection until the driver is loaded. Once this happens the link never comes up again until i reboot the device, when the whole thing starts all over, link lights until the driver loads. Like most problems I post about on here, the journal/dmesg contains absolutely nothing at all related to networking, errors, anything....
So i start searching, apparently many people have this problem, it looks like one of the latest kernel versions broke the built-in module. Many people report needing to download the official Intel driver from https://www.intel.com/content/www/us/en … linux.html
So i do that. I'm already able to compile other software on the machine, base-devel and linux-headers are installed. The compile fails with the following output:
filtering include/net/flow_keys.h out
filtering include/linux/jump_label_type.h out
filtering include/linux/jump_label_type.h out
1 /* Autogenerated for KSRC=/lib/modules/6.9.2-arch1-1/build via kcompat-generator.sh */
2 #define HAVE_DEVLINK_FLASH_UPDATE_PARAMS
3 #define HAVE_DEVLINK_FLASH_UPDATE_PARAMS_FW
4 #define HAVE_DEVLINK_HEALTH
5 #define HAVE_DEVLINK_HEALTH_DEFAULT_AUTO_RECOVER
6 #define HAVE_DEVLINK_HEALTH_OPS_EXTACK
7 #define HAVE_DEVLINK_PARAMS
8 #define HAVE_DEVLINK_PORT_NEW
9 #define HAVE_DEVLINK_PORT_OPS
10 #define HAVE_DEVLINK_RATE_NODE_CREATE
11 #define HAVE_DEVLINK_REGIONS
12 #define HAVE_DEVLINK_REGION_OPS_SNAPSHOT
13 #define HAVE_DEVLINK_REGION_OPS_SNAPSHOT_OPS
14 #define HAVE_DEVL_PORT_REGISTER
15 #define HAVE_DEVLINK_PORT_FLAVOUR_PCI_SF
16 #define HAVE_DEVLINK_RELOAD_ACTION_AND_LIMIT
17 #define HAVE_NDO_ETH_IOCTL
18 #define HAVE_NDO_FDB_ADD_VID
19 #define HAVE_NDO_FDB_DEL_EXTACK
20 #define HAVE_NETIF_SET_TSO_MAX
21 #define HAVE_SET_NETDEV_DEVLINK_PORT
22 #define HAVE_ETHTOOL_COALESCE_EXTACK
23 #define HAVE_ETHTOOL_EXTENDED_RINGPARAMS
24 #define HAVE_ETHTOOL_FLOW_RSS
25 #define HAVE_FLOW_DISSECTOR_KEY_PPPOE
26 #define HAVE_FLOW_DISSECTOR_KEY_CVLAN
27 #define HAVE_CDEV_DEVICE
28 #define HAVE_DEV_UEVENT_CONST
29 #define HAVE_POLL_T
30 #define HAVE_STREAM_OPEN
31 #define HAVE_GNSS_MODULE
32 #define HAVE_PCI_MSIX_ALLOC_IRQ_AT
33 #define HAVE_PCI_MSIX_CAN_ALLOC_DYN
34 #define HAVE_PCI_MSIX_FREE_IRQ
35 #define HAVE_PER_VF_MSIX_SYSFS
36 #define HAVE_STRUCT_PCI_DEV_PTM_ENABLED
37 #define HAVE_COMPLETION_RAW_SPINLOCK
38 #define HAVE_HWMON_DEVICE_REGISTER_WITH_INFO
39 #define HAVE_STRUCT_STATIC_KEY_FALSE
40 #define NEED_LOWER_16_BITS
41 #define NEED_UPPER_16_BITS
42 #define HAVE_MDEV_REGISTER_PARENT
43 #define HAVE_PTP_CLOCK_INFO_ADJFINE
44 #define HAVE_TRACE_ENABLED_SUPPORT
*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but
*** the signing key cannot be found. Module signing has been
*** disabled for this build.
make[1]: Entering directory '/usr/lib/modules/6.9.2-arch1-1/build'
CC [M] /home/user/Downloads/ixgbe-5.19.9/src/ixgbe_main.o
/home/user/Downloads/ixgbe-5.19.9/src/ixgbe_main.c: In function ‘ixgbe_clean_rx_irq’:
/home/user/Downloads/ixgbe-5.19.9/src/ixgbe_main.c:2389:17: error: implicit declaration of function ‘xdp_do_flush_map’; did you mean ‘xdp_do_flush’? [-Wimplicit-function-declaration]
2389 | xdp_do_flush_map();
| ^~~~~~~~~~~~~~~~
| xdp_do_flush
/home/user/Downloads/ixgbe-5.19.9/src/ixgbe_main.c: In function ‘ixgbe_probe’:
/home/user/Downloads/ixgbe-5.19.9/src/ixgbe_main.c:12707:9: error: implicit declaration of function ‘pci_enable_pcie_error_reporting’ [-Wimplicit-function-declaration]
12707 | pci_enable_pcie_error_reporting(pdev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/Downloads/ixgbe-5.19.9/src/ixgbe_main.c: In function ‘ixgbe_remove’:
/home/user/Downloads/ixgbe-5.19.9/src/ixgbe_main.c:13419:9: error: implicit declaration of function ‘pci_disable_pcie_error_reporting’ [-Wimplicit-function-declaration]
13419 | pci_disable_pcie_error_reporting(pdev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:244: /home/user/Downloads/ixgbe-5.19.9/src/ixgbe_main.o] Error 1
make[2]: *** [/usr/lib/modules/6.9.2-arch1-1/build/Makefile:1919: /home/user/Downloads/ixgbe-5.19.9/src] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.9.2-arch1-1/build'
make: *** [Makefile:100: default] Error 2And... i have no idea what to do next.... Ideas? Oh, and as usual the hardware works perfectly in Windows......
Last edited by t_wrex (2024-05-31 10:33:04)
Offline
Use:
CFLAGS+=' -Wno-error=implicit-function-declaration'Linux user since 1996. Currently running Arch on an I7 11th gen laptop with root on zfs with zrepl.
Offline
Sorry, but how would i "use" that? I tried doing "make CFLAGS+=' -Wno-error=implicit-function-declaration'" and "export CFLAGS+=' -Wno-error=implicit-function-declaration'; make" but neither one worked, the output was identical as before.
Offline
You most likely don't need to manually build this and it should already be in the kernel. Who are "many people report" and what kernels are they running? You're essentially trying to build a kernel module intended for a 5.19 kernel while we're on 6.9
When "the driver loads and things fail" can you still check with e.g. ip addr on what your network devices are, which network daemon are you attempting to use?
Also while you might not see anything, throw more eyeballs at the log, after reproduction of such an issue post
sudo journalctl -bhttps://wiki.archlinux.org/title/List_o … n_services
Also if this is due to a driver stall, try enabling REISUB and running through the sequence (wait ~3secs between key presses) and after the reboot, check whether the journal of the prior boot contains more info (journalctl -b-1)
Last edited by V1del (2024-05-31 13:08:39)
Offline
You're essentially trying to build a kenel intended for a 5.19 kernel while we're on 6.9
Not following you.... i am trying to build a driver, not a kernel......
When "the driver loads and things fail" can you still check with e.g. ip addr on what your network devices are, which network daemon are you attempting to use?
I am not using any network daemon. I am just trying to get the link to come up, then try to add a static IP to it. When the system boots, "ip link" shows the link is down, even though there is a link light on. I run "ip link set dev [DEV] up" and the link light goes out, and never comes back, and "ip link" still says the link is down. I can manually add an IP to the link using "ip addr add dev [DEV] 192.168.1.2/24". and after doing that "ip addr" shows the IP i just added, but the link is still down and the link lights are off.
I will need some time to look at your other suggestions.
Offline
Was a typo, I meant to say "kernel module"
Offline
You need to make all the changes to the 5.19 driver that the kernel developers already made to in tree driver such as https://github.com/torvalds/linux/commi … e6aa71d3b4 and https://github.com/torvalds/linux/commi … f5b1730afc
Offline
You need to make all the changes to the 5.19 driver that the kernel developers already made to in tree driver such as https://github.com/torvalds/linux/commi … e6aa71d3b4 and https://github.com/torvalds/linux/commi … f5b1730afc
That.... sounds very difficult. I wouldn't know where to start.......
I found an old Arch install ISO that has kernel 5.19, i booted it and the SFP+ port immediately worked perfectly, so something obviously broke between then and now.... Feels like a solution is near, or at least will be soon if/when the in tree driver is fixed.
Offline
AUR has packages for older linux-lts versions , use https://aur.archlinux.org/packages/linux-lts515 .
5.15 will be maintained until atleast dec 2026.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Online