Ethernet Products
Determine ramifications of Intel® Ethernet products and technologies
5178 Discussions

Update ice/iavf driver on Ubuntu 2204 aarch64

ninjab3s
Beginner
3,012 Views

Hello everyone!

I would like to update the ice and iavf driver for my E810 on my Ubuntu Server 2204 running on aarch64. Unfortunately, I get build errors which I dont see when building on x86_64. I have downloaded the code from there: https://sourceforge.net/projects/e1000/files/ and I have followed the instructions from this website: https://edc.intel.com/content/www/us/en/design/products/ethernet/config-guide-e810-dpdk/downloading-and-installing-the-ice-driver/. Is there maybe a different code base for the aarch64 drivers? Any help is appreciated! Thanks!

 

Edit:

 

$ sudo ethtool -i enP1p1s0f3 
driver: ice
version: 5.15.0-1032-realtime
firmware-version: 3.20 0x8000d833 1.3146.0
expansion-rom-version: 
bus-info: 0001:01:00.3
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
$ cd ~/ice-1.13.7/src
$ make -j80
echo "*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but" ; echo "*** the signing key cannot be found. Module signing has been" ; echo "*** disabled for this build." ; make  ccflags-y=" -std=gnu11" -C "/lib/modules/5.15.0-1032-realtime/build" CONFIG_=m CONFIG_MODULE_SIG=n CONFIG_MODULE_SIG_ALL= M="/home/srsadmin/ice-1.13.7/src"   NEED_AUX_BUS="0"  modules
*** 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/src/linux-headers-5.15.0-1032-realtime'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
  You are using:           gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
  MODPOST /home/srsadmin/ice-1.13.7/src/Module.symvers
ERROR: modpost: "kvm_read_guest" [/home/srsadmin/ice-1.13.7/src/ice.ko] undefined!
ERROR: modpost: "kvm_write_guest" [/home/srsadmin/ice-1.13.7/src/ice.ko] undefined!

 

 

$ lscpu
Architecture:           aarch64
  CPU op-mode(s):       32-bit, 64-bit
  Byte Order:           Little Endian
CPU(s):                 80
  On-line CPU(s) list:  0-79
Vendor ID:              ARM
  Model name:           Neoverse-N1
    Model:              1
    Thread(s) per core: 1
    Core(s) per socket: 80
    Socket(s):          1
    Stepping:           r3p1
    Frequency boost:    disabled
    CPU max MHz:        3000.0000
    CPU min MHz:        1000.0000
    BogoMIPS:           50.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
Caches (sum of all):    
  L1d:                  5 MiB (80 instances)
  L1i:                  5 MiB (80 instances)
  L2:                   80 MiB (80 instances)
NUMA:                   
  NUMA node(s):         1
  NUMA node0 CPU(s):    0-79
Vulnerabilities:        
  Itlb multihit:        Not affected
  L1tf:                 Not affected
  Mds:                  Not affected
  Meltdown:             Not affected
  Mmio stale data:      Not affected
  Retbleed:             Not affected
  Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:           Mitigation; __user pointer sanitization
  Spectre v2:           Mitigation; CSV2, BHB
  Srbds:                Not affected
  Tsx async abort:      Not affected

 

$ uname -r
5.15.0-1032-realtime
0 Kudos
1 Solution
Irwan_Intel
Moderator
2,748 Views

Hello ninjab3s,


We currently do not have a specific timeline for when drivers not included in the main source tree, supporting aarch64, will be available. If drivers compatible with the kernel are provided within the distribution, it is recommended to use those for now.


Regards,

Irwan_Intel


View solution in original post

0 Kudos
7 Replies
Irwan_Intel
Moderator
2,928 Views

Hello ninjab3s,


Thank you for your posting in Intel Ethernet Communities.


Please check and confirm the following table lists the driver, firmware, and package versions recommended for use with the supported DPDK version.

Software/Firmware Requirements - 22.11 - ID:764257 | Intel® Ethernet Controller E810 Data Plane Development Kit (DPDK) 22.11/23.03


