Wilibox WBD-111

This device is NOT RECOMMENDED for future use with OpenWrt due to low flash/ram.
DO NOT BUY DEVICES WITH 4MB FLASH / 32MB RAM if you intend to flash an up-to-date and secure OpenWrt version onto it! See 4/32 warning for details.

1) This device does not have sufficient resources (flash and/or RAM) to provide secure and reliable operation.
This means that even setting a password or changing simple network settings might not be possible any more, rendering the device effectively useless. See OpenWrt on 4/32 devices what you can do now.

2) OpenWrt support for this device has ended in 2022.
19.07.10 was the last official build for 4/32 devices.

Small board (81x91mm) with minipci module.

Version/Model Launch Date S/N OpenWrt Version Supported Model Specific Notes
v1 ? - trunk -
v1 Teltonika RUT104 ? - r29967 contains a Option GTM-382 GSM/3G Modem and a WLM54G Wireless LAN MiniPCI Adapter
v2 ? - trunk -

FIXME How is “Teltonika RUT104” related to Wiligear WBD-111? Please explain in a short sentence.

Install OpenWrt (generic explanation)

This device works with gemini images. If you would like to use USB ports you should recompile yourself following the OpenWrt howto and customize the kernel as described here.

This section deals with how you install OpenWrt from a device freshly opened. Plus the steps required such as reset to factory defaults if the device has already been configured

Note: Reset router to factory defaults if it has been previously configured.

  • Browse to
  • Upload .bin file to router
  • Wait for it to reboot
  • Telnet to and set a root password, or browse to if LuCI is installed.
  • Set your PC's IP to
  • Open a TFTP server and place in his root the image with this name: fwupdate.bin
  • Power-on your WBD-111 holding reset button
  • Wait about a minute per megabyte (default image 3-4minutes)

If you have attached a serial interface, be aware that the speed of the serial Port ist switched to 9600N81 on kernel boot. This only happens for kernel boot's directly after flashing the router via TFTP (very likely a uboot bug).


If you have already installed OpenWrt and like to reflash for e.g. upgrading to a new OpenWrt version you CANNOT upgrade using the mtd command line tool. You should go back to the original firmware, then “upgrade” with the new image.

LuCI Web Upgrade Process

Not possible.

Terminal Upgrade Process

Manual Update using mtd works, you have to write the kernel image and the squashfs image in two steps:

  1. Upload the kernel Image an the squashfs image:
    $ scp bin/gemini/openwrt-gemini-wbd111-zImage bin/gemini/openwrt-gemini-squashfs.img
  2. Write the Kernel Image:
    root@OpenWrt:/# mtd write /tmp/openwrt-gemini-wbd111-zImage kernel
  3. Write the SquashFs Image:
    root@OpenWrt:/# mtd write /tmp/openwrt-gemini-squashfs.img rootfs
  4. reboot

:!: You will most likely loose your config, since the rootfs_data will most likely overwritten

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

The default network configuration is:

Interface Name Description Default configuration
br-lan LAN & WiFi
eth0 LAN port None
wlan0 WiFi Disabled


If you forgot your password, broken one of the startup scripts, firewalled yourself or corrupted the JFFS2 partition, you can get back in by using OpenWrt's failsafe mode.

Boot into failsafe mode


  • Unplug the router's power cord.
  • Connect the router's LAN1 port directly to your PC.
  • Configure your PC with a static IP address between and E. g. (gateway and DNS is not required).
  • Plug the power on and wait for the DMZ LED to light up.
  • While the DMZ LED is on immediately press any button (Reset and Secure Easy Setup will work) a few times .
  • If done right the DMZ LED will quickly flash 3 times every second.
  • You should be able to telnet to the router at now (no username and password)

What to do in failsafe mode?

NOTE: The root file system in failsafe mode is the SquashFS partition mounted in readonly mode. To switch to the normal writable root file system run mount_root and make any changes. Run mount_root now.

  1. Forgot/lost your password and you like to set a new one
  2. Forgot the routers IP address
    uci get network.lan.ipaddr
  3. You accidentally run 'ipkg upgrade' or filled up the flash by installing to big packages (clean the JFFS2 partition and start over)
    mtd -r erase rootfs_data

If you are done with failsafe mode power cycle the router and boot in normal mode.

