[*] Emulating binary name: rdisc6
[*] 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/rdisc6
[*] Emulating binary ./usr/sbin/rdisc6 with parameter NONE
[*] Emulating binary ./usr/sbin/rdisc6 with parameter -v
NONE: No such device
Remove timer
[*] Emulating binary ./usr/sbin/rdisc6 with parameter -V
Try "./usr/sbin/rdisc6 -h" for more information.
[*] Emulating binary ./usr/sbin/rdisc6 with parameter -h
ndisc6: IPv6 Neighbor/Router Discovery userland tool 0.9.9 ($Rev: 625 $)
built Oct 10 2012 on localhost
Configured with: ./configure '--build=i386-linux' '--host=mipsel-linux' 'CFLAGS=-Os -Wall -D__UCLIBC_HAS_MMU__ -D__UCLIBC__ -std=c99' 'build_alias=i386-linux' 'host_alias=mipsel-linux'
Written by Remi Denis-Courmont
Copyright (C) 2004-2007 Remi Denis-Courmont
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
[*] Emulating binary ./usr/sbin/rdisc6 with parameter -help
Usage: ./usr/sbin/rdisc6 [options] [IPv6 address] <interface>
Solicits on-link IPv6 routers (Router Discovery)
-1, --single display first response and exit
-h, --help display this help and exit
-m, --multiple wait and display all responses
-n, --numeric don't resolve host names
-q, --quiet only print the advertised prefixes (mainly for scripts)
-r, --retry maximum number of attempts (default: 3)
-V, --version display program version and exit
-v, --verbose verbose display (this is the default)
-c, --config config file
-e, --eui64 eui64
-w, --wait how long to wait for a response [ms] (default: 1000)
[*] Emulating binary ./usr/sbin/rdisc6 with parameter --help
Usage: ./usr/sbin/rdisc6 [options] [IPv6 address] <interface>
Solicits on-link IPv6 routers (Router Discovery)
-1, --single display first response and exit
-h, --help display this help and exit
-m, --multiple wait and display all responses
-n, --numeric don't resolve host names
-q, --quiet only print the advertised prefixes (mainly for scripts)
-r, --retry maximum number of attempts (default: 3)
-V, --version display program version and exit
-v, --verbose verbose display (this is the default)
-c, --config config file
-e, --eui64 eui64
-w, --wait how long to wait for a response [ms] (default: 1000)
[*] Emulating binary ./usr/sbin/rdisc6 with parameter --version
Usage: ./usr/sbin/rdisc6 [options] [IPv6 address] <interface>
Solicits on-link IPv6 routers (Router Discovery)
-1, --single display first response and exit
-h, --help display this help and exit
-m, --multiple wait and display all responses
-n, --numeric don't resolve host names
-q, --quiet only print the advertised prefixes (mainly for scripts)
-r, --retry maximum number of attempts (default: 3)
-V, --version display program version and exit
-v, --verbose verbose display (this is the default)
-c, --config config file
-e, --eui64 eui64
-w, --wait how long to wait for a response [ms] (default: 1000)
[*] Emulating binary ./usr/sbin/rdisc6 with parameter version
ndisc6: IPv6 Neighbor/Router Discovery userland tool 0.9.9 ($Rev: 625 $)
built Oct 10 2012 on localhost
Configured with: ./configure '--build=i386-linux' '--host=mipsel-linux' 'CFLAGS=-Os -Wall -D__UCLIBC_HAS_MMU__ -D__UCLIBC__ -std=c99' 'build_alias=i386-linux' 'host_alias=mipsel-linux'
Written by Remi Denis-Courmont
Copyright (C) 2004-2007 Remi Denis-Courmont
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
version: No such device
Remove timer
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/rdisc6 <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.