Upgrade a D-Link DSL-G624T without ethernet working!

All about firmwares for routers. Support for RouterTech firmwares is here too.
blueberry
Novice
Novice
Posts: 21
Joined: Thu Oct 31, 2013 8:43 am

Upgrade a D-Link DSL-G624T without ethernet working!

Post by blueberry » Fri Nov 01, 2013 12:36 pm

Hello to everybody.
I have a D-Link DSL-G624T, firmware 3.10, bootloader Adam2 0.22.02_b04_Mar 10 2005. My OS is Win XP.
I'd like to upgrade to RouterTech 2.97, but there is a non indifferent problem: the ethernet connection doesn't work!
The symptoms are:
• the ethernet connection alternately run and fall on one port only, and however at 10 Mbps only
• the led of this port and another one switch on or off casually and sometimes simultaneously.
For the moment i made a backup of env, modules, interrupts, avsar_ver and led.conf via telnet. I got output for both '/proc/ticfg/env' and '/proc/sys/dev/adam2/environment'.
Obviously, RUC doesn't work. I'll be able to communicate with router by wireless and telnet only.
I ask to you:
1) For backup I have to consider the 'enviroment' only?
2) This is only a memory issue or i would have to change capacitors?
3) Can I try to resolve by flashing with the official .exe version of my actual firmware first (and is this the equivalent of using PCTools or TIupgrade)?
4) The RoutherTech firmware will allow my router to upgrade to the same or another firmware by single .img file?
Thanks!
User avatar
thechief
RouterTech Team
RouterTech Team
Posts: 12067
Joined: Wed Feb 01, 2006 10:22 pm
Location: England, the Centre of Africa
Contact:

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by thechief » Fri Nov 01, 2013 4:41 pm

blueberry wrote:1) For backup I have to consider the 'enviroment' only?
That's the most important.
blueberry wrote:2) This is only a memory issue or i would have to change capacitors?
It is a hardware issue. It is a common problem with the 624T. Search for "adm6996" on the forum. You might need to change the capacitors; but running the adm6996-tool program might help (it is a very low level program that needs to be used with great caution, as it can fry your switch's eeprom and do other nasty things to your router if you give it the wrong parameters).
blueberry wrote:3) Can I try to resolve by flashing with the official .exe version of my actual firmware first (and is this the equivalent of using PCTools or TIupgrade)?
If your switch/ethernet ports are still problematic, don't try it.
blueberry wrote:4) The RoutherTech firmware will allow my router to upgrade to the same or another firmware by single .img file?
Depends on the values of your mtd environment variables.
The Chief: :afro: Be sure to read the Firmware FAQ and do a Forum Search before posting!
No support via PM. Ask all questions on the open forum.
blueberry
Novice
Novice
Posts: 21
Joined: Thu Oct 31, 2013 8:43 am

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by blueberry » Tue Nov 05, 2013 1:53 pm

At question 1) i intend if the correct enviroment file is '/proc/ticfg/env' or '/proc/sys/dev/adam2/environment'. I think the 2nd, isn't it?
I did another search in the forum.
I tried to download via telnet the adm6996-tool. But DOS doesn't find the file

Code: Select all

# cd /var/
# wget https://www.routertech.org/download/file.php?id=1484 -O adm6996-tool.gz
adm6996-tool.gz      100% |*****************************|  5359       00:00 ETA
# gunzip adm6996-tool.gz
gunzip: No such file or directory
I tried with adm6996-tool-static.gz too: the same result. It could be a poor memory availability (these routers have 2 MB only), or is there another command in place of gunzip?
When it will work, will the code I have to type be

Code: Select all

adm6996-tool 0x1 0x8000 #lan port 4
adm6996-tool 0x3 0x8000 #lan port 3
adm6996-tool 0x5 0x8000 #lan port 2
adm6996-tool 0x7 0x8000 #lan port 1
?
Passing "0x800F" to each port resuscitated all the ports, but had to set the PC's network card manually to 10Mbps for any of it to work
but, what is the correct code in manner that I don't have to set the PC's network card manually to 10Mbps?
Thanks chief!
User avatar
thechief
RouterTech Team
RouterTech Team
Posts: 12067
Joined: Wed Feb 01, 2006 10:22 pm
Location: England, the Centre of Africa
Contact:

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by thechief » Wed Nov 06, 2013 5:08 pm