Architecture ARM
Vendor StorLink
Bootloader RedBoot
System-On-Chip ?
CPU/Speed 300MHz ARM920 CPU
Flash-Chip ?
Flash size 8192 KiB
RAM 32 MiB
Wireless Not included
Ethernet 1*100MBit
USB Yes 1 x 2.0
Serial Yes

More infos here

These are some photos of a mdex RUT 104, with a hardware modification for a serial console

FIXME: How is “RUT104” related to Wiligear WBD-111? Do they have the same hardware? Please explain in a short sentence.


Left to right:

  • Reset Micro Switch behind the plastic casing
  • Green GSM LED
  • 100 MBit LAN Port
  • Green LAN LED
  • SIM Card Slot
  • Green Power LED
  • Power Connector, 3.9mm outer diameter, 1.1mm inner diameter. Polarity does not matter, the board has a bridge rectifier build in the power input


Left to Right:

  • WLAN Main
  • GSM Main
  • Hardware modification: 2,5mm TRS connector for a 3.3 Volt serial console
  • GSM AUX or GPS Antenna (depending on the GSM module settings)

Note: This will void your warranty!

  • To remove the cover you should simlpy unscrew the 4 screws!

Main PCB

port.serial general information about the serial port, serial port cable, etc.

How to connect to the Serial Port of this specific device:

The Serial connection can soldereded to J4, the connector on the top of the PCB photo's.

Pin colour What
A1 white UART TX
A3 grey Ground
B1 yellow UART RX

port.jtag general information about the JTAG port, JTAG cable, etc.

As far as known, the platform has no JTAG interface.


