Hi,
I am trying to compile firmware for this modem.I get GPL source code from offical dlink site.I installed ubuntu 14.04 as directed in readme file.
Readme from GPL package:
Introduction
This file will show you how to build the DSL-2888A working FW.
The workstation we used to build the image is:
OS Version:Ubuntu 14.04(64-bit version)
OS Kernel Version: 4.8.4
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 #must intall GCC before comply
The workstation LAB used to build the image is:
Linux Version:Ubuntu 14.04(64-bit version)
Procedure: (~# means command)
Setp1. Check fakeroot command
(Make sure your username have sudo authority.)
~# su your_username (Use the sudo account to install)
~# password: (Input the password)
~# cd
~# cp /tmp/dsl-2888a.tar.gz ./dsl-2888a.tar.gz
~# tar -zxvf dsl-2888a.tar.gz
~# cd dsl-2888a
~# make
You can find image in ./dsl-2888a/bin/VSPM3XX/
The image "DSL-2888A_AU_2.31_V1.1.47ae53-Image-all.bin" is for upgrading firmware via Device Web GUI. You can see the firmware version is "AU_2.31" in Web of "Device Info".
but i am getting toolchain error which seems odd:
user@ubuntu:~/Desktop$ cd dsl-2888a/
user@ubuntu:~/Desktop/dsl-2888a$ make menuconfig
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'getopt'... ok.
Checking 'fileutils'... ok.
Checking 'working-gcc'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... ok.
Checking 'zlib'... ok.
Checking 'gawk'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'patch'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'wget'... ok.
Checking 'git'... ok.
Checking 'gnutar'... ok.
Checking 'svn'... ok.
Checking 'gnu-find'... ok.
Checking 'getopt-extended'... ok.
Checking 'non-root'... ok.
ERROR: please fix package/triphone/Makefile - see logs/package/triphone/dump.txt for details
Collecting package info: done
Collecting platform info: done
Collecting project info: done
Collecting target info: done
tmp/.config-target.in:21:warning: config symbol defined without type
tmp/.config-package.in:88:warning: 'select' used by config symbol 'PACKAGE_button_led' refer to undefined symbol 'TARGET_GS6xxx'
tmp/.config-package.in:89:warning: 'select' used by config symbol 'PACKAGE_button_led' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:124:warning: 'select' used by config symbol 'PACKAGE_dect' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:624:warning: 'select' used by config symbol 'PACKAGE_tr143' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7132:warning: 'select' used by config symbol 'PACKAGE_neighevent' refer to undefined symbol 'PACKAGE_iproute2'
tmp/.config-package.in:7133:warning: 'select' used by config symbol 'PACKAGE_neighevent' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7136:warning: 'select' used by config symbol 'PACKAGE_neighevent' refer to undefined symbol 'TARGET_GS6xxx'
tmp/.config-package.in:7397:warning: 'select' used by config symbol 'PACKAGE_uhttpd' refer to undefined symbol 'PACKAGE_libnvram'
tmp/.config-package.in:7480:warning: 'select' used by config symbol 'PACKAGE_libcfg' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7482:warning: 'select' used by config symbol 'PACKAGE_libcfg' refer to undefined symbol 'TARGET_GS6xxx'
tmp/.config-package.in:7510:warning: 'select' used by config symbol 'PACKAGE_libmxml' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7511:warning: 'select' used by config symbol 'PACKAGE_libmxml' refer to undefined symbol 'TARGET_GS6xxx'
tmp/.config-package.in:7522:warning: 'select' used by config symbol 'PACKAGE_libtds' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7524:warning: 'select' used by config symbol 'PACKAGE_libtds' refer to undefined symbol 'TARGET_GS6xxx'
tmp/.config-package.in:7641:warning: 'select' used by config symbol 'PACKAGE_kmod-donglecallback' refer to undefined symbol 'TARGET_VSPM310_mini'
tmp/.config-package.in:7642:warning: 'select' used by config symbol 'PACKAGE_kmod-donglecallback' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7651:warning: 'select' used by config symbol 'PACKAGE_kmod-flowaccel' refer to undefined symbol 'TARGET_VSPM310_mini'
tmp/.config-package.in:7652:warning: 'select' used by config symbol 'PACKAGE_kmod-flowaccel' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7661:warning: 'select' used by config symbol 'PACKAGE_kmod-phycallback' refer to undefined symbol 'TARGET_VSPM310_mini'
tmp/.config-package.in:7662:warning: 'select' used by config symbol 'PACKAGE_kmod-phycallback' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7671:warning: 'select' used by config symbol 'PACKAGE_kmod-trigpio' refer to undefined symbol 'TARGET_VSPM310_mini'
tmp/.config-package.in:7672:warning: 'select' used by config symbol 'PACKAGE_kmod-trigpio' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7681:warning: 'select' used by config symbol 'PACKAGE_kmod-trikmod' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7682:warning: 'select' used by config symbol 'PACKAGE_kmod-trikmod' refer to undefined symbol 'TARGET_VSPM310_mini'
tmp/.config-package.in:7718:warning: 'select' used by config symbol 'PACKAGE_tridsllib' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:7720:warning: 'select' used by config symbol 'PACKAGE_tridsllib' refer to undefined symbol 'TARGET_VSPM310_mini'
tmp/.config-package.in:17235:warning: 'select' used by config symbol 'PACKAGE_libtm' refer to undefined symbol 'TARGET_GS6xxx'
tmp/.config-package.in:17236:warning: 'select' used by config symbol 'PACKAGE_libtm' refer to undefined symbol 'TARGET_VSPM310'
tmp/.config-package.in:18264:warning: 'select' used by config symbol 'PACKAGE_petitboot' refer to undefined symbol 'PACKAGE_kexec-tools'
tmp/.config-package.in:25947:warning: 'select' used by config symbol 'PACKAGE_maemo-kexec' refer to undefined symbol 'PACKAGE_kexec-tools'
tmp/.config-package.in:50285:warning: 'select' used by config symbol 'PACKAGE_matrixtunnel' refer to undefined symbol 'PACKAGE_libmatrixssl'
Warning! Found recursive dependency: PACKAGE_dect PACKAGE_libcfg PACKAGE_libmxml PACKAGE_dect
#
# using defaults found in .config
#
*** End of OpenWrt configuration.
*** Execute 'make' to build the OpenWrt or try 'make help'.
user@ubuntu:~/Desktop/dsl-2888a$ make -j4
ERROR: please fix package/triphone/Makefile - see logs/package/triphone/dump.txt for details
Collecting package info: done
make[1] world
make[2] tools/install
make[2] package/cleanup
make[3] -C tools/m4 compile
make[3] -C tools/xz compile
make[3] -C tools/sed compile
make[3] -C tools/mklibs compile
make[3] -C tools/sstrip compile
make[3] -C tools/ipkg-utils compile
make[3] -C tools/genext2fs compile
make[3] -C tools/firmware-utils compile
make[3] -C tools/patch-image compile
make[3] -C tools/yaffs2 compile
make[3] -C tools/flock compile
make[3] -C tools/padjffs2 compile
make[3] -C tools/cmake compile
make[3] -C tools/scons compile
make[3] -C tools/lzma compile
make[3] -C tools/vspmxxx-mkimage compile
make[3] -C tools/default2nvram compile
make[3] -C tools/sed install
make[3] -C tools/mklibs install
make[3] -C tools/sstrip install
make[3] -C tools/ipkg-utils install
make[3] -C tools/genext2fs install
make[3] -C tools/mkimage compile
make[3] -C tools/firmware-utils install
make[3] -C tools/patch-image install
make[3] -C tools/yaffs2 install
make[3] -C tools/flock install
make[3] -C tools/padjffs2 install
make[3] -C tools/scons install
make[3] -C tools/lzma install
make[3] -C tools/vspmxxx-mkimage install
make[3] -C tools/default2nvram install
make[3] -C tools/libtool compile
make[3] -C tools/pkg-config compile
make[3] -C tools/xz install
make[3] -C tools/mkimage install
make[3] -C tools/squashfs4 compile
make[3] -C tools/m4 install
make[3] -C tools/squashfs4 install
make[3] -C tools/flex compile
make[3] -C tools/libtool install
make[3] -C tools/autoconf compile
make[3] -C tools/flex install
make[3] -C tools/autoconf install
make[3] -C tools/quilt compile
make[3] -C tools/bison compile
make[3] -C tools/quilt install
make[3] -C tools/pkg-config install
make[3] -C tools/automake compile
make[3] -C tools/automake install
make[3] -C tools/e2fsprogs compile
make[3] -C tools/mm-macros compile
make[3] -C tools/xorg-macros compile
make[3] -C tools/xfce-macros compile
make[3] -C tools/missing-macros compile
make[3] -C tools/mm-macros install
make[3] -C tools/xorg-macros install
make[3] -C tools/xfce-macros install
make[3] -C tools/missing-macros install
make[3] -C tools/e2fsprogs install
make[3] -C tools/mtd-utils compile
make[3] -C tools/bison install
make[3] -C tools/mtd-utils install
make[3] -C tools/cmake install
make[2] toolchain/install
make[3] -C toolchain/wrapper prepare
make -r world: build failed. Please re-run make with V=s to see what's going on
make: *** [world] Error 1
user@ubuntu:~/Desktop/dsl-2888a$ make -j4 V=s
ERROR: please fix package/triphone/Makefile - see logs/package/triphone/dump.txt for details
Collecting package info: done
make[1]: Entering directory `/home/user/Desktop/dsl-2888a'
make[2]: Entering directory `/home/user/Desktop/dsl-2888a'
+ mkdir -p /home/user/Desktop/dsl-2888a/staging_dir/target-arm-hsan-linux-uclibcgnueabi
+ cd /home/user/Desktop/dsl-2888a/staging_dir/target-arm-hsan-linux-uclibcgnueabi
+ mkdir -p bin lib include stamp
mkdir -p /home/user/Desktop/dsl-2888a/build_dir/target-arm-hsan-linux-uclibcgnueabi/stamp
touch /home/user/Desktop/dsl-2888a/staging_dir/target-arm-hsan-linux-uclibcgnueabi/.prepared
make[3]: Entering directory `/home/user/Desktop/dsl-2888a/toolchain/wrapper'
Testing external toolchain for softfloat support ... make[2]: Entering directory `/home/user/Desktop/dsl-2888a'
rm -rf /home/user/Desktop/dsl-2888a/staging_dir/target-arm-hsan-linux-uclibcgnueabi/root-VSPM3XX
failed
ERROR: CONFIG_SOFT_FLOAT is enabled but the external toolchain does not support it
make[3]: *** [/home/user/Desktop/dsl-2888a/build_dir/toolchain-arm-hsan-linux-uclibcgnueabi/wrapper-1/.prepared] Error 1
make[3]: Leaving directory `/home/user/Desktop/dsl-2888a/toolchain/wrapper'
make[2]: *** [toolchain/wrapper/prepare] Error 2
make[2]: Leaving directory `/home/user/Desktop/dsl-2888a'
make[2]: Leaving directory `/home/user/Desktop/dsl-2888a'
make[1]: *** [/home/user/Desktop/dsl-2888a/staging_dir/toolchain-arm-hsan-linux-uclibcgnueabi/stamp/.toolchain_install] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/user/Desktop/dsl-2888a'
make: *** [world] Error 2
user@ubuntu:~/Desktop/dsl-2888a$
After this error(ERROR: CONFIG_SOFT_FLOAT is enabled but the external toolchain does not support it/) happened i removed soft float from menuconfig in target options.Then retried make:
user@ubuntu:~/Desktop/dsl-2888a$ make -j4
ERROR: please fix package/triphone/Makefile - see logs/package/triphone/dump.txt for details
Collecting package info: done
make[1] world
make[2] package/cleanup
make[2] toolchain/install
make[3] -C toolchain/wrapper prepare
make[3] -C toolchain/wrapper compile
make[3] -C toolchain/wrapper install
make[2] target/compile
make[3] -C target/linux compile
make -r world: build failed. Please re-run make with V=s to see what's going on
make: *** [world] Error 1
user@ubuntu:~/Desktop/dsl-2888a$ make -j4 V=s
ERROR: please fix package/triphone/Makefile - see logs/package/triphone/dump.txt for details
Collecting package info: done
make[1]: Entering directory `/home/user/Desktop/dsl-2888a'
make[2]: Entering directory `/home/user/Desktop/dsl-2888a'
rm -rf /home/user/Desktop/dsl-2888a/staging_dir/target-arm-hsan-linux-uclibcgnueabi/root-VSPM3XX
make[2]: Leaving directory `/home/user/Desktop/dsl-2888a'
make[2]: Entering directory `/home/user/Desktop/dsl-2888a'
make[3]: Entering directory `/home/user/Desktop/dsl-2888a/target/linux'
make[4]: Entering directory `/home/user/Desktop/dsl-2888a/target/linux/VSPM3XX'
Copy the default kernel config........
Platform dir:/home/user/Desktop/dsl-2888a/target/linux/VSPM3XX
Platform subdir:/home/user/Desktop/dsl-2888a/target/linux/VSPM3XX
/home/user/Desktop/dsl-2888a/target/linux/VSPM3XX/config-3.14.18
cp -fpR /home/user/Desktop/dsl-2888a/target/linux/VSPM3XX/config-3.14.18 /home/user/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/.config
touch /home/user/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/.configured
rm -f /home/user/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/vmlinux /home/user/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/System.map
make -C /home/user/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18 HOSTCFLAGS="-O2 -I/home/user/Desktop/dsl-2888a/staging_dir/host/include -Wall -Wmissing-prototypes -Wstrict-prototypes" KCFLAGS="" CROSS_COMPILE="arm-hsan-linux-uclibcgnueabi-" ARCH="arm" KBUILD_HAVE_NLS=no CONFIG_SHELL="/bin/bash" V='' CC="arm-hsan-linux-uclibcgnueabi-gcc" modules
/home/user/Desktop/dsl-2888a/staging_dir/toolchain-arm-hsan-linux-uclibcgnueabi/bin/arm-hsan-linux-uclibcgnueabi-gcc: 7: exec: /home/user/Desktop/dsl-2888a/toolchain/external_toolchain/VSPM310_compiler/arm-hsan-linux-uclibcgnueabi/bin/arm-hsan-linux-uclibcgnueabi-gcc: not found
make[5]: Entering directory `/home/user/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18'
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
HOSTCC scripts/kallsyms
HOSTCC scripts/sortextable
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
/home/user/Desktop/dsl-2888a/staging_dir/toolchain-arm-hsan-linux-uclibcgnueabi/bin/arm-hsan-linux-uclibcgnueabi-gcc: 7: exec: /home/user/Desktop/dsl-2888a/toolchain/external_toolchain/VSPM310_compiler/arm-hsan-linux-uclibcgnueabi/bin/arm-hsan-linux-uclibcgnueabi-gcc: not found
make[7]: *** [scripts/mod/empty.o] Error 127
make[7]: *** Waiting for unfinished jobs....
CHK include/generated/utsrelease.h
Generating include/generated/mach-types.h
CC kernel/bounds.s
/home/user/Desktop/dsl-2888a/staging_dir/toolchain-arm-hsan-linux-uclibcgnueabi/bin/arm-hsan-linux-uclibcgnueabi-gcc: 7: exec: /home/user/Desktop/dsl-2888a/toolchain/external_toolchain/VSPM310_compiler/arm-hsan-linux-uclibcgnueabi/bin/arm-hsan-linux-uclibcgnueabi-gcc: not found
make[6]: *** [kernel/bounds.s] Error 127
make[5]: *** [prepare0] Error 2
make[5]: *** Waiting for unfinished jobs....
make[6]: *** [scripts/mod] Error 2
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [scripts] Error 2
make[5]: Leaving directory `/home/user/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18'
make[4]: *** [/home/user/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/.modules] Error 2
make[4]: Leaving directory `/home/user/Desktop/dsl-2888a/target/linux/VSPM3XX'
make[3]: *** [compile] Error 2
make[3]: Leaving directory `/home/user/Desktop/dsl-2888a/target/linux'
make[2]: *** [target/linux/compile] Error 2
make[2]: Leaving directory `/home/user/Desktop/dsl-2888a'
make[1]: *** [/home/user/Desktop/dsl-2888a/staging_dir/target-arm-hsan-linux-uclibcgnueabi/stamp/.target_compile] Error 2
make[1]: Leaving directory `/home/user/Desktop/dsl-2888a'
make: *** [world] Error 2
user@ubuntu:~/Desktop/dsl-2888a$
I have also tried with non modified code tried as is but same thing occured.
Could anyone have an idea?
Regards.