WDR3500 stuck on bootup after sysupgrade from 21.02.1 to 21.02.2

Luckily, im currentry running Manjaro 21 :sweat_smile:
Can you guide me on what to do? I mean install a cable (after just pluggin it in, nothing seems to happen), i think i know what to do after this.

This is how you do it right?
https://wiki.archlinux.org/title/working_with_the_serial_console

I wouldn't think about this in your situation now, as there's always a small risk for the device

I have an old router (tl-wr741nd) on which i can test first, before trying on wdr3500 one :joy:

Ohh sh*t, okay it is working
Screenshot_20220317_004504
Damn i love linux.

Okay then, tomorrow i will try capture the logs.

1 Like

Just in general, I'd fully boot up the computer and then hotplug the usb2serial adapter, should come up with something similar to the following in dmesg:

usb 2-3: new full-speed USB device number 2 using xhci_hcd
usb 2-3: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-3: Product: CP2102 USB to UART Bridge Controller
usb 2-3: Manufacturer: Silicon Labs
usb 2-3: SerialNumber: 0001
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver cp210x
usbserial: USB Serial support registered for cp210x
cp210x 2-3:1.0: cp210x converter detected
usb 2-3: cp210x converter now attached to ttyUSB0

Yes.
[39844.050189] usb 2-1.2: New USB device found, idVendor=6547, idProduct=0232, bcdDevice= 0.01
[39844.050198] usb 2-1.2: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[39844.050202] usb 2-1.2: Product: USB to UART
[39844.050206] usb 2-1.2: Manufacturer: ArkMicro
[39844.050391] usb 2-1.2: config 0 descriptor??
[39844.050670] ark3116 2-1.2:0.0: ark3116 converter detected
[39844.051935] ark3116 ttyUSB0: using RS232 mode
[39844.052060] usb 2-1.2: ark3116 converter now attached to ttyUSB0
[39853.219166] usb 2-1.2: USB disconnect, device number 10
[39853.219448] ark3116 ttyUSB0: ark3116 converter now disconnected from ttyUSB0
[39853.219490] ark3116 2-1.2:0.0: device disconnected

So now i need to modify grub like this?:

/etc/default/grub
...
GRUB_TERMINAL_INPUT="console serial"
...
GRUB_TERMINAL_OUTPUT="gfxterm serial"
...
/etc/default/grub
...
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200"

Then connect serial cable to the router`s board

And then

screen /dev/ttyUSB0 115200

Right?, after this when booting the device i should see logs?

Not really, you don't need to modify grub at all.

$ screen /dev/ttyUSB0 115200

is quite literally everything necessary to use the usb2serial adapter, after hooking it up to the router (GND-to-GND, rx-to-tx, tx-to-rx - never connect Vcc; voltages need to match, 3.3V in this (most-) cases(s)).

Only problem now is, i dont know which wires on the cable corresponds to GND, rx and tx.

Last time i did this, i just randomly connected wires to the board until it worked :joy:

I know at least 3 of those are the right ones XD

Measuring them with a voltmeter strongly encouraged, but wild guess:
GND: white
Vcc: red
rx/ tx: green/ orange

carefully opening the USB connector (often just pressed together) might reveal the markings on the usb2serial PCB.

sooo i figured it out by trial and error
white - gnd
green - tx
red - rx

this is a piece of the log from wr741nd

U-Boot 1.1.4 (Apr 13 2013 - 16:23:22)

AP91 (ar7240) U-boot
DRAM:  
sri
#### TAP VALUE 1 = 9, 2 = a
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
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... OK

i did use this instead
picocom -b 115200 /dev/ttyUSB0

Now for the main problem.

well, if this is a correct pinout for this board, i can`t capture any logs, there are none, even while using reset button method, or smth is wrong with my cable or pinout.

i will now flash 21.02.1 and see if that will change anything.

i see only those artifacts while connecting cables or powering on/off the device

    ~  sudo picocom -b 115200 /dev/ttyUSB0                                                                                   1 ✘  1m 1s  
picocom v3.1

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 115200
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        : 
omap is        : 
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready
�@?���b�8�@����p(
                 � � �����(z������F>���������H���G�h�@��������� @"'�
������������@��&�9��|~<�����                                        �����)&B�2�X�@�x����@��
                            x�@�
                                � �������Ͽ���^��}��`x����c
                                                          �@�����������������������8�2�
                                                                                       �0@��?|�@�-�
                                                                                                    �<>��� �~�~�������1��
                                                                                                                         �������?�>�����8������������0�������0���P;����� ���l��/������?
                                      0v:��� �?~?z��������▒����<�b���� �����������`���8$��@�x~p�@����������������`��p< 
                                                                                                                       �Ih�� �|��|x���

Could be a bad connection to ground.

Im stuck, it just wont show up anything on the terminal ;(

Have you verified you're on the correct COM port?

You may need to test with the following speeds as well -

1200, 2400, 4800, 9600, 19200, 38400, 57600

You may need to hit a few times after changing speeds.

The information for the TL-WDR4300 should apply, so your picture seems to be correct (still, switch rx/ tx around). Reasons for your observed behaviour often are:

  • incorrect voltages of your usb2serial connector
  • pin (especially ground-) connections not well seated
  • different baud rate (should be 11520, but still try 9600, 19200, 57600, 115200)

I gave up, im sorry, i`ve tried everything i could, maybe someone else can do it.
I think problem is in the cable, maybe wdr3500 needs not a CA-42, but a proper serial dongle, dunno. It worked for the Tp-Link TL-WR741ND but not for the WDR

As for what i`ve tried:
Different combinations of pins, different baud rates, i tried soldering wires to the board, tried soldering ground to different ground point, tried different holes on the board (TP 1-5)

One last thing you could try, only connect your usb2serial adapter a second after powering on the router. It's possible that the SOC gets confused, when it gets voltage via serial (rx of the router, tx of the adapter), before it has had a chance to get initialized.

Tried this to, and after all i double checked that cable was still working again on a different router (still worked as before)

Weird, that would suggest problems with the voltage levels (e.g. 5V instead of 3.3V; a CA-42 compatible should have 3.3V though).

wait, i needed 3.3v pin also? 3.3 GND RX TX ? or only GND RX TX?

This is so confusing, on the wiki it shows 2 images, one where there 3 pins and another with 4 pins


No, never connect Vcc/ 3.3V!

But rx/ tx are also working on a given voltage level, and backfeed electricity into the SOC.

Assuming rx is made to recognize 5V logic levels, your adapter might not be able to distinguish between a 3.3V based logic HIGH/ LOW. At the same time your adapter's tx might push its own signals at 5V into the SOC (which it won't like).