diff --git a/lfs/fireinfo b/lfs/fireinfo
index 629626d1e..b8727c778 100644
--- a/lfs/fireinfo
+++ b/lfs/fireinfo
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2025  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.2.0
+VER        = 2.2.1
 
 THISAPP    = fireinfo-v$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 765a483359a9061df8e8a60c90b851900e14ca4229ff8554f54ada661ef59b97e1c7bb1b6a4767ec5ce9fa813fa3d45576e69e3efe1793a9b9d341de1c3818f6
+$(DL_FILE)_BLAKE2 = f811c8acf078c6fcb27305f0a6b81429862ad9631699e50ee0e4b2e713c8e1a745ba453783422598b818da59fd4d9e96be395884a7fccd7bcda0e64c7cd8d692
 
 install : $(TARGET)
 
@@ -70,15 +70,9 @@ $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
-	# Apply upstream patches
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/fireinfo-2.2.0-python-3.8.patch
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/fireinfo-system-blacklist-jetways-product-uuid.patch
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/fireinfo-system-ignore-when-the-serial-number-is-ssn.patch
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo-virt-fix-off-by-one-error-when-detecting-hypervisor.patch
-
 	cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
-	cd $(DIR_APP) && ./configure --prefix=/usr
+	cd $(DIR_APP) && ./configure \
+				--prefix=/usr
 	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)
diff --git a/src/patches/fireinfo-virt-fix-off-by-one-error-when-detecting-hypervisor.patch b/src/patches/fireinfo-virt-fix-off-by-one-error-when-detecting-hypervisor.patch
deleted file mode 100644
index 0799ecce5..000000000
--- a/src/patches/fireinfo-virt-fix-off-by-one-error-when-detecting-hypervisor.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e3e68b9baa9723916b1999394432e9ad260cfaa2 Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Sat, 1 Jul 2023 09:08:48 +0000
-Subject: [PATCH] virt: Fix off-by-one error when detecting hypervisor
-
-Reported-by: Mauro Condarelli <mc5686@mclink.it>
-Fixes: #13155 - _fireinfo.detect_hypervisor() rises Segmentation fault
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- src/_fireinfo/fireinfo.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/_fireinfo/fireinfo.c b/src/_fireinfo/fireinfo.c
-index 1d3f424..18edf34 100644
---- a/src/_fireinfo/fireinfo.c
-+++ b/src/_fireinfo/fireinfo.c
-@@ -32,8 +32,8 @@ enum hypervisors {
- 	HYPER_KVM,
- 	HYPER_MSHV,
- 	HYPER_VMWARE,
-+	// Must always be last
- 	HYPER_OTHER,
--	HYPER_LAST /* for loop - must be last*/
- };
- 
- const char *hypervisor_ids[] = {
-@@ -157,7 +157,7 @@ int detect_hypervisor(int *hypervisor) {
- 		*hypervisor = HYPER_OTHER;
- 
- 		if (*sig.text) {
--			for (int id = HYPER_NONE + 1; id < HYPER_LAST; id++) {
-+			for (int id = HYPER_NONE + 1; id < HYPER_OTHER; id++) {
- 				if (strcmp(hypervisor_ids[id], sig.text) == 0) {
- 					*hypervisor = id;
- 					break;
--- 
-2.39.2
-
diff --git a/src/patches/fireinfo/fireinfo-2.2.0-python-3.8.patch b/src/patches/fireinfo/fireinfo-2.2.0-python-3.8.patch
deleted file mode 100644
index ca0e6843b..000000000
--- a/src/patches/fireinfo/fireinfo-2.2.0-python-3.8.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 1d70d3cbf7e1fe1e1f0760e9a79e520e416519fe Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Tue, 18 May 2021 13:40:51 +0000
-Subject: [PATCH] python: Fix linking against Python 3.8
-
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index ede2cb6..6efe73c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -91,7 +91,7 @@ AC_SUBST([OUR_LDFLAGS], $with_ldflags)
- 
- # Python
- AM_PATH_PYTHON([3.7])
--PKG_CHECK_MODULES([PYTHON_DEVEL], [python-${PYTHON_VERSION}])
-+PKG_CHECK_MODULES([PYTHON_DEVEL], [python-${PYTHON_VERSION}-embed python-${PYTHON_VERSION}])
- 
- AC_CONFIG_FILES([
- 	Makefile
--- 
-2.20.1
-
diff --git a/src/patches/fireinfo/fireinfo-system-blacklist-jetways-product-uuid.patch b/src/patches/fireinfo/fireinfo-system-blacklist-jetways-product-uuid.patch
deleted file mode 100644
index f604d8433..000000000
--- a/src/patches/fireinfo/fireinfo-system-blacklist-jetways-product-uuid.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 33be9aa38d65dace9a61247f41ac3627a6750cce Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Fri, 8 Jul 2022 08:30:55 +0000
-Subject: [PATCH] system: Blacklist Jetway's product UUID
-
-Fixes: #12896
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- src/fireinfo/system.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/fireinfo/system.py b/src/fireinfo/system.py
-index 4c0b0a3..c9c81b1 100644
---- a/src/fireinfo/system.py
-+++ b/src/fireinfo/system.py
-@@ -51,6 +51,9 @@ INVALID_ID_STRINGS = (
- 	"03000200-0400-0500-0006-000700080009",
- 	"11111111-1111-1111-1111-111111111111",
- 	"0000000", "00000000",
-+
-+	# Jetway gives all systems the same product UUID
-+	"3b903780-4f79-1018-816e-aeb2724778a7",
- )
- 
- INVALID_ID_STRINGS_EXACT_MATCH = (
--- 
-2.30.2
-
diff --git a/src/patches/fireinfo/fireinfo-system-ignore-when-the-serial-number-is-ssn.patch b/src/patches/fireinfo/fireinfo-system-ignore-when-the-serial-number-is-ssn.patch
deleted file mode 100644
index 611bc98ce..000000000
--- a/src/patches/fireinfo/fireinfo-system-ignore-when-the-serial-number-is-ssn.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 4d74466456c0824663e10881f9deabcd1f4d32c3 Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Fri, 8 Jul 2022 08:31:25 +0000
-Subject: [PATCH] system: Ignore when the serial number is "SSN"
-
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- src/fireinfo/system.py | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/fireinfo/system.py b/src/fireinfo/system.py
-index c9c81b1..9edc345 100644
---- a/src/fireinfo/system.py
-+++ b/src/fireinfo/system.py
-@@ -44,7 +44,7 @@ INVALID_ID_STRINGS = (
- 	"EVAL",
- 	"Not Applicable",
- 	"None", "empty",
--	"Serial", "System Serial Number",
-+	"Serial", "System Serial Number", "SSN",
- 	"XXXXX",
- 	"01010101-0101-0101-0101-010101010101",
- 	"00020003-0004-0005-0006-000700080009",
-@@ -272,7 +272,9 @@ class System(object, metaclass=Singleton):
- 		if not ids:
- 			root_disk_serial = self.root_disk_serial
- 			if root_disk_serial and not root_disk_serial.startswith("QM000"):
--				ids.append(root_disk_serial)
-+				# Skip any invalid IDs
-+				if not root_disk_serial in INVALID_ID_STRINGS:
-+					ids.append(root_disk_serial)
- 
- 		# As last resort, we use the UUID from pakfire.
- 		if not ids:
--- 
-2.30.2
-
