Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
toh:tp-link:archer_c2_ac750 [2021/03/01 09:49] – [TP-Link Archer C2 AC750] Added picture borrominitoh:tp-link:archer_c2_ac750 [2022/06/29 14:20] – [Switch] Add more details about using VLAN IDs above 31 in the outer switch configuration znark
Line 49: Line 49:
 ===== Installation ===== ===== Installation =====
 -> [[docs:guide-user:installation:generic.flashing|Install OpenWrt (generic explanation)]] -> [[docs:guide-user:installation:generic.flashing|Install OpenWrt (generic explanation)]]
- 
  
 <WRAP center round important 60%> <WRAP center round important 60%>
-The following procedure works only on the **<color #ed1c24>V1</color>** model. Please, don't try this on any other revision. You can check which version your C2 is by looking at the bottom of it or, in the router's web interface, **Status** page, **Hardware Version** information, if you are using stock firmware.+The following procedure is known to work only on the **<color #ed1c24>v1</color>** and **<color #ed1c24>v1.1</color>** models. Please, don't try this on any other revision. You can check which version your C2 is by looking at the bottom of it or, in the router's web interface, **Status** page, **Hardware Version** information, if you are using stock firmware.
 </WRAP> </WRAP>
  
 As per the instructions in the [[https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=8375623a064|git commit adding support for the Archer C2 AC750 v1]], you need an OpenWrt image with **integrated bootloader** when flashing through TFTP (TP-Link pretty much always has the bootloader integrated in their firmwares). As per the instructions in the [[https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=8375623a064|git commit adding support for the Archer C2 AC750 v1]], you need an OpenWrt image with **integrated bootloader** when flashing through TFTP (TP-Link pretty much always has the bootloader integrated in their firmwares).
 OpenWrt 19.07.1 can be flashed via TFTP using an unofficial recovery image provided [[https://github.com/orangepizza/openwrt/releases/download/19.07.1/ArcherC2V1_tp_recovery.bin|here]]; however, if you are familiar with the command line and have access to a Linux box, it's recommended you build such an image yourself, as you'll be able to use the latest OpenWrt stable release. See instructions below. OpenWrt 19.07.1 can be flashed via TFTP using an unofficial recovery image provided [[https://github.com/orangepizza/openwrt/releases/download/19.07.1/ArcherC2V1_tp_recovery.bin|here]]; however, if you are familiar with the command line and have access to a Linux box, it's recommended you build such an image yourself, as you'll be able to use the latest OpenWrt stable release. See instructions below.
- 
  
 ==== Creating an OpenWrt TFTP recovery image ==== ==== Creating an OpenWrt TFTP recovery image ====
Line 79: Line 77:
 2. Extract u-boot from the binary file: 2. Extract u-boot from the binary file:
  
-''$ dd if=c2v1_stock_firmware.bin of=c2v1_uboot.bin bs=1 skip=512 count=131072''+<code>$ dd if=c2v1_stock_firmware.bin of=c2v1_uboot.bin bs=1 skip=512 count=131072</code>
  
 3. Now merge the OpenWrt **sysupgrade** image and the u-boot into one binary: 3. Now merge the OpenWrt **sysupgrade** image and the u-boot into one binary:
  
-''$ cat c2v1_uboot.bin openwrt-squashfs-sysupgrade.bin > ArcherC2V1_tp_recovery.bin'' +<code>$ cat c2v1_uboot.bin openwrt-squashfs-sysupgrade.bin > ArcherC2V1_tp_recovery.bin</code>
  
 ==== Flashing OpenWRT ==== ==== Flashing OpenWRT ====
Line 93: Line 90:
   * The device will try to download the recovery image and flash it. This might take up to 20-25 minutes to finish. When done, the router will reboot itself.   * The device will try to download the recovery image and flash it. This might take up to 20-25 minutes to finish. When done, the router will reboot itself.
   * After reboot, you can access OpenWrt at 192.168.1.1. From here on out, you can simply use sysupgrade with the **vanilla** OpenWrt images to upgrade.   * After reboot, you can access OpenWrt at 192.168.1.1. From here on out, you can simply use sysupgrade with the **vanilla** OpenWrt images to upgrade.
- 
  
 <WRAP center round info 95%> <WRAP center round info 95%>
Line 99: Line 95:
  
 If you encounter timeouts, you might want to put a switch between your router and client to facilitate the flashing process. The tips below might not be needed after that. If you encounter timeouts, you might want to put a switch between your router and client to facilitate the flashing process. The tips below might not be needed after that.
- 
-A few users reported that flashing via TFTP server was only possible when the option "Use anticipation window of" with 1000 bytes was enabled in TFTPD32 for Windows. So, if your flashing process hang at some point, restart the process with this option enabled. 
  
 Also, you //might// have to lower your ethernet link to 10 Mbps Half Duplex in order to finish the process. Also, you //might// have to lower your ethernet link to 10 Mbps Half Duplex in order to finish the process.
Line 106: Line 100:
 </WRAP> </WRAP>
  
 +
 +<WRAP center round important 95%>
 +
 +A few users reported that flashing via TFTP is not always possible on some devices. Apparently there was a slight hardware change in some produced devices that causes TFTP inside u-boot to expect [[https://datatracker.ietf.org/doc/html/rfc7440|RFC7440]] behavior without actually requesting RFC7440 behavior.
 +There is a [[https://forum.openwrt.org/t/tftp-download-from-tp-link-archer-c2-does-not-work-properly/65531/|forum thread]] with a detailed analysis of the issue and possible solutions.
 +
 +**TLDR:**
 +
 +If you want to stick to flashing via TFTP:
 +  * on Windows use [[https://pjo2.github.io/tftpd64/|TFTPD32/64]] with the option ''Use anticipation window of 1000 bytes''
 +  * on every other platform you could use [[https://github.com/apardyl/PyTFTPd|apardyl/PyTFTPd]] with the patch provided by ''pbasista'' in the forum thread
 +
 +Otherwise your best option is to establish a serial connection to the device and then load the image via ''kermit'' (either directly copying it into the flash or booting an ''initramfs'' variant from memory and then flashing via ''OpenWrt'').
 +
 +Other variants and more information is provided in the aforementioned forum thread.
 +
 +</WRAP>
  
 Similar instructions can be found as posted by OpenWrt forum member **yoq** [[https://forum.openwrt.org/viewtopic.php?pid=347582#p347582|here]]. Old recovery image **c2_recovery.zip** can be downloaded [[http://beinder.at/pub/c2_recovery.zip|here]]. Similar instructions can be found as posted by OpenWrt forum member **yoq** [[https://forum.openwrt.org/viewtopic.php?pid=347582#p347582|here]]. Old recovery image **c2_recovery.zip** can be downloaded [[http://beinder.at/pub/c2_recovery.zip|here]].
Line 123: Line 134:
 ^ filesystem    //none//  |  //none//  |  [[docs:techref:filesystems#SquashFS]]  |  [[docs:techref:filesystems#JFFS2]]  |  //none//  |  //none//  |  //none//  |  //none//  | ^ filesystem    //none//  |  //none//  |  [[docs:techref:filesystems#SquashFS]]  |  [[docs:techref:filesystems#JFFS2]]  |  //none//  |  //none//  |  //none//  |  //none//  |
 * These seemingly irregular values are the result of the dynamic mtd splitter resizing the OpenWrt kernel and rootfs 'partitions' as needed. Sizes are extracted from a personalised build, so //kernel//, //rootfs// and //rootfs_data// values may slightly differ on stock OpenWrt builds (and also between 19.07, 21.02 and master e.g.). Other partition sizes should be identical. * These seemingly irregular values are the result of the dynamic mtd splitter resizing the OpenWrt kernel and rootfs 'partitions' as needed. Sizes are extracted from a personalised build, so //kernel//, //rootfs// and //rootfs_data// values may slightly differ on stock OpenWrt builds (and also between 19.07, 21.02 and master e.g.). Other partition sizes should be identical.
 +
 ===== Hardware ===== ===== Hardware =====
 See the [[/toh/tp-link/archer_c2_ac750#tab__hardware_details|hardware details tab]] at the top of the page. See the [[/toh/tp-link/archer_c2_ac750#tab__hardware_details|hardware details tab]] at the top of the page.
  
-==== Pictures of the Ver. 1.0 board ==== +==== Pictures of the board ====
-{{media:tplink:archer_c2_ac750_t.jpg?400|}}  {{media:tplink:archer_c2_ac750_b.jpg?400|}}+
  
 The case is a bit hard to open, start with the two screws. Then start prying the lid from the bottom of the case, starting at the side with the ethernet connectors, There are 11 notches all around keeping the lid in place. They come loose by pushing the bottom part of the case outward. The case is a bit hard to open, start with the two screws. Then start prying the lid from the bottom of the case, starting at the side with the ethernet connectors, There are 11 notches all around keeping the lid in place. They come loose by pushing the bottom part of the case outward.
  
 +**v1**
 +
 +{{media:tplink:archer_c2_ac750_t.jpg?400|}} {{media:tplink:archer_c2_ac750_b.jpg?400|}}
 +
 +**v1.1**
 +
 +{{:media:tplink:archer-c2-v1:archer_c2_v1.1_front.jpg?400|}} {{:media:tplink:archer-c2-v1:archer_c2_v1.1_back.jpg?400|}}
  
 ==== Serial ===== ==== Serial =====
Line 138: Line 156:
 </WRAP> </WRAP>
  
- +^ Serial connection parameters for Archer C2 AC750 v1 | 115200, 8N1 |
-^ Serial connection parameters for NETGEAR GS108T v3 | 115200, 8N1 |+
  
 The Serial connector is labeled 'J2', and is wired as follows. See picture below for the location on the board. The Serial connector is labeled 'J2', and is wired as follows. See picture below for the location on the board.
Line 151: Line 168:
                
     Led side of PCB     Led side of PCB
- 
  
 Where 'RX' connects to the output of your serial adapter, and TX, connects to the input of your serial adapter. You can verify this, by using a volt meter to check that 'TX' pin is at Vcc level, and the RX pin is at GND level. The bootloader of the stock firmware can be interrupted by pressing a digit from 1 .. 7, press '4' for the u-boot prompt. From the serial console, you can login to the running Linux based stock firmware with: username 'admin' and password '1234'. Where 'RX' connects to the output of your serial adapter, and TX, connects to the input of your serial adapter. You can verify this, by using a volt meter to check that 'TX' pin is at Vcc level, and the RX pin is at GND level. The bootloader of the stock firmware can be interrupted by pressing a digit from 1 .. 7, press '4' for the u-boot prompt. From the serial console, you can login to the running Linux based stock firmware with: username 'admin' and password '1234'.
Line 164: Line 180:
  
 {{:media:tplink:archer-c2-v1:archer_c2_v1_-_board_serial_red_rectangle.jpg?300.jpg}} {{:media:tplink:archer-c2-v1:archer_c2_v1_-_board_serial_red_rectangle.jpg?300.jpg}}
 +
 ===== Switch ====== ===== Switch ======
 +
 The C2 uses a external GBit switch, connected by MDIO bus. Network traffic to the CPU is passed through the internal switch of the MT7620A SoC: The C2 uses a external GBit switch, connected by MDIO bus. Network traffic to the CPU is passed through the internal switch of the MT7620A SoC:
 +
 <code>             +---------------+ <code>             +---------------+
               MT7620A CPU  |               MT7620A CPU  |
Line 188: Line 207:
  
  
 +
 +<WRAP center round info 60%>
 +Earlier versions of this article suggested “the driver for OpenWrt” (for the RTL8367R(B) switch chip) would have limited the range of usable 802.1q VLAN IDs to 1 – 31.
 +
 +While this may have been true for some earlier builds (could not confirm immediately), OpenWrt 21.02.3 (at least) no longer seems to suffer from such //hard// limit. There is still a //soft// limit which, for some reason, makes VLAN IDs above 31 unusable and non-working by default, but you can override this limit and use the full range of VLAN IDs by setting the ''enable_vlan4k'' option to ''1'' in the ''switch1'' section of the ''/etc/config/network'' configuration file, as follows:
 +
 +<code>
 +config switch
 +        option name 'switch1'
 +        option reset '1'
 +        option enable_vlan '1'
 +        option enable_vlan4k '1'
 +</code>
 +
 +If you edit the switch VLAN configuration in LuCI, it may add the ''enable_vlan4k'' configuration directive automatically for you. But for manual edits, you need to do it yourself to be able to get the higher-numbered VLAN IDs work.
 +</WRAP>
 +
 +<WRAP center round important 60%>
 +OpenWrt releases 21.02.0 — 21.02.3 (the latest official release as of this writing) appear to have a regression in their default network configuration which makes the inner (MT7620A) switch visible in LuCI as ''switch0'' for no real purpose, with a pseudo VLAN configuration that makes no sense.
 +
 +The router works as it should but configuring VLANs through LuCI may not work as expected and only the outer switch (''switch1'', RTL8367B) configuration is relevant. A bug report has been filed on this by the ID [[https://github.com/openwrt/openwrt/issues/8871|FS#3879 - Incorrect switch config for TP-Link Archer C2 AC750 #8871]].
 +
 +Until fixed in later releases, you can work around the issue by removing the extraneous ''switch0'' configuration from the file ''/etc/config/network''. This is best accomplished by issuing the following commands in the command line:
 +
 +<code>
 +uci delete network.@switch[0]
 +uci commit
 +reboot
 +</code>
 +</WRAP>
 ===== UBoot ====== ===== UBoot ======
  
Line 212: Line 261:
 | Green   | LAN    | 1      | Active low   | | Green   | LAN    | 1      | Active low   |
 | Green   | USB    | 11     | Active low   | | Green   | USB    | 11     | Active low   |
- 
  
 ===== Forum Threads ===== ===== Forum Threads =====
Line 221: Line 269:
  
 Thanks to everyone that contribute to make this possible. Thanks to everyone that contribute to make this possible.
- 
  
 ===== Tags ===== ===== Tags =====
 [[meta:tags|How to add tags]] [[meta:tags|How to add tags]]
 {{tag>ramips mt7620a usb 64ram 8flash mips32 mips MT7620A mt7620 mediatek mt7610e usb2.0 1usb gigabitethernet 2ant NonDetachableAntenna 5Port serial U-boot 24k 24kec 2x2 12v_powered wlan 2button 2wnic 802.11ac 802.11n 802.11g 802.11b 802.11a simultan 802.11abgn_simultan}} {{tag>ramips mt7620a usb 64ram 8flash mips32 mips MT7620A mt7620 mediatek mt7610e usb2.0 1usb gigabitethernet 2ant NonDetachableAntenna 5Port serial U-boot 24k 24kec 2x2 12v_powered wlan 2button 2wnic 802.11ac 802.11n 802.11g 802.11b 802.11a simultan 802.11abgn_simultan}}
  • Last modified: 2024/02/13 16:08
  • by jow