Hi Flipflop, have you any ideas on installing firmware whithout a hardware reflash? I, at least, haven't got the equipment to do that and I prefer a 'software' method.
You can use cli->rg->dload command. Parameters are:
Code:
dload $1 $2 $3
$1 - A.B.C.D TFTP server IP address
$2 - STRING filename of CM software
$3 -
0 download via LAN interface
1 download via RF interface
2 download via CPE interface
So basically all you have to do is install a tftp server, do something like
Code:
dload x.x.x.x uberfirmware-v1.0 0
and it should place the new firmware in sector 2 (check with cli->rg->dir).
Then do
Code:
bootfrom 2 (is that correct?)
and it should be booting from sector 2.
For modification of current firmwares use
firmware-mod-kit. It allows to unpack and repack the firmware files.
So what you do is you unpack the thing, do your modification and repack it.
If you want to put new binary programs onto the router you need to build the build toolchain for it.
For this you can use
crosstool-ng. I don't know the exact configuration you need. Currently trying
"armeb-unknown-linux-uclibcgnueabi".
Hints regarding arch/libs/config:
Code:
> file firmwares/3.1.1.29/bin/ls
ELF 32-bit MSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped
Code:
> objdump -p firmwares/3.1.1.29/bin/ls
(...)
Dynamic Section:
NEEDED libHtxShareUtils.so
NEEDED libm.so.0
NEEDED libpam.so.0
NEEDED libpam_misc.so.0
NEEDED libc.so.0
(...)
Code:
> uname -a
Linux CVE-30360 2.6.18_pro500 #1 PREEMPT Thu Sep 5 11:45:11 GMT 2013 armv6b GNU/Linux
-> linux kernel 2.6.18
-> arch is ARM
-> MSB / big endian
-> uses uClibc version 0.9.29
Have you ideas on blocking a software update for the time being (where we still can't reflash the Hitron ourself)?
sw_dl is the tool to flash the firmware onto the device. So removing it will stop update.
I will build a firmware where sw_dl is backup'd and replaced with a program that does nothing. That way programs accessing it do not fail.