If your firmware doesn't have gunzip (which is quite possible), then you're stuck. RouterTech firmware has it, but it is one of the things that we added. Your best bet would be to decompress/extract the file using something like WinZip on Windows or gunzip/gzip on linux, putting the extracted/decompressed file on a web server, downloading it from that server into the router, setting its executable flags, and then you will be able to run it.

I don't know of any way in which you can get it to work without setting the speed to 10mbps. The problem is probably faulty capacitors, and, until that problem is solved, I doubt that the ports will run faster than 10mbps.
The Chief: :afro: Be sure to read the Firmware FAQ and do a Forum Search before posting!
No support via PM. Ask all questions on the open forum.
blueberry
Novice
Novice
Posts: 21
Joined: Thu Oct 31, 2013 8:43 am

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by blueberry » Wed May 14, 2014 3:32 pm

Excuse me for long absence but it seems quite impossible to find capacitors 25 V 1000 µF 105 °C and LOW SCR. I finally had to made assembled, by an expert, the non-LOW SCR ones in bent position.
Now, in addition to one intermittent port at 10 Mbps, I have another one port stable at 10Mbps. Not so good...
I thought to run adm696-tool-static but the prompt give me an error

Code: Select all

# cd /var/
# wget http://localhost/adm6996-tool-static -O adm6996-tool-static
wget: server returned error 404: HTTP/1.1 404 Not Found
What was wrong? (It's the first time I use it)
its executable flags
What flag will I have to set?
User avatar
thechief
RouterTech Team
RouterTech Team
Posts: 12067
Joined: Wed Feb 01, 2006 10:22 pm
Location: England, the Centre of Africa
Contact:

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by thechief » Thu May 15, 2014 1:34 pm

Use WinSCP to transfer the file, and use a telnet/ssh connection to set the executable flag -

Code: Select all

chmod a+x adm6996-tool-static
The Chief: :afro: Be sure to read the Firmware FAQ and do a Forum Search before posting!
No support via PM. Ask all questions on the open forum.
blueberry
Novice
Novice
Posts: 21
Joined: Thu Oct 31, 2013 8:43 am

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by blueberry » Fri May 16, 2014 1:01 pm

Before I used xampp: I copied the file into C:\xampp\htdocs (root folder). As well as I get file by download from http://localhost/adm6996-tool-static I expected to get it through wget.
With WinSCP I tried to connect to my router with all combination of protocols available (SFTP - SCP - FTP) and ports (21 - 22 - 23) but the connection failed (with different prompts).
Then I thought to use the previous mechanism of local server with adm6996-tool-static, but what username and pw should I have to use in WinSCP for a connection to localhost? (I left them blank)

So what protocol/port do I have to try to connect to the router?
And then, for telnet session, will I have to digit this to run the adm tool?

Code: Select all

telnet 192.168.1.2
# cd /var/
# chmod a+x adm6996-tool-static
# -O adm6996-tool-static
User avatar
thechief
RouterTech Team
RouterTech Team
Posts: 12067
Joined: Wed Feb 01, 2006 10:22 pm
Location: England, the Centre of Africa
Contact:

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by thechief » Fri May 16, 2014 3:40 pm

Which firmware are you running right now? If it's not RouterTech, then WinSCP will not work, and I don't see how you would succeed in using wget from the local network. Your best bet is to put the file on a web server somewhere on the net, and then use wget from within the router to fetch it from the web server.
The Chief: :afro: Be sure to read the Firmware FAQ and do a Forum Search before posting!
No support via PM. Ask all questions on the open forum.
blueberry
Novice
Novice
Posts: 21
Joined: Thu Oct 31, 2013 8:43 am

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by blueberry » Fri Jun 06, 2014 7:16 am

I've done it! :)

Code: Select all

# cd /var/
# wget http://www.[...]/adm6996-tool-static
adm6996-tool-static  100% |*****************************|   692 KB    00:00 ETA
# chmod a+x adm6996-tool-static
# -O adm6996-tool-static
-O: No such file or directory
How can I open the file? And which parameters do I have to control/pass?
User avatar
thechief
RouterTech Team
RouterTech Team
Posts: 12067
Joined: Wed Feb 01, 2006 10:22 pm
Location: England, the Centre of Africa
Contact:

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by thechief » Fri Jun 06, 2014 7:45 pm

Do a forum search for "adm6996"
The Chief: :afro: Be sure to read the Firmware FAQ and do a Forum Search before posting!
No support via PM. Ask all questions on the open forum.
blueberry
Novice
Novice
Posts: 21
Joined: Thu Oct 31, 2013 8:43 am

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by blueberry » Sat Jun 07, 2014 2:52 pm

I never post without doing a search previously. I found fragmented and not useful infos. The only really related to the arguement thread is
viewtopic.php?f=3&t=2909&p=40095#p40095

I solved by myself the problem "-O: No such file or directory".
I performed a

Code: Select all

# cd /var
# ls -a
but the adm6996-tool-static didn't appear!
So I repeated the wget operation. The shall print an advice that said it is read-only memory!
I repeated the wget once again. This time the progress bar appears. An "ls -a" returned a list in which adm6996-tool-static now appears!
To open the tool (after permits flags) it seems necessarily to type

Code: Select all

# ./adm6996-tool-static
According to the thread linked above,
1) how does the syntax match between "./adm6996-tool <register> [value]" and "admtool 0x1 0x20"? register => 0x1 and value => 0x20?
2) to turn off another port, i.e. 1st port (switch side) = Port 3 (firmware side), is the command "admtool 3x1 0x20" correct?
3) I didn't deduce which is the code (instead of 0x20) to turn on again a port.

