quarta-feira, 30 de novembro de 2011

TP-LINK TL-WR841ND v3.0 Bricked!

  Serial console

I flashed build 14896 onto my TL-WR841ND v3.0 and it bricked.

I have got a PL-2303 chip based USB to Serial Converter. I found the pinout of male RS232 and it showed that pin 2 = RD, pin 3 = TD and pin 5 = GND.

So according to the guide above the pinout of P1

9 7 5 3 1
A 8 6 4 2
2 - Rx
3 - Tx
4 - Vcc (+3,3V)
5 – GND

I soldered the USB to Serial Converter pin 2(RD) to the router pin 3, the USB to Serial Converter pin 3(TD) to the router pin 2

and the USB to Serial Converter pin 5(GND) to the router pin 5
and finally I bridged R355 and R356.
Set up Putty to 9600 8-N-1 and NO flow controll (COM1). (115200 8-N-1-N didn't work either)

 

The serial runs at 115200 8N1 for v5. For v3.2 uboot starts 9600 and then kernel switches to 115200.

 

I figure my problem is the USB to Serial Converter. I measured 6.38V between the pin 3(Transmit Data) and pin 5(Ground) (RS232 DB9). I don't understand why not 3.3V or 5V.

My Siemens M35 cellphone data cable landed in the trash years ago. It would be great right now because it used 3.3V.
So I need to find the right TTL converter which is suitable for RX - TX - GND - +3.3V communication.
If I have any progress I'll let you know

 

The serial port runs at 115200 baud, 8 bits, no parity, 1 stop bit using ANSI terminal emulation. Levels are not RS232 voltage levels, but +3.3V TTL logic.

Use level shifter (Max232/Max3232/DS275 etc.) to correct this. Also a USB to serial phone cable will work in most cases.

A cable with a Prolific 2303 works fine. You have to short R356, if not, the TX will not going to work.

No it is not different - all the routers are using 3.3V TTL level signals.
You can not use the USB<->Serial cable that you buy in the computer shop, that one has RS232 signal levels.
You need a cable intended for TTL serial and not RS232 serial.

I ordered a NOKIA USB Data Cable CA-42. I hope this is gonna work too.
I used a multimeter to check the voltages. The pinout of P1 is
9 7 5 3 1
A 8 6 4 2
2 - Rx
3 - Tx
4 - Vcc (+3,3V)
5 - GND
(Above the 1 there is a triangle)

5 is Ground
I measured 3.29V on pin 4 and 3.29V or 0V on pin 3 0V on pin 2.
I think this is a pretty good sign there is still hope for recovery.

What I did:
After I had gained access to the router with Putty (9600 8-N-1-N) and had had a working TFTP server you need to type 'tp'(without quotes) when "Autoboot in 1..." appear.
And you get this:
ar7100>
Now you can type commands.
So I typed in:
ar7100> printenv
got:
...
bootcmd=bootm 0xbf020000
serverip 192.168.1.169
routerip 192.168.1.10
...
I don't know if it's important or not but at this point I've changed my laptops ipaddress to 192.168.1.169

Typed in:
ar7100>tftpboot 0x81000000 wr841n_v3.0_cut.bin (the file must be in the TFTP servers directory)
got:
...
Bytes transferred = 3932160 (3c0000 hex)
...
Typed in:
ar7100> erase 0xbf020000 +0x3c0000
ar7100> cp.b 0x81000000 0x9f020000 0x3c0000
ar7100> bootm 0x9f020000

 


 

AP93 (ar7240) U-boot
DRAM:
sri
#### TAP VALUE 1 = 9, 2 = 9
32 MB
id read 0x100000ff
flash size 4194304, sector count = 64
Flash: 4 MB
Using default environment

In: serial
Out: serial
Err: serial
Net: ag7240_enet_initialize...
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7014
eth0: 00:03:7f:09:0b:ad
eth0 up
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
ATHRS26: resetting s26
ATHRS26: s26 reset done
eth1 up
eth0, eth1
Autobooting in 1 seconds
You now have one second to enter "tpl" (without the quotes) to get to the Uboot console prompt.


Stuck at 130Mbps? Get 300Mbps



This violates regulatory requirements


1. Turn on PuTTY(or whatever you're using, use either SSH or Telnet)


2. Go to /etc/config

cd /etc/config
3. Open wireless with vi (click 'i' to write)
vi wireless
4. Below config 'wifi-device' 'radio0' add
option 'noscan' '1'
5. option 'htmode' should be set either to HT40+ or HT40-(I've only tried HT40+)
option 'htmode' 'HT40+'
6. Save and exit(click Esc and then write :wq and click Enter)


7. Restart wireless(first wifi down then wifi up) or just reboot the router


8. Enjoy your 300Mbps!


Wifi on/off toggle by QSS button



Found in WR741ND wiki page and coppied. It works on WR841ND too.


Simply create a new file called 01onoff in /etc/hotplug.d/button/

vi /etc/hotplug.d/button/01onoff


and copy these lines inside (remember to push 'i' for insert)


#!/bin/sh

[ "$BUTTON" = "BTN_1" ] && [ "$ACTION" = "pressed" ] && {
SW=$(uci get wireless.@wifi-device[0].disabled)
[ $SW == '0' ] && uci set wireless.@wifi-device[0].disabled=1
[ $SW == '0' ] || uci set wireless.@wifi-device[0].disabled=0
wifi
}


Save and exit

(esc :wq)


Basic configuration



1.) There is a bug in the switch driver in Backfire (10.03) that crashes the wan port. The switch driver was rewritten in 10.03.1, and this shouldn't be a problem in that release. The workaround for 10.03 is to modify the mtu on that port:


uci set network.wan.mtu=1400
uci commit network


Is the same a edit the file:


vi /etc/config/network


in the "config interface wan" add





option mtu 1400

Hardware






























































































Versionv3
Architecture:MIPS   
Vendor:Atheros   
Bootloader:U-Boot   
System-On-Chip:?   
CPU Speed:400 Mhz   
Flash-Chip:?   
Flash size:4 MiB   
RAM-Chip:?   
RAM size:32 MiB   
Wireless:?   
Ethernet:?   
USB:?   
Serial:Yes   
JTAG:?   

quinta-feira, 24 de novembro de 2011

Acertando data/hora no Linux

Para alterar data e hora no GNU/Linux, basta digitar o comando abaixo com seus respectivos valores:
# date mmddhhmmyyyy

O significado de cada conjunto de caracteres é:

  • mm: mês
  • dd: dia
  • hh: hora
  • mm: minuto
  • yyyy: ano


Depois de digitado o comando com os respectivos valores, digite isso para salvar as alterações:

# clock –w

Obs.: Algumas distros já não precisam desse comando.