diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c
index 60bf6123825ed279c21d5a71261f4fe62257a29b..e672982dc905eea639c57fddbb10554a5af20d69 100644
--- a/package/broadcom-diag/src/diag.c
+++ b/package/broadcom-diag/src/diag.c
@@ -115,6 +115,9 @@ enum {
 	DIR130,
 	DIR330,
 	DWL3150,
+
+	/* Sitecom */
+	WL105B,
 };
 
 static void __init bcm4780_init(void) {
@@ -618,6 +621,17 @@ static struct platform_t __initdata platforms[] = {
 			{ .name = "status",	.gpio = 1 << 1},
 		},
 	},
+	/* Double check */
+	[WL105B] = {
+		.name	= "Sitecom WL-105b",
+		.buttons	= {
+			{ .name = "reset",	.gpio = 1 << 10},
+		},
+		.leds	  = {
+			{ .name = "wlan",	.gpio = 1 << 4},
+			{ .name = "power",	.gpio = 1 << 3},
+		},
+	},
 };
 
 static struct platform_t __init *platform_detect(void)
@@ -730,6 +744,9 @@ static struct platform_t __init *platform_detect(void)
 				(simple_strtoul(getvar("et1phyaddr"), NULL, 0) == 10))
 				return &platforms[WL300G];
 		}
+		/* Sitecom WL-105b */
+		if (!strncmp(boardnum, "2", 1) && simple_strtoul(getvar("GemtekPmonVer"), NULL, 0) == 1)
+			return &platforms[WL105B];
 
 		/* unknown asus stuff, probably bcm4702 */
 		if (!strncmp(boardnum, "asusX", 5))
diff --git a/target/linux/brcm-2.4/base-files/etc/init.d/netconfig b/target/linux/brcm-2.4/base-files/etc/init.d/netconfig
index 643ba35d31b927d519176d8e2c0e88ec5b88b9bc..b207bd45a89dd65a7fccc0a60725e3ebf0953b64 100755
--- a/target/linux/brcm-2.4/base-files/etc/init.d/netconfig
+++ b/target/linux/brcm-2.4/base-files/etc/init.d/netconfig
@@ -105,6 +105,13 @@ start() {
 			c["wan_ifname"]=""
 		}
 
+		# Sitecom WL-105b
+		if ((nvram["boardum"] == "2") && \
+			(nvram["GemtekPmonVer"] == "1")) {
+			c["lan_ifname"]="eth0"
+			c["wan_ifname"]=""
+		}
+
 		# ASUS WL-700gE
 		# These are actually same as defaults above. For some reason this script applies
 		# Generic BCM94704 settings instead so we revert to proper settings here.
diff --git a/target/linux/brcm-2.4/base-files/etc/preinit.arch b/target/linux/brcm-2.4/base-files/etc/preinit.arch
index 43df591ab70f39a0fe7d81930a3961ed06d7bfd8..5127e6088b87ba2e35a41a7ba4f10d86bc7dc002 100755
--- a/target/linux/brcm-2.4/base-files/etc/preinit.arch
+++ b/target/linux/brcm-2.4/base-files/etc/preinit.arch
@@ -34,6 +34,7 @@ case "$(cat /proc/diag/model)" in
 	"ASUS WL-HDD") ifname=eth1;;
 	"ASUS WL-300g") ifname=eth1;;
 	"ASUS (unknown, BCM4702)") ifname=eth1;;
+	"Sitecom WL-105b") ifname=eth1;;
 esac
 
 failsafe_ip