Regards,

Irwan_Intel


0 Kudos
ninjab3s
Beginner
2,915 Views

Hi Irwan_Intel,

thanks for your reply but I am afraid that this doesnt answer my question. How is DPDK related to building the ice driver on aarch64?

I phrase it differently: Does the ice driver found here build on aarch64? If so, is there a recommended version to use?

Thanks for your help!

0 Kudos
ninjab3s
Beginner
2,869 Views

I have built iavf 4.10.6 successfully. I have tried multiple version of the ice driver, but it seems its only available for x86.

 

These are the errors I get:

/home/srsadmin/intel_drivers/ice-1.12.18/src/ice_ptp.c: In function ‘ice_ptp_get_syncdevicetime’:
/home/srsadmin/intel_drivers/ice-1.12.18/src/ice_ptp.c:4013:35: error: implicit declaration of function ‘convert_art_ns_to_tsc’ [-Werror=implicit-function-declaration]
 4013 |                         *system = convert_art_ns_to_tsc(hh_ts);
      |                                   ^~~~~~~~~~~~~~~~~~~~~
/home/srsadmin/intel_drivers/ice-1.12.18/src/ice_ptp.c:4013:35: error: incompatible types when assigning to type ‘struct system_counterval_t’ from type ‘int’
/home/srsadmin/intel_drivers/ice-1.12.18/src/ice_ptp.c: In function ‘ice_ptp_set_funcs_e82x’:
/home/srsadmin/intel_drivers/ice-1.12.18/src/ice_ptp.c:4334:13: error: implicit declaration of function ‘boot_cpu_has’; did you mean ‘boot_cpu_init’? [-Werror=implicit-function-declaration]
 4334 |         if (boot_cpu_has(X86_FEATURE_ART) &&
      |             ^~~~~~~~~~~~
      |             boot_cpu_init
/home/srsadmin/intel_drivers/ice-1.12.18/src/ice_ptp.c:4334:26: error: ‘X86_FEATURE_ART’ undeclared (first use in this function); did you mean ‘X86_FEATURE_ANY’?
 4334 |         if (boot_cpu_has(X86_FEATURE_ART) &&
      |                          ^~~~~~~~~~~~~~~
      |                          X86_FEATURE_ANY
/home/srsadmin/intel_drivers/ice-1.12.18/src/ice_ptp.c:4334:26: note: each undeclared identifier is reported only once for each function it appears in
/home/srsadmin/intel_drivers/ice-1.12.18/src/ice_ptp.c:4335:26: error: ‘X86_FEATURE_TSC_KNOWN_FREQ’ undeclared (first use in this function)
 4335 |             boot_cpu_has(X86_FEATURE_TSC_KNOWN_FREQ))
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:297: /home/srsadmin/intel_drivers/ice-1.12.18/src/ice_ptp.o] Error 1
make[1]: *** [Makefile:1904: /home/srsadmin/intel_drivers/ice-1.12.18/src] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-1032-realtime'
make: *** [Makefile:178: all] Error 2

 

0 Kudos
Irwan_Intel
Moderator
2,749 Views

Hello ninjab3s,


We currently do not have a specific timeline for when drivers not included in the main source tree, supporting aarch64, will be available. If drivers compatible with the kernel are provided within the distribution, it is recommended to use those for now.


Regards,

Irwan_Intel


0 Kudos
ninjab3s
Beginner
2,731 Views

Hello Irwan,

thank you for your answer!

Best regards!

0 Kudos
Poojitha
Employee
2,720 Views

Hi ninjab3s,


Thank you for your response. Could you please confirm If everything good can we go ahead and close the case.


We appreciate your cooperation and the opportunity to assist you. If you have any further questions or concerns in the future, please don't hesitate to reach out.t


Thank you for choosing our services. We look forward to serving you again.


Regards,

Poojitha



0 Kudos
ninjab3s
Beginner
2,716 Views

Hello Poojitha,

confirmed.

Best regards!

0 Kudos
Reply