Meanwhile I am looking at CP2102, the ones for USB-micro port are a lot cheaper than the one with a full-size USB jack. (if I look at the sellers from Germany: hoping that they are reputable) Does an adapter for USB-Micro work just the same with a laptop over USB-USB-micro cable ?
It should work. The USB power supply for external ports should be the same 5V at least.
I remember the logical levels being selectable via the driver on some adapters.
It is unlikely if it still works. There should be only two signal levels, but the zero level could be wrong, if well grounded and not having an issue with the baud rate/parity/stop bits setting. 4V is possibly in the device limits, but it could be checked into the datasheet. If we are going to mod the adapter itself, zener diodes could be added in order the maximum logical level to be limited by hardware.
for RX & TX connected together that is only on the adapter
there is no need for the GND in this case
looking back your log print out, I feel your USB adapter is working no problems.
the router powered on, the first stage is the bootloader log --- mismatched on the speed, maybe it's 57600bps.
then on the linux kernel print out, speed is 115200bps, all ok after the serial port re-initialized.
Now I tried a few things:
This worked: when I typed something, it showed up. So RX+TX of the adapter as such are functional. I guess the problem lies in the communication with the router (or router itself).
@RadioOperator I tried with Baudrate 57600, but then it didn't show anything, not even jumbled words. I tried a few other Baudrates, but didn't seem to work....
Now I'm looking at data sheet:
Baudrate is 115200, and Voltage should be 3.3V. Perhaps it doesn't understand 4V? It's also weird that the voltage is different if I use Macbook or Raspi. Is the adapter too cheap, that it can't give a consistent voltage?
It may possibly went over 4V at some point. It will understand the high logical level, but may not understand the low if it's over 1.8-2.4V
Some transceivers do tolerate a maximum limit of 0.3V or 0.5V over the I/O supply voltage. However this appears to be unspecified into the SoC datasets, but you can measure the supply. So if it's 2.75-3V, there is a chance the RX of the router to be already faulty.
If your adapter board version is with zener diodes you may add or replace the existing ones with BZV55C3V0 (recommended) or BZV55C3V3. There should be some resistor between the zener diode and the chip. One of the pins of the CH340 must be connected to the power supply if in 3.3V mode. The pin number is dependent of the chip package and can be obtained via the datasheet. When in 3.3V mode the high level of the CH340 should be 3.8V maximum.
Now, I got CP2102 to see if it makes any difference. It indeed did: there are no jumbled words anymore. And once I even got to
U-Boot 1.1.4 (Jun 13 2014 - 15:14:01) ap135 - Scorpion 1.0DRAM: sri Scorpion 1.0 ath_ddr_initial_config(211): (16bit) ddr1 init tap = 0x00000002 Tap (low, high) = (0xaa55aa55, 0x0) Tap values = (0x8, 0x8, 0x8, 0x8) 4 MB eth1 up eth0, eth1 Setting 0x18116290 to 0x58b1a14f Autobooting in 1 seconds ## Booting image at 9f020000 ... Uncompressing Kernel Image ...
However, I also got to the point like the long log above, once also something else happened, like this:
U-Boot 1.1.4 (Jun 13 2014 - 15:14:01) ap135 - Scorpion 1.0DRAM: sri Scorpion 1.0 ath_ddr_initial_config(211): (16bit) ddr1 init tap = 0x00000002 Tap (low, high) = (0xaa55aa55, 0x0) Tap values = (0x8, 0x8, 0x8, 0x8) 4 MB Scorpion ----> S17 PHY * athrs17_reg_init: complete : cfg1 0x80000000 cfg2 0x7114 eth0: ba:be:fa:ce:08:41 eth0 up athrs17_reg_init_wan done SGMII in forced mode athr_gmac_sgmii_setup SGMII done : cfg1 0x800c0000 cfg2 0x7214 eth1: ba:be:fa:ce:08:41 HH???!=QMᦊ5?zj root@HOTSPLO??LOTS:/# root@HOTSPLOTS:/# root@HOTSPLOTS:/# root@HOTSPLOTS:/# root@HOTSPLOTS:/# root@HOTSPLOTS:/#
but 99% of the time it stops at
albertus:dev johanna$ sudo cu -l /dev/cu.SLAB_USBtoUART -s 115200 Connected. ? U-Boot 1.1.4 (Jun 13 2014 - 15:14:01) ap135 - Scorpion 1.0DRAM: sri Scorpion 1.0 ath_ddr_initial_config(211): (16bit) ddr1 init tap = 0x00000002 Tap (low, high) = (0xaa55aa55, 0x0) Tap values = (0x8, 0x8, 0x8, 0x8) 4 MB
and I can't go anywhere else..... Now, no matter what I try (improving contact, pressing the reset button etc), I get only this and doesn't go beyond this.
Does anyone have an idea what I should do? The voltage was, Tx: about 3.5V, Rx: about 2.2V. May be it's too weak?