Smartcom GE DB (ZBT-WG108) failure to install OpenWrt 24.10.5

Hello folks,

First of all, Happy New Year! All the best!

I am asking for help here as I have run out of other options.

I recently came across routers branded Smartcom GE DB, originally supplied by the ISP Vivacom and A1 in Bulgaria. Internally these devices appear to be ZBT-WG108 units with the exception that they lack the USB and card reader ports found on the retail models seen on the internet.

The routers ship with a custom ISP firmware. Since this firmware is no longer provided or supported by the ISP, I decided to try installing OpenWrt.

Flashing OpenWrt 24.10.5 from the stock web interface was not possible, which is expected because there is no compatible factory image.
My next step was to boot an initramfs kernel image via TFTP and then flash a sysupgrade image from there.

After flashing, the device fails to boot and reports LZMA ERROR 1.
For reference, I do have UART access.

At this point I am not certain what the underlying issue is, so I would appreciate any guidance.

As an additional test I flashed the ZBT OS (WG108_V21.08.06.bin) downloaded from:

This firmware boots successfully, but it is unstable: the router reboots randomly without any obvious reason, and no crash information is printed on the serial console. Flashing the current OpenWrt sysupgrade image also fails to flash from the ZBT OS gui with a message: incorrect file type.

The original OEM firmware is built with the following kernel:
Linux version 2.6.36 (root@bd7077da2eec) (gcc version 3.4.2) #1 SMP Sat Nov 26 08:11:34 UTC 2022
The device uses U-Boot 1.1.3 (Nov 7 2018 - 15:28:09), and uses the following MTD partition layout:

root@ralink# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 01000000 00010000 "ALL"
mtd1: 00030000 00010000 "Bootloader"
mtd2: 00010000 00010000 "Config"
mtd3: 00010000 00010000 "Factory"
mtd4: 00fb0000 00010000 "Kernel"

The ZBT OS (LEDE Reboot (17.01.7, r4030-6028f00df0)) kernel and MTD layout are different:

root@Router:/# uname -a
Linux Router 4.4.182 #0 SMP Thu Jun 20 10:53:53 2019 mips GNU/Linux
root@Router:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00030000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00010000 00010000 "factory"
mtd3: 00fa0000 00010000 "firmware"
mtd4: 00187635 00010000 "kernel"
mtd5: 00e189cb 00010000 "rootfs"
mtd6: 00730000 00010000 "rootfs_data"
mtd7: 00010000 00010000 "art"

Finally, this is the UART boot log after flashing 24.10.5:

U-Boot 1.1.3 (Nov  7 2018 - 15:28:09)

Board: Ralink APSoC DRAM:  128 MB
rt2880 uboot v0.00e04 05/25/2006
SERIAL_CLOCK_DIVISOR =16
kaiker,,CONFIG_BAUDRATE =57600
SDRAM SIZE:08000000
Top of RAM usable for U-Boot at: 88000000
Reserving 368k for U-Boot at: 87fa0000
Reserving 260k for malloc() at: 87f5f000
Reserving 44 Bytes for Board Info at: 87f5efd4
Reserving 36 Bytes for Global Data at: 87f5efb0
Reserving 128k for boot params() at: 87f3efb0
Stack Pointer at: 87f3ef98
relocate_code Pointer at: 87fa0000

Config XHCI 40M PLL
******************************
Software System Reset Occurred
******************************
Now running in RAM - U-Boot at: 87fa0000

 monitor_flash_len =154308
Command "rf": 0xbfc01f38 => 0x87fa1f38
Command "mdio": 0xbfc0be2c => 0x87fabe2c
Command "spi": 0xbfc0d948 => 0x87fad948
Command "erase": 0xbfc0d374 => 0x87fad374
Command "cp": 0xbfc0df50 => 0x87fadf50
Command "nand": 0xbfc133e8 => 0x87fb33e8
Command "reset": 0xbfc1c2cc => 0x87fbc2cc
Command "go": 0xbfc14c9c => 0x87fb4c9c
Command "bootm": 0xbfc150ec => 0x87fb50ec
Command "loadb": 0xbfc15c60 => 0x87fb5c60
Command "tftpboot": 0xbfc1627c => 0x87fb627c
Command "nm": 0xbfc16918 => 0x87fb6918
Command "mm": 0xbfc1697c => 0x87fb697c
Command "md": 0xbfc169e0 => 0x87fb69e0
Command "saveenv": 0xbfc16f58 => 0x87fb6f58
Command "setenv": 0xbfc17974 => 0x87fb7974
Command "printenv": 0xbfc16fa8 => 0x87fb6fa8
Command "?": 0xbfc17c48 => 0x87fb7c48
Command "help": 0xbfc17c48 => 0x87fb7c48
Command "version": 0xbfc17b08 => 0x87fb7b08
flash manufacture id: ef, device id 40 18
find flash: W25Q128BV
============================================
 UBoot Version: 1.0
