[*] Emulating binary name: wps
[*] Emulator used: qemu-mipsel
[*] Using root directory: /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract (1/1)
[*] Using CPU config: NONE
[*] Emulating binary: /usr/sbin/wps

[*] Emulating binary ./usr/sbin/wps with parameter NONE
[*] Emulating binary ./usr/sbin/wps with parameter -v
[*] Emulating binary ./usr/sbin/wps with parameter -V
Using specified config file : /var/run/wps.config
WPS: wps is already running !!
./usr/sbin/wps: invalid option -- V
Usage: wps [OPTIONS]
  -h                  show this help message.
  -v                  verbose mode.
  -g                  generate a device password (PIN).
  -c {config file}    specify the config file for wps.
  -e {event}          specify the option string for wps.
  -s {usock name}     specify the usock name.

  Supported events are :
    setup             do the setup only.
    pre_setup         do the presetup only.
    eap:enrollee      An enrollee coming from EAP.
    eap:registrar     A registrar coming from EAP.
    upnp:gdi          GetDeviceInfo from UPnP CP.
    upnp:ssr          SetSelectedRegistrar from UPnP CP.
    int:pin           Start internal registrar for PIN.
    int:pbc           Start internal registrar for PBC.
[*] Emulating binary ./usr/sbin/wps with parameter -h
Usage: wps [OPTIONS]
  -h                  show this help message.
  -v                  verbose mode.
  -g                  generate a device password (PIN).
  -c {config file}    specify the config file for wps.
  -e {event}          specify the option string for wps.
  -s {usock name}     specify the usock name.

  Supported events are :
    setup             do the setup only.
    pre_setup         do the presetup only.
    eap:enrollee      An enrollee coming from EAP.
    eap:registrar     A registrar coming from EAP.
    upnp:gdi          GetDeviceInfo from UPnP CP.
    upnp:ssr          SetSelectedRegistrar from UPnP CP.
    int:pin           Start internal registrar for PIN.
    int:pbc           Start internal registrar for PBC.
[*] Emulating binary ./usr/sbin/wps with parameter -help
[*] Emulating binary ./usr/sbin/wps with parameter --help
Usage: wps [OPTIONS]
  -h                  show this help message.
  -v                  verbose mode.
  -g                  generate a device password (PIN).
  -c {config file}    specify the config file for wps.
  -e {event}          specify the option string for wps.
  -s {usock name}     specify the usock name.

  Supported events are :
    setup             do the setup only.
    pre_setup         do the presetup only.
    eap:enrollee      An enrollee coming from EAP.
    eap:registrar     A registrar coming from EAP.
    upnp:gdi          GetDeviceInfo from UPnP CP.
    upnp:ssr          SetSelectedRegistrar from UPnP CP.
    int:pin           Start internal registrar for PIN.
    int:pbc           Start internal registrar for PBC.
./usr/sbin/wps: invalid option -- -
Usage: wps [OPTIONS]
  -h                  show this help message.
  -v                  verbose mode.
  -g                  generate a device password (PIN).
  -c {config file}    specify the config file for wps.
  -e {event}          specify the option string for wps.
  -s {usock name}     specify the usock name.

  Supported events are :
    setup             do the setup only.
    pre_setup         do the presetup only.
    eap:enrollee      An enrollee coming from EAP.
    eap:registrar     A registrar coming from EAP.
    upnp:gdi          GetDeviceInfo from UPnP CP.
    upnp:ssr          SetSelectedRegistrar from UPnP CP.
    int:pin           Start internal registrar for PIN.
    int:pbc           Start internal registrar for PBC.
[*] Emulating binary ./usr/sbin/wps with parameter --version
[*] Emulating binary ./usr/sbin/wps with parameter version
./usr/sbin/wps: invalid option -- -
Usage: wps [OPTIONS]
  -h                  show this help message.
  -v                  verbose mode.
  -g                  generate a device password (PIN).
  -c {config file}    specify the config file for wps.
  -e {event}          specify the option string for wps.
  -s {usock name}     specify the usock name.

  Supported events are :
    setup             do the setup only.
    pre_setup         do the presetup only.
    eap:enrollee      An enrollee coming from EAP.
    eap:registrar     A registrar coming from EAP.
    upnp:gdi          GetDeviceInfo from UPnP CP.
    upnp:ssr          SetSelectedRegistrar from UPnP CP.
    int:pin           Start internal registrar for PIN.
    int:pbc           Start internal registrar for PBC.
WPS: wps is already running !!





For reproducing the EMBA user-mode emulation mechanism, the following commands could be used as starting point:

 - Start EMBA docker container with the firmware directory as log directory:
      # EMBA="." FIRMWARE="/home/runner/work/emba/emba/DIR-600_fw_revb5_214b01_ALL_de_20130122.zip" LOG="/absolute/path/to/EMBA/log/directory" docker-compose run emba

 - Change your working directory to the root directory of your firmware:
      # cd /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract

 - Copy the static compiled user-mode emulator to your current working directory
      # cp $(which qemu-mipsel) .

 - Start the emulation with the following command: 
      # jchroot  . -- ./qemu-mipsel ./usr/sbin/wps <parameters like -v or --help>

WARNING: EMBA is doing some more magic in the background. Probably it is not that easy, but give it a try.