Hi,
I wanted to install openwrt on Huawei Hg255s which have TriDuctor VSPM340 cpu and requested GPL code from Huawei but they just ignoried my mail requests.No response at all.Full hardware specs are here btw.
So i searched for similiar hardware spec devices and i found Dlink's DSL-2888a and DVA-2800, these devices seems good candidate for my HG255s.
Donwloaded GPL source code at dlink's GPL site for DSL-2888a.After fiddling around source code it seems this device already running heaviliy modified openwrt.After removing xDSL and some unnecessary features with menuconfig for my HG255s i have tried to compile it but it complains about external toolchain for some reason.It seems kernel already have support for both RTL8812 and RTL8192.
I have figured out serial console pins as attached photo with my FT232 and TFTP seems work:
Also here is my OEM bootlog,I had to cut down it because of character limit in forum:
-------------------
- VER5610 bootrom -
-------------------
-
>> hit <ctrl+c> to stop autoboot:0
-
----------------------------------
- Flash type .......... [ NAND ]
- Boot mode ........... [ NONSEC ]
- Read page0 .......... [ OK ]
- DDR ................. [ OK ]
- bootloader .......... [ OK ]
----------------------------------
-
>> startup bootloader...
Hi-Boot ( 2015-03-30 - 22:06:12 )
DRAM : 128MB SYS : 0xc0c00000
STACK DATA : 0xc0020000 STACK SVC : 0xc0030000
STACK FIQ : 0xc0040000 STACK ABT : 0xc0050000
STACK UND : 0xc0060000 STACK IRQ : 0xc0070000
Memory : total 127.5MB
Memory : start 0xc2000000 available 64MB
Memory : code 189.2KB bss 95KB highmem 32MB 0xc6000000
Boot Sel : BOOTROM
Dev Manuf : AMD/SPANSION
Nand ID : 0x01 0xF1 0x00 0x1D 0x01 0xF1 0x00 0x1D
Nand Spec : Chip[134217728B] Block[131072B] Page[2048B] OOB[32B] ECC[4bit]
Chip Name : NAND 128MiB 3,3V 8-bit
muilt upgrade wait...
Hit <ctrl+c> to stop autoboot: 3
hi #
-------------------
- VER5610 bootrom -
-------------------
-
>> hit <ctrl+c> to stop autoboot: 1
bootrom > <INTERRUPT>
<INTERRUPT>
<INTERRUPT>
<INTERRUPT>
help
cmd - usage - help
------------------------------------------------------------
boot - boot - read info from flash and boot
go - go <addr> - jump to application at 'addr'
help - help - print description of all commands
loady - loady <addr> - load file from the serial line
md - md <addr> - memory display
mw - mw <addr> - memory write
reset - reset - system reboot
run - run <addr> - execute application at 'addr'
bootrom >
-------------------
- VER5610 bootrom -
-------------------
-
>> hit <ctrl+c> to stop autoboot:0
-
----------------------------------
- Flash type .......... [ NAND ]
- Boot mode ........... [ NONSEC ]
- Read page0 .......... [ OK ]
- DDR ................. [ OK ]
- bootloader .......... [ OK ]
----------------------------------
-
>> startup bootloader...
Hi-Boot ( 2015-03-30 - 22:06:12 )
DRAM : 128MB SYS : 0xc0c00000
STACK DATA : 0xc0020000 STACK SVC : 0xc0030000
STACK FIQ : 0xc0040000 STACK ABT : 0xc0050000
STACK UND : 0xc0060000 STACK IRQ : 0xc0070000
Memory : total 127.5MB
Memory : start 0xc2000000 available 64MB
Memory : code 189.2KB bss 95KB highmem 32MB 0xc6000000
Boot Sel : BOOTROM
Dev Manuf : AMD/SPANSION
Nand ID : 0x01 0xF1 0x00 0x1D 0x01 0xF1 0x00 0x1D
Nand Spec : Chip[134217728B] Block[131072B] Page[2048B] OOB[32B] ECC[4bit]
Chip Name : NAND 128MiB 3,3V 8-bit
muilt upgrade wait...
Hit <ctrl+c> to stop autoboot: 3
hi # help
? - alias for help
arp - display arp table
bootm - boot application image from memory
ccs - change double system boot flag, ccs 0[main] | 1[slave]
cpu_stat - show task %cpu
go - start application at address 'addr'
gpio - gpio sub-system
help - print command description/usage
load_boot - load boot into nand/spi flash
load_image - load image into nand/spi flash
lzma - lzma decoder file
md - memory display
mdio - mdio sub-system
mp - memory compare
mw - memory write (fill)
nand - NAND sub-system
ping - send ICMP ECHO_REQUEST to network host
printenv - print environment variables
rcs - get double system boot flag
reset - Perform RESET of the CPU
saveenv - save environment variables to persistent storage
sec_init - sec init function
sec_test - test sec function
setenv - set environment variables
sfc - sfc sub-system
tftp - tftp [loadAddress] filename
hi # cpu_stat
hi # nand
nand - NAND sub-system
Usage:
nand read - addr off|partition size
nand write - addr off|partition size
read/write 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
nand erase [clean] [off size] - erase 'size' bytes from
offset 'off' (entire device if not specified)
nand erase_badblock [clean] [off size] - erase 'size' bytes from
offset 'off' (entire device if not specified),juset for test
nand dump[.oob] off - dump page
nand markbad off [...] - mark bad block(s) at offset (UNSAFE),juset for test
nand test [ui_times] [ui_startaddr] [ui_endaddr]
nand test_result
nand bbt - print all bbt
hi # version
hi # ver
hi # boot
hi #
-------------------
- VER5610 bootrom -
-------------------
-
>> hit <ctrl+c> to stop autoboot:0
-
----------------------------------
- Flash type .......... [ NAND ]
- Boot mode ........... [ NONSEC ]
- Read page0 .......... [ OK ]
- DDR ................. [ OK ]
- bootloader .......... [ OK ]
----------------------------------
-
>> startup bootloader...
Hi-Boot ( 2015-03-30 - 22:06:12 )
DRAM : 128MB SYS : 0xc0c00000
STACK DATA : 0xc0020000 STACK SVC : 0xc0030000
STACK FIQ : 0xc0040000 STACK ABT : 0xc0050000
STACK UND : 0xc0060000 STACK IRQ : 0xc0070000
Memory : total 127.5MB
Memory : start 0xc2000000 available 64MB
Memory : code 189.2KB bss 95KB highmem 32MB 0xc6000000
Boot Sel : BOOTROM
Dev Manuf : AMD/SPANSION
Nand ID : 0x01 0xF1 0x00 0x1D 0x01 0xF1 0x00 0x1D
Nand Spec : Chip[134217728B] Block[131072B] Page[2048B] OOB[32B] ECC[4bit]
Chip Name : NAND 128MiB 3,3V 8-bit
muilt upgrade wait...
Hit <ctrl+c> to stop autoboot: 0
=====bootm=====
Read fs from flash, wait for seconds...
fs crc check ok!
#########
copy 2252784 bytes successful!
Boot from slave system ...
kernel data at 0xc6000040, len = 0x00225fb0 (2252720)
Loading Kernel Image ... OK
## Transferring control to Linux (at address 81208000) ...
Starting kernel ...
Uncompressing Linux........................................................................................................................................... done, booting the kernel.
init started: BusyBox vv1.9.1 ()
starting pid 313, tty '': '/etc/init.d/rcS'
RCS DONE
starting pid 314, tty '': '/bin/sh'
BusyBox vv1.9.1 () built-in shell (ash)
Enter 'help' for a list of built-in commands.
boot start running profile...
rootdir=/
table='/etc/devicetable'
boot start running starbsp...
mknod: /dev/mem: File exists
Loading SDK modules
Loading HSAN modules
Loading Huawei modules
Loading qtm WLAN modules
Ending qtm WLAN modules
Loading realtek WLAN modules
Ending realtek WLAN modules
boot running starbsp...
cp: cannot stat '/etc/webimg1': No such file or directory
cp: cannot stat '/etc/webidx1': No such file or directory
Loading drivers and kernel modules...
HSAN init chip successfully ...!
boot running mic...
==========================================
==========================================
attribute(00)-alias(orgifname ) = wl1
attribute(01)-alias(extifname ) = wl1_0
attribute(02)-alias(flag ) = 00000002
==========================================
==========================================
attribute(00)-alias(fatherifname ) = wlan_ext1
attribute(01)-alias(ifname ) = wl1_1
attribute(02)-alias(mapmode ) = 00000004
attribute(03)-alias(matchmode ) = 00000000
attribute(04)-alias(pvc ) = 0000ffff
attribute(05)-alias(dmac ) = 00:00:00:00:00:00
attribute(06)-alias(rsv1 ) = 0000
attribute(07)-alias(vid ) = 0002
attribute(08)-alias(pri ) = 0000
attribute(09)-alias(allocwanid ) = 00000000
==========================================
INSMOD base START......
retry xhci
retry xhci done
==========================================
attribute(00)-alias(orgifname ) = wl1.2
attribute(01)-alias(extifname ) = wl1_2
attribute(02)-alias(flag ) = 00000002
******ledservice lan init.*****
****ledservice wifi init.*****
LED Regiter:/sys/class/leds/wifi_led:green OK !!
***ledservice wps init.***
LED Regiter:/sys/class/leds/usb_led:red OK !!
LED Regiter:/sys/class/leds/usb_led:green OK !!
LED Regiter:/sys/class/leds/wan_led:green OK !!
LED Regiter:/sys/class/leds/internet_led:red OK !!
LED Regiter:/sys/class/leds/internet_led:green OK !!
LED Regiter:/sys/class/leds/voip1_led:green OK !!
******ledservice wps init.******n
LED Regiter:/sys/class/leds/wps_led:green OK !!
LED Regiter:/sys/class/leds/power_led:red OK !!
LED Regiter:/sys/class/leds/power_led:green OK !!
>>>>>>button_Create over<<<<<<<<<<
>>>>>>button_Create over<<<<<<<<<<
>>>>>>button_Create over<<<<<<<<<<
>>>>>>button_Create over<<<<<<<<<<
>>>>>>button_Create over<<<<<<<<<<
USBMonitor: func[ main] line[1009]USBMonitor start running..
cms main started now ...
##sendmsg return 16, errno 0.
Dhcp6s work on br0 is disableFILE[dhcp6scms.c] LINE[344]
==========================================
Auto-negotiation enabled.
No common media type was autonegotiated!
This is extremely unusual and typically indicates a configuration error.
Perhaps the advertised capability set was intentionally limited.
Link is down
==========================================
Auto-negotiation enabled.
No common media type was autonegotiated!
This is extremely unusual and typically indicates a configuration error.
Perhaps the advertised capability set was intentionally limited.
Link is down
==========================================
Auto-negotiation enabled.
No common media type was autonegotiated!
This is extremely unusual and typically indicates a configuration error.
Perhaps the advertised capability set was intentionally limited.
Link is down
==========================================
Auto-negotiation enabled.
No common media type was autonegotiated!
This is extremely unusual and typically indicates a configuration error.
Perhaps the advertised capability set was intentionally limited.
Link is down
device eth0 is not a slave of br0
atp: cur kernel version:[2.6.30]
==========================================
==========================================
==========================================
ifconfig: SIOCSIFADDR: File exists
Radvd cms init br 1FILE[radvdcms.c] LINE[325]
Radvd work on br0 is disableFILE[radvdcms.c] LINE[365]
Wanumtscms: func[ WUTR098IniDevice] line[417]Initial UMTS device
765 addr=10630
765 addr=10630
765 addr=10630
765 addr=10630
765 addr=10630
765 addr=10630
765 addr=10630
765 addr=10630
WPS_LED_______WPS_STATUS====8
[4088] bsd enable=1
[4095] bsd ssid enable=1
[4103] radio enable 2.4G:1 , 5G:1
[4112] 5g ssid enable:1 , 2.4G ssid enable:1
begin WlanSetChannel...
begin WlanStartServices...
begin WlanUpInterfaces...
USBMonitor: func[linux_2630_usbfs_GetKernelDevice] line[297]Get Device in Proc ret = 0x0
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[325]Get usb device kernel idProduct = 3
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[326]Get usb device kernel idVendor = 1d6b
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[327]Get usb device kernel bDeviceClass = 9
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[328]Get usb device kernel bDeviceProtocol = 3
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[329]Get usb device kernel bDeviceSubClass = 0
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[330]Get usb device kernel bcdDevice = 206
USBMonitor: func[ UsbMnGetUSBDevice] line[388]Add device in list
USBMonitor: func[linux_2630_usbfs_GetKernelDevice] line[297]Get Device in Proc ret = 0x0
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[325]Get usb device kernel idProduct = 2
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[326]Get usb device kernel idVendor = 1d6b
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[327]Get usb device kernel bDeviceClass = 9
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[328]Get usb device kernel bDeviceProtocol = 1
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[329]Get usb device kernel bDeviceSubClass = 0
USBMonitor: func[UsbMnGetUsbDeviceKernelInfo] line[330]Get usb device kernel bcdDevice = 206
USBMonitor: func[ UsbMnGetUSBDevice] line[388]Add device in list
WPS_LED_______WPS_STATUS====8
[4088] bsd enable=1
[4095] bsd ssid enable=1
[4103] radio enable 2.4G:1 , 5G:1
[4112] 5g ssid enable:1 , 2.4G ssid enable:1
begin WlanSetChannel...
begin WlanStartServices...
begin WlanUpInterfaces...
Wan path error!
CtBalance: file[ctbalanceapi.c] fun[ATP_CTBalance_Init] line[162]Init Conntrack balance.
CtBalance: file[ctbalanceapi.c] fun[ATP_CTBalance_Init] line[189]Enable is 0, Number is 500.
Signal 13 recvd.
MSG 35338 process from [wlan] endMSG 35341 process... from [wlan]
************************Write flash to vdb now ...
################## error vsscanf_s invalid argument
526 addr=1d9b0 buffer=[
]
[790] sync wlan db start
[916] sync wlan db end
************************Write db to flash now ...
done sync
Vdb already exists.
Create rss table again.
Vdb already exists.
Vdb already exists.
*****DECT TIMESLOT TEST OK******
pcm auto test success
________________________[DECT_TODO][VOICE_SetPriorityOfVoice][128]
And here is custom toolchain error:
jigsaw@rampage:~/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
#
# using defaults found in .config
#
*** End of OpenWrt configuration.
*** Execute 'make' to build the OpenWrt or try 'make help'.
jigsaw@rampage:~/Desktop/dsl-2888a$ make -j 4
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/xz compile
make[3] -C tools/m4 compile
make[3] -C tools/mklibs compile
make[3] -C tools/sed 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/xz 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/squashfs4 compile
make[3] -C tools/vspmxxx-mkimage install
make[3] -C tools/default2nvram install
make[3] -C tools/m4 install
make[3] -C tools/libtool compile
make[3] -C tools/pkg-config compile
make[3] -C tools/flex compile
make[3] -C tools/mkimage install
make[3] -C tools/squashfs4 install
make[3] -C tools/flex install
make[3] -C tools/bison compile
make[3] -C tools/libtool install
make[3] -C tools/autoconf compile
make[3] -C tools/autoconf install
make[3] -C tools/quilt 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/bison install
make[3] -C tools/e2fsprogs install
make[3] -C tools/mtd-utils compile
make[3] -C tools/mtd-utils install
make[3] -C tools/cmake install
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
jigsaw@rampage:~/Desktop/dsl-2888a$
jigsaw@rampage:~/Desktop/dsl-2888a$ make 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/jigsaw/Desktop/dsl-2888a'
make[2]: Entering directory `/home/jigsaw/Desktop/dsl-2888a'
make[3]: Entering directory `/home/jigsaw/Desktop/dsl-2888a/target/linux'
make[4]: Entering directory `/home/jigsaw/Desktop/dsl-2888a/target/linux/VSPM3XX'
Copy the default kernel config........
Platform dir:/home/jigsaw/Desktop/dsl-2888a/target/linux/VSPM3XX
Platform subdir:/home/jigsaw/Desktop/dsl-2888a/target/linux/VSPM3XX
/home/jigsaw/Desktop/dsl-2888a/target/linux/VSPM3XX/config-3.14.18
cp -fpR /home/jigsaw/Desktop/dsl-2888a/target/linux/VSPM3XX/config-3.14.18 /home/jigsaw/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/.config
touch /home/jigsaw/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/.configured
rm -f /home/jigsaw/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/vmlinux /home/jigsaw/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/System.map
make -C /home/jigsaw/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18 HOSTCFLAGS="-O2 -I/home/jigsaw/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/jigsaw/Desktop/dsl-2888a/staging_dir/toolchain-arm-hsan-linux-uclibcgnueabi/bin/arm-hsan-linux-uclibcgnueabi-gcc: 7: exec: /home/jigsaw/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/jigsaw/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18'
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
Generating include/generated/mach-types.h
CC kernel/bounds.s
/home/jigsaw/Desktop/dsl-2888a/staging_dir/toolchain-arm-hsan-linux-uclibcgnueabi/bin/arm-hsan-linux-uclibcgnueabi-gcc: 7: exec: /home/jigsaw/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]: Leaving directory `/home/jigsaw/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18'
make[4]: *** [/home/jigsaw/Desktop/dsl-2888a/build_dir/linux-VSPM3XX/linux-3.14.18/.modules] Error 2
make[4]: Leaving directory `/home/jigsaw/Desktop/dsl-2888a/target/linux/VSPM3XX'
make[3]: *** [compile] Error 2
make[3]: Leaving directory `/home/jigsaw/Desktop/dsl-2888a/target/linux'
make[2]: *** [target/linux/compile] Error 2
make[2]: Leaving directory `/home/jigsaw/Desktop/dsl-2888a'
make[1]: *** [/home/jigsaw/Desktop/dsl-2888a/staging_dir/target-arm-hsan-linux-uclibcgnueabi/stamp/.target_compile] Error 2
make[1]: Leaving directory `/home/jigsaw/Desktop/dsl-2888a'
make: *** [world] Error 2
jigsaw@rampage:~/Desktop/dsl-2888a$
I also tried compiling firmware without any modifications but same error occured. Any suggestions are welcome.
Regards.