--------------------------------------------
ASIC MT7621A DualCore (MAC to MT7530 Mode)
DRAM_CONF_FROM: Auto-Detection
DRAM_TYPE: DDR2
DRAM bus: 16 bit
Xtal Mode=3 OCP Ratio=1/4
Flash component: SPI Flash
Date:Nov  7 2018  Time:15:28:09
============================================
icache: sets:256, ways:4, linesz:32 ,total:32768
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 1000 MHZ ####
 estimate memory size =128 Mbytes
set LAN/WAN LLLLW

Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   5: Load system code then write to Flash via Httpd.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.                                  0

3: System Boot system code via Flash.
## Booting image at bfc50000 ...
   Image Name:   MIPS OpenWrt Linux-6.6.119
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    3183140 Bytes =  3 MB
   Load Address: 80001000
   Entry Point:  80001000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover
hxq:reset

The kernel size is wrong. When booting from TFTP into SDRAM, the kernel size is 6.9 MB.

I can provide additional logs from the serial console if needed.
Any help would be greatly appreciated.

Hi,

You can try to get to the bootloader via this trick : https://openwrt.org/toh/hwdata/zbt/zbt_we1326

Hold reset for 5 seconds at power on and access via 192.168.1.1

I think I have the same from A1. I flashed it with Openwrt for WG2626 and it worked well. I just added the kmods for the 5ghz. I do not have it handy now, but I can check my backups. First try to get to the bootloader.

Check this as well- in Bulgarian: http://dtv-bg.com/showthread.php?p=583938

Kr

K

Hi,

Thank you for the quick reply.
Just to be clear, you are suggesting that I flash the router by using the HTTP restore option in U-boot, by holding the reset button at power on. The image that I should try is the ZBT-WG2626 + kmods for the 5g radio? There is no factory image for this router either from the link that you provided.

I would appreciate if you could be a bit more specific.

My ultimate goal is to get the ZBT-WG108 firmware 24.10.5 flashed onto the device as it runs rock solid from SDRAM on it.

Thanks.

Sorry that I was not clear enough. Exactly from the restore option of the chinese bootboader. You may want to follow this wiki: https://openwrt.org/toh/zbtlink/wg2626

If succesfull you will notice that you just have 2,4 ghz wifi. Then add kmod for 5ghz.. to be honest - i forgot which one, but you can see in wiki.

At the end mine looked like that several years ago.. It can be saftly upgraded to latest version

Appologies but it was a long time ago I flashed it and I can not remember all steps.. but this was the way.

Kr

K

Opps sorry I missed that out- if you are sure it is WG108 and you ran it succesfull before.. than pls dissregard my comments and advises.

Hi,

I managed to flash the OpenWrt 24.10.5 sysupgrade image of the ZBT-WG2626 via the HTTP recovery onto the WG108, and it does boot successfully! :slight_smile:

Thanks for the help.

Just for the exercise, once the router booted, I logged in with SSH and tried once more to flash the WG108 image. Still got into the same LZMA ERROR 1 loop.

Anyway, I will play now with the WG2626 image and see how the router behaves/performs.

Still, it really bugs me what is with the WG108 image and why it refuses to boot! :smiley:

Thanks once more!

1 Like

Glad, that I helped!

Plese let me know if you manage to develop it further, as it sits by my parents in law:)

Поздрави!

1 Like

Btw it works with 24.10 if you update. I haven’t tried 25.12 - do not have access to the unit.

Kr

Yep. I only need to get the WiFi working now.
I saw some differences in the installed packages between the two images (WG2626 and WG108).
I will post my findings when I finish playing with the router. :slight_smile:

Current status:

root@OpenWrt:~# cat /etc/os-release
NAME="OpenWrt"
VERSION="24.10.5"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt 24.10.5"
VERSION_ID="24.10.5"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r29087-d9c5716d1d"
OPENWRT_BOARD="ramips/mt7621"
OPENWRT_ARCH="mipsel_24kc"
OPENWRT_TAINTS=""
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt 24.10.5 r29087-d9c5716d1d"
OPENWRT_BUILD_DATE="1766005702"
root@OpenWrt:~# cat /proc/version
Linux version 6.6.119 (builder@buildhost) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r29087-d9c5716d1d) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Wed Dec 17 21:08:22 2025
1 Like