[17179569.184000] Linux version (buildd2@builder) (gcc version 4.2.1 (http://www.wilibox.com)) #1 Wed Aug 25 05:04:56 EEST 2010 [17179569.184000] CPU: FA526id(wb) [66015261] revision 1 (ARMv4), cr=0000397f [17179569.184000] Machine: GeminiA [17179569.184000] Warning: bad configuration page, trying to continue [17179569.184000] Ignoring unrecognised tag 0x00000000 [17179569.184000] Memory policy: ECC disabled, Data cache writeback [17179569.184000] On node 0 totalpages: 8192 [17179569.184000] DMA zone: 8192 pages, LIFO batch:1 [17179569.184000] CPU0: D VIVT write-back cache [17179569.184000] CPU0: I cache: 16384 bytes, associativity 2, 16 byte lines, 512 sets [17179569.184000] CPU0: D cache: 8192 bytes, associativity 2, 16 byte lines, 256 sets [17179569.184000] Built 1 zonelists. Total pages: 8192 [17179569.184000] Kernel command line: root=/dev/mtdblock2 console=ttySL0,19200 init=/linuxrc mem=32M loglevel=1 [17179569.184000] PID hash table entries: 256 (order: 8, 1024 bytes) [17179569.184000] Bus: 150MHz(2/1) [17179569.184000] sl2312 console setup : [17179569.184000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [17179569.184000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [17179569.188000] Memory: 32MB = 32MB total [17179569.188000] Memory: 30356KB available (1616K code, 314K data, 72K init) [17179569.188000] Calibrating delay loop... 229.88 BogoMIPS (lpj=459776) [17179569.276000] Mount-cache hash table entries: 512 [17179569.276000] CPU: Testing write buffer coherency: ok [17179569.280000] NET: Registered protocol family 16 [17179569.284000] PCI: bus0: Fast back to back transfers disabled [17179569.288000] usbcore: registered new driver usbfs [17179569.288000] usbcore: registered new driver hub [17179569.292000] NET: Registered protocol family 2 [17179569.328000] IP route cache hash table entries: 256 (order: -2, 1024 bytes) [17179569.328000] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [17179569.328000] TCP bind hash table entries: 512 (order: -1, 2048 bytes) [17179569.328000] TCP: Hash tables configured (established 1024 bind 512) [17179569.328000] TCP reno registered [17179569.328000] NetWinder Floating Point Emulator V0.97 (double precision) [17179569.332000] squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher [17179569.332000] squashfs: LZMA suppport for slax.org by jro [17179569.336000] JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc. [17179569.336000] Initializing Cryptographic API [17179569.336000] io scheduler noop registered (default) [17179569.336000] SL351x Watchdog Timer, (c) 2007 WILIBOX [17179569.336000] sl351x-wdt: Found watchdog in enabled state, reseting ... [17179569.340000] drivers/char/gemini_gpio_dev.c: GPIO driver loaded [17179569.340000] ttySL0 at MMIO 0x42000000 (irq = 18) is a SL2312 [17179569.344000] gemini-gmac gemini-gmac.0: Found PHY id=0x1, vendor=0x221513 [17179569.344000] gemini-gmac gemini-gmac.0: No phy found with ID '0x3' [17179569.344000] gemini-gmac gemini-gmac.0: Gemini Ethernet driver 0.2 [17179569.344000] SL2312 MTD Driver Init....... [17179569.360000] SL2312 CFI Flash: Found 1 x16 devices at 0x0 in 16-bit bank [17179569.360000] SL2312 CFI Flash: Found an alias at 0x800000 for the chip at 0x0 [17179569.360000] Amd/Fujitsu Extended Query Table at 0x0040 [17179569.360000] number of CFI chips: 1 [17179569.360000] cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. [17179569.360000] Creating 7 MTD partitions on "SL2312 CFI Flash": [17179569.360000] 0x00000000-0x00020000 : "RedBoot" [17179569.360000] 0x00020000-0x00120000 : "Kernel" [17179569.364000] 0x00120000-0x00620000 : "Ramdisk" [17179569.364000] 0x00620000-0x007c0000 : "etc" [17179569.368000] 0x007c0000-0x007d0000 : "VCTL" [17179569.368000] 0x007d0000-0x007f0000 : "cfg" [17179569.372000] 0x007f0000-0x00800000 : "FIS directory" [17179569.372000] SL2312 MTD Driver Init Success ...... [17179569.372000] Found Faraday OTG 2XX controller (base = 0x68000000) [17179569.372000] ehci-hcd-FOTG2XX ehci-hcd-FOTG2XX.1: FOTG2XX EHCI Host Controller [17179569.372000] ehci-hcd-FOTG2XX ehci-hcd-FOTG2XX.1: new USB bus registered, assigned bus number 1 [17179569.372000] ehci-hcd-FOTG2XX ehci-hcd-FOTG2XX.1: irq 10, io mem 0x68000000 [17179569.372000] ehci-hcd-FOTG2XX ehci-hcd-FOTG2XX.1: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004 [17179569.372000] USB OTG2xx role detected: Host, A-Device [17179569.372000] USB OTG2xx role detected: Host, A-Device [17179569.372000] VBUS enabled. [17179569.376000] VBUS already enabled [17179569.376000] usb usb1: configuration #1 chosen from 1 choice [17179569.376000] hub 1-0:1.0: USB hub found [17179569.376000] hub 1-0:1.0: 1 port detected [17179569.480000] Registered led device: LED1 [17179569.480000] Registered led device: LED2 [17179569.480000] Registered led device: LED3 [17179569.484000] Registered led device: LED4 [17179569.484000] Registered led device: LED5 [17179569.484000] Registered led device: LED6 [17179569.484000] TCP bic registered [17179569.484000] NET: Registered protocol family 1 [17179569.492000] VFS: Mounted root (squashfs filesystem) readonly. [17179569.492000] Freeing init memory: 72K [17179573.668000] wlan: (svn r29899) [17179573.820000] wlan: mac acl policy registered [17179574.024000] ath_hal: module license 'Proprietary' taints kernel. [17179574.048000] ath_hal: (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413, REGOPS_FUNC) [17179574.112000] ath_rate_sample: 1.2 (svn r29899) [17179574.340000] ath_pci: (svn r29899) [17179574.344000] PCI: enabling device 0000:00:0c.0 (0140 -> 0142) [17179575.056000] ath_find_eeprom: macaddr location in hal found at c02826a8 offset from last chan 6788 [17179575.056000] ath_print_eeprom: mac: 00:0b:6b:22:8a:a9, version 0x5003, regdomain 0x0 A/B/G=1/1/1 [17179575.056000] ath_print_eeprom: antennaGain= 0x1/0x1 [17179575.056000] ath_print_eeprom: cntls:0x10:0x13:0x11:0x12:0x14:0x40:0x41:0x42:0x30:0x31:0x32:0x34:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0:0x0 [17179575.064000] wifi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps [17179575.064000] wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps [17179575.064000] wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps [17179575.064000] wifi0: turboA rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps [17179575.064000] wifi0: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps [17179575.064000] wifi0: H/W encryption support: WEP AES AES_CCM TKIP [17179575.064000] wifi0: mac 10.5 phy 6.1 radio 6.3 [17179575.064000] wifi0: Use hw queue 1 for WME_AC_BE traffic [17179575.064000] wifi0: Use hw queue 0 for WME_AC_BK traffic [17179575.064000] wifi0: Use hw queue 2 for WME_AC_VI traffic [17179575.064000] wifi0: Use hw queue 3 for WME_AC_VO traffic [17179575.064000] wifi0: Use hw queue 8 for CAB traffic [17179575.064000] wifi0: Use hw queue 9 for beacons [17179575.064000] wifi0: TX99 support enabled [17179575.064000] wifi0: Atheros 5212: mem=0x58000000, irq=67 [17179575.560000] sl351x-wdt: watchog timer enabled, margin: 60s. [17179577.188000] PHY[0]: link=0, autong=1, duplex=0, speed=10 [17179577.416000] NET: Registered protocol family 17 [17179579.700000] PHY[0]: link=1, autong=1, duplex=1, speed=100 [17179581.596000] PHY[0]: link=1, autong=1, duplex=1, speed=100 [17179583.788000] Bridge firewalling registered [17179584.060000] device eth0 entered promiscuous mode [17179584.172000] device ath0 entered promiscuous mode [17179584.236000] br0: port 2(ath0) entering learning state [17179585.236000] br0: topology change detected, propagating [17179585.236000] br0: port 2(ath0) entering forwarding state [17179586.460000] PHY[0]: link=1, autong=1, duplex=1, speed=100 [17179586.536000] process `snmpd' is using obsolete setsockopt SO_BSDCOMPAT [17179586.568000] br0: port 1(eth0) entering learning state [17179587.492000] Ebtables v2.0 registered [17179587.568000] br0: topology change detected, propagating [17179587.568000] br0: port 1(eth0) entering forwarding state

  • prepare your kernel (this step is uncommon, but it's indispensable for wbd-111):
make kernel_menuconfig

In this step you should include the right usb drivers:

**Device Drivers --->**
**USB support --->**
Mark as "built in" (*) **Support for Host-side USB**
Mark as "built in" (*) **EHCI HCD (USB 2.0) support**
esc-esc esc-esc... save!

To check if you have selected the correct driver after flashing image

dmesg | grep -i ehci-fotg2xx

should return

ehci-fotg2xx ehci-fotg2xx.0: Found Faraday OTG 2XX controller (base = 0x68000000)
ehci-fotg2xx ehci-fotg2xx.0: FOTG2XX EHCI Host Controller
ehci-fotg2xx ehci-fotg2xx.0: new USB bus registered, assigned bus number 1
ehci-fotg2xx ehci-fotg2xx.0: irq 10, io mem 0x68000000
ehci-fotg2xx ehci-fotg2xx.0: USB 0.0 started, EHCI 1.00, overcurrent ignored
ehci-fotg2xx ehci-fotg2xx.0: role detected: Host, 
ehci-fotg2xx ehci-fotg2xx.0: A-Device
ehci-fotg2xx ehci-fotg2xx.0: role detected: Host, 
ehci-fotg2xx ehci-fotg2xx.0: A-Device
usb 1-1: new high speed USB device using ehci-fotg2xx and address 2

Enable hso (3g modem) support

  • Select hso module in make_menuconfig:
**Kernel modules  --->**
**USB Support  --->**
Mark as "built in" (*) **kmod-usb-net**
Mark as "built in" (*) **kmod-usb-net-hso**
Mark as "built in" (*) **kmod-usb-serial**
Mark as "built in" (*) **kmod-usb-serial-option**
esc-esc esc-esc... save!
  • Select PCCARD Bus support in make kernel_menuconfig:
**Bus support  --->**
Mark as "built in" (*) **PCI support**
Mark as "built in" (*) **PCCard (PCMCIA/CardBus) support  --->**
**PCCard (PCMCIA/CardBus) support  --->**
Mark as "built in" (*) **32-bit CardBus support**
esc-esc esc-esc... save!

Add built-in hso comgt support

  • Download and apply the patch to openwrt sources attached in this ticket.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/02/12 08:58
  • by