By your adm6996-tool knowledge, is there any other opertion, turning off a port apart, to attempt to resuscitate ethernet at 100 Mbps?
I made some possible deduction, but correct me if I am wrong. If is necessary I could post the "dumpall" output.
User avatar
thechief
RouterTech Team
RouterTech Team
Posts: 12067
Joined: Wed Feb 01, 2006 10:22 pm
Location: England, the Centre of Africa
Contact:

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by thechief » Sat Jun 07, 2014 11:56 pm

The first parameter is the port, and the second is the code to send to it (both in hex). However, the numbering of the port is not as you might expect; so for example, LAN port 4 = 0x1 (see the script below).

TBH, you would get more assistance from the posts of drwyrm on this topic than anything I could say - after all, he is the author of the tool. See for example his journey in this thread: viewtopic.php?f=3&t=2909

The only documentation is in the C source code. However, I found an old script to use the tool, which I reproduce below. I don't remember whether I wrote it, or whether someone else did. You may learn something from it;

Code: Select all

#!/bin/sh

CMD=/nvram/adm6996-tool

# ports
port4=0x1
port3=0x3
port2=0x5
port1=0x7

ports="$port1 $port2 $port3 $port4"

# action codes
disable=0x20
enable_100_mbit=0x2000
enable_loopback_operation=0x4000
enable_collision=0x80
enable_full_duplex=0x100
enable_auto_negotiation=0x1000
restart_auto_negotiation=0x200
phy_isolate=0x400
phy_powerdown=0x800
reset_port=0x8000

# 
cfg_init_phy=0xB200
cfg_init_port=0x800F
cfg_port_cpu=0x1D

# intialise all the ports
init_ports()
{
  for P in $ports; do
      $CMD $P $cfg_init_port
  done
}

# intialise all the phy - what is a "phy"?
init_phy()
{
  for P in $ports; do
      $CMD $P $cfg_init_phy
  done
}

# start
if [ -n "$1" ]; then
   
# init all the ports
   if [ "$1" = "init-ports" ]; then
      init_ports
      exit 0
   fi

# init all the "phy"
   if [ "$1" = "init-phy" ]; then
      init_phy
      exit 0
   fi
fi

if [ -z "$1" -o -z "$2" ]; then
   echo "Syntax=$0 <port> <code>"
   echo "       port=\"port1\" to \"port4\""
   exit
fi

[ "$1" = "port1" ] && P=$port1
[ "$1" = "port2" ] && P=$port2
[ "$1" = "port3" ] && P=$port3
[ "$1" = "port4" ] && P=$port4

$CMD $P $2
The Chief: :afro: Be sure to read the Firmware FAQ and do a Forum Search before posting!
No support via PM. Ask all questions on the open forum.
blueberry
Novice
Novice
Posts: 21
Joined: Thu Oct 31, 2013 8:43 am

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by blueberry » Mon Jun 09, 2014 4:36 pm

Thanks! This is what i was looking for :wink:

According to the experiment by drwyrm
drwyrm wrote:With this mapping in mind, i could force LAN Port4 OFF with "admtool 0x1 0x20". Now, finally my port4 LED is OFF!