So, after comparing the packages between the two images, here is the result:

Since the WG2626 has PCIe, SATA, it has packages which are not needed on the WG108, so I removed them.
The package to be installed for the WiFi to work is the kmod-mt7603, which was missing from the WG2626 image.

Once installed, reboot, and the driver is loaded successfully. The WiFi devices appeared right away:

root@OpenWrt:~# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.path='1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
wireless.radio0.band='5g'
wireless.radio0.channel='36'
wireless.radio0.htmode='VHT80'
wireless.radio0.disabled='1'
wireless.default_radio0=wifi-iface
wireless.default_radio0.device='radio0'
wireless.default_radio0.network='lan'
wireless.default_radio0.mode='ap'
wireless.default_radio0.ssid='OpenWrt'
wireless.default_radio0.encryption='none'
wireless.radio1=wifi-device
wireless.radio1.type='mac80211'
wireless.radio1.path='1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0'
wireless.radio1.band='2g'
wireless.radio1.channel='1'
wireless.radio1.htmode='HT20'
wireless.radio1.disabled='1'
wireless.default_radio1=wifi-iface
wireless.default_radio1.device='radio1'
wireless.default_radio1.network='lan'
wireless.default_radio1.mode='ap'
wireless.default_radio1.ssid='OpenWrt'
wireless.default_radio1.encryption='none'

This deserves a toast!
Cheers! :smiley:

1 Like

Haha, yes!

If you push it to OpenWrt, I guess the second market prices for this units will rise :slight_smile:.. well not sure happy or sad face for it.

Thanks!

Kr

K

1 Like

Let's recap the whole procedure to make it simple for whoever wants to use OpenWrt on this piece of hardware, which is not bad at all! :slight_smile:

Preparation:

  1. Download the WG2626 sysupgrade image. At the time of writing, I used this link:
    https://downloads.openwrt.org/releases/24.10.5/targets/ramips/mt7621/openwrt-24.10.5-ramips-mt7621-zbtlink_zbt-wg2626-squashfs-sysupgrade.bin

  2. Connect your computer to one of the LAN ports (yellow). Do not connect the router to the internet (blue port)!

  3. Enter the following IP address on your computer's network interface: 192.168.1.50 (Any address besides 192.168.1.1 works too)

Update process:

  1. On a powered off router, press and hold the reset button, power up the router and keep holding the reset button until you see the LED of the LAN port lit. Release the reset button. (If you have UART, this is equivalent to selecting Option 5 in the U-boot menu in the serial console)

  2. Open a private window in Firefox or Chrome (to bypass the local cache) and navigate to the following address: 192.168.1.1. You will see the following webpage:

  3. Browse and select the downloaded image file, then press the button "Update firmware".
    Wait about a minute, then refresh the webpage. You should see LuCI Login screen.

  4. Connect the router to the internet. Now we need to remove the unnecessary kernel modules from the WG2626 image by uninstalling several packages, then install the packages with the required modules for the WG108 (WiFi and USB).

  5. Open an SSH console and connect to 192.168.1.1. Login with root, no password (yet).

  6. Make sure you are connected to the internet, ping a known host or IP to verify.

  7. After the update, you should see only one WiFi interface, which is normal. We still don't have the correct WiFi kernel module installed:
    # uci show wireless
    You should see the following output:

wireless.radio0.type='mac80211'
wireless.radio0.path='1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
wireless.radio0.band='5g'
wireless.radio0.channel='36'
wireless.radio0.htmode='VHT80'
wireless.radio0.disabled='1'
wireless.default_radio0=wifi-iface
wireless.default_radio0.device='radio0'
wireless.default_radio0.network='lan'
wireless.default_radio0.mode='ap'
wireless.default_radio0.ssid='OpenWrt'
wireless.default_radio0.encryption='none'
  1. Update the package list:
    # okpg update

  2. Remove the following packages:
    # opkg remove kmod-ata-ahci kmod-ata-core kmod-scsi-core kmod-usb-ledtrig-usbport

  3. Install the following packages:
    # opkg install kmod-mt7603 kmod-usb-ehci kmod-usb2
    Note: The USB packages are optional as the Smartcom router lacks the USB port, unless you want to solder it yourself, along with the 2 small SMD capacitors on the data lines. (not tested!)

  4. Reboot the router.

  5. This is all. You should now have both WiFi interfaces ready to go. It is time to configure your router -> RTM. :slight_smile:

Note: The 5 GHz LED is not working, which is a negligible inconvenience.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.