diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
index e2dfc163119..ad5652a7fcc 100644
--- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
+++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
@@ -24,9 +24,11 @@ rt2x00_eeprom_extract() {
 
 [ -e /lib/firmware/$FIRMWARE ] && exit 0
 
+. /lib/lantiq.sh
+
 case "$FIRMWARE" in
 "RT2860.eeprom" )
-	local board=$(grep ^machine /proc/cpuinfo | sed "s/machine.*: \(.*\) - .*/\1/g")
+	local board=$(lantiq_board_name)
 	case $board in
 	ARV7525PW)
 		rt2x00_eeprom_extract "board_config" 1040 272
diff --git a/target/linux/lantiq/base-files/lib/lantiq.sh b/target/linux/lantiq/base-files/lib/lantiq.sh
new file mode 100644
index 00000000000..75e8ac272b6
--- /dev/null
+++ b/target/linux/lantiq/base-files/lib/lantiq.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+lantiq_soc_name() {
+	grep ^system /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g"
+}
+
+lantiq_board_name() {
+	grep ^machine /proc/cpuinfo | sed "s/machine.*: \(.*\)/\1/g" | sed "s/\(.*\) - .*/\1/g"
+}