I'm still checking if this solves the other issues. Tough i think that its unlikely to be a hardware problem, IF the port4 phy is somehow defective then it may be causing the other ports to behave badly, in this case, isolating the defective port should solve the other issues.
1. I disable the port 4. The only result is a blinking functional port 2 (10 Mbps): nothing. So I re-enable the port 4: it works at 10 Mbps. I tried to send the enable_100_mbit a second time to force 100 Mbps speed, but remains at 10 Mbps.
2. Reset port 2. Now it works at 10 Mbps. I tried to disable, then reset directly. The result is the same.
3. Reset port 3. Now it works at 10 Mbps but continuously.
So, in my case, the main useful command, for all ports, is

Code: Select all

# ./adm6996-tool-static 0x3 0x8000
/dev/mem opened.
Mapped 8192 bytes from 08610000 at 0x2aaa9000.
Reading (0003) Port 1 Configuration: 040f
        ENABLED 100M FD AUTO TP
        VLAN:1
        priority: VLAN > TOS

Writing (0003) Port 1 Configuration: 8000
        ENABLED 10M HD TP AUTO_MDIX
        VLAN:0
        priority: VLAN > TOS
DONE!
#
I left out the port 1 that always worked at 10 Mbps and continuously.

Do you think I should try other commands like cfg_init_phy, cfg_init_port, cfg_port_cpu? Should I ask to drwyrm?
Could I proceed with upgrade at 10 Mbps speed?
The './adm6996-tool-static dumpall' output is too long. The prompt does not accept [command] | less/more/clip. How can I do?
User avatar
thechief
RouterTech Team
RouterTech Team
Posts: 12067
Joined: Wed Feb 01, 2006 10:22 pm
Location: England, the Centre of Africa
Contact:

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by thechief » Mon Jun 09, 2014 7:27 pm

blueberry wrote: Do you think I should try other commands like cfg_init_phy, cfg_init_port, cfg_port_cpu?
If you're willing to risk breaking something, yes. The function names seem clear enough - but nobody knows exactly what they do.
blueberry wrote:Should I ask to drwyrm?
Feel free to do so - if he still follows this forum ...
blueberry wrote:Could I proceed with upgrade at 10 Mbps speed?
If you are referring to upgrading the firmware, I don't see why not. However, should the port fail during the process of upgrading, you would be left with a brick.
blueberry wrote:The './adm6996-tool-static dumpall' output is too long. The prompt does not accept [command] | less/more/clip. How can I do?
If the commands are not built into your busybox, then there is little that you can do - apart from changing your firmware.
The Chief: :afro: Be sure to read the Firmware FAQ and do a Forum Search before posting!
No support via PM. Ask all questions on the open forum.
blueberry
Novice
Novice
Posts: 21
Joined: Thu Oct 31, 2013 8:43 am

Re: Upgrade a D-Link DSL-G624T without ethernet working!

Post by blueberry » Thu Jun 12, 2014 5:10 pm

The ports seemed to work stable between sessions. But, at some point, has been so no more :(
So I had to login via wireless and use wget followed by ./adm6996-tool-static 0x3 0x8000 every time!

I had to copy some files from router ro PC. I used the trick to copy them into /var, then use the command # /usr/sbin/thttpd -g -d /var -u root -p 1080, so I could download via web interface at http://192.168.1.1:1080/
But the download stucks for mtd0 and mtd4, and furthermore the mtdblock resulted stuck too - with cd /mtdblock give 'can't cd to mtdblock folder' - but one or two days ago wasn't so!

After reading all faqs, procedures, warnings, and an Adam2 defrag (!) I updated the firmware via ethernet :) - which were activted via wireless before.
It seemed went alright.
I set the password for login to the router only. I wrote in the led configuration box 'g624t' - and I saved - because this model was in list - thought not in led folder of firmware pack. But the leds remain brick. I got the led.conf backup, but I have made that when they already in a brick - before this thread.

For my port problem, I had to log in via telnet and wireless, but the password 'Admin' is not accepted.
For a moment, a port worked and I was be able to log in the rounter. But I remained logged for not enough time to change wireless PSK.

1) Do the team have the led.conf file for DSL-G624T, or DSL-G604T, the one with many '#'s?
2) I searced in documentation, but I didn't found the default wireless pw. Can you tell me what is?
3) I did change the four big capaitors. The small two ones are flat and not dirty. What I have to do for fix ethernet ports (though at 10 Mbps)? :cry: (I hope nothing on hardware side again!)
Post Reply