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
inbox:toh:askey:rt4230w_rev6 [2022/10/30 22:49] – [Different Revisions] added serial numbers for REV6 jturn08inbox:toh:askey:rt4230w_rev6 [2024/02/12 08:58] – external edit
Line 11: Line 11:
  
 ===== Hardware Highlights ===== ===== Hardware Highlights =====
----- datatable ---- +<!-- ToH: { 
-cols    ModelVersionsCPU, CPU MHz, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4GHz, WLAN 5.0GHz, Ethernet Gbit ports_USB ports_ +  "source""json", 
-header  : ModelVersion,SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,Gbit ports,USB +  "dom": "t", 
-align   c,c,c,c,c,c,c,c,c,c,c,c,c +  "paging": false
-filter  : Model~RT4230W +  "rotate"true
-sort    : Model +  "shownColumns"["model""version""cpu""cpumhz""flashmb""rammb""wlanhardware""wlan24ghz""wlan50ghz""ethernet1gports""usbports"]
-----+  "filterColumns"{"model": "^RT4230W$"} 
 +-->
  
 ===== Installation ===== ===== Installation =====
----- datatable ---- 
-cols    : Model, Versions, Supported Current Rel, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url 
-headers : Model, Version, Current Release, Firmware OpenWrt Install, Firmware OpenWrt Upgrade, Firmware OEM Stock 
-align   : c,c,c 
-filter  : Model=RT4230W 
----- 
-For explanation of different images, see [[docs:guide-user:installation:before.installation|FAQ before installation]] 
  
-==== Method 1Installation using web interface, SSH, and tftp (Only works for RAC2V1K) ==== +OpenWrt firmware[[https://firmware-selector.openwrt.org/?target=ipq806x%2Fgeneric&id=askey_rt4230w-rev6|https://firmware-selector.openwrt.org]]
-Method 1 doesn't require opening the case and works with RAC2V1K models (exserial number beginning with A922 or AD31)+
  
-**This method does NOT work with SAC2V1K** (exrouter has QR code next to serial number sticker and has a serial number beginning with AD70 or AE32)You need to use installation method 2 that requires disassembling router and using serial access +For explanation of different images, see [[docs:guide-user:installation:before.installation|FAQ before installation]].
  
-//Instructions were tested with (X)ubuntu 22.04 with RAC2V1K with a serial number beginning with AD31 and stock FW 1.1.16 and 1.1.31//+==== Method 1: Installation over the network without serial access (Only works with non-SAC2V1K firmware) ==== 
 +Method 1 doesn't require opening the case and works with non-SAC2V1K firmware (ex: serial number beginning with A922 or AD31). **This method does NOT work with SAC2V1K firmware** (example of SAC2V1K firmware: router has QR code next to serial number sticker and has a serial number beginning with AD70 or AE32)Instead, use installation method 2 that requires disassembling the router to access the serial console.
  
-**Follow along at your own risk. There's a chance that the router may soft-brick if you use the wrong bootcmd but as long as you have serial access and u-boot still works you can use installation method 2 to recover. **+**WARNING: If you soft-brick your router, you will need to disassemble it to access the serial console in order to recover. You can use installation method 2 in that case.**
  
-Connect a network cable to your computer and the blue (switchport of the router.+Stock non-SAC2V1K firmware: https://github.com/Lanchon/rt4230w-rev6-stock-firmware 
 +==== Method 1A: Installation using web interface and SSH (only works with non-SAC2V1K firmware==== 
 +This is the recommended install method. It does not require setting up a TFTP server and thus is quick and easy, it produces full backups of the router, and it installs dual OSes: main and recovery. The recovery OS will run automatically if the main OS ever gets corrupted, for example due to an interrupted sysupgrade. It also configures the router to attempt a TFTP boot if both OSes are corrupt.
  
-Login to stock router at ''http://192.168.1.1/'' with the default username and password (ex: admin). Then navigate to **Admin > Configuration** page in the stock router web interface. Upload the corresponding config file from [[https://github.com/lmore377/openwrt-rt4230w/raw/master/RAC2V1K-SSH.zip|RAC2V1K-SSH.zip]] [[https://www.mediafire.com/file/2snxez1bdc5mp3i/RAC2V1K-SSH.zip/file|mirror RAC2V1K-SSH.zip]] file that corresponds to the stock firmware version of the router.  (If you're firmware is newer than what's in the zip file, just restore the latest file).+Note that this method must be executed under the WSL (Windows Subsystem for Linux) if you are running Windows. 
 + 
 +See instruction here: https://github.com/Lanchon/openwrt-rt4230w-rev6 
 + 
 +==== Method 1B: Installation using web interface, SSH, and TFTP (only works with non-SAC2V1K firmware) ==== 
 +//Instructions were tested on Ubuntu 22.04 with RAC2V1K with a serial number beginning with AD31 and stock FW version 1.1.16, 1.1.31, 1.2.4// 
 + 
 +Download the OpenWrt initramfs and sysupgrade (squashfs) images for your router. Install and set up a tftp server (see [[docs:guide-user:installation:generic.flashing.tftp|install OpenWrt over TFTP]]). 
 + 
 +Connect a network cable between your computer and the blue (switch) port of the router. Configure your computer with static IP address ''192.168.1.2''
 + 
 +Login to stock router at ''http://192.168.1.1/'' with the default username and password (admin, admin). Then navigate to **Advanced > Admin > Configuration** page in the stock router web interface. Use **Restore from File** option and upload the corresponding config file from [[https://github.com/lmore377/openwrt-rt4230w/raw/master/RAC2V1K-SSH.zip|RAC2V1K-SSH.zip]] [[https://www.mediafire.com/file/2snxez1bdc5mp3i/RAC2V1K-SSH.zip/file|mirror RAC2V1K-SSH.zip]] file that corresponds to the stock firmware version of the router (from **Advanced > Status > System Information** page).  (If you're firmware is newer than what's in the zip file, just restore the latest file).
  
 The router automatically reboots. Afterwards, you can ssh into the router with the username for your firmware from the [[https://pastebin.com/raw/ub8Um4ug|Readme]]. You may need to include extra parameters for ssh to work, such as ''ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-rsa technician@192.168.1.1'' The router automatically reboots. Afterwards, you can ssh into the router with the username for your firmware from the [[https://pastebin.com/raw/ub8Um4ug|Readme]]. You may need to include extra parameters for ssh to work, such as ''ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-rsa technician@192.168.1.1''
  
-From ssh, run the following commands:+From ssh, run these commands to configure a booting attempt via TFTP with fallback to stock firmware:
 <code> <code>
-fw_setenv ipaddr 10.42.0.10 #IP of router, can be anything +fw_setenv bootcmd 'set ipaddr 192.168.1.1; set serverip 192.168.1.2; tftpboot recovery.bin && bootm; bootipq
-fw_setenv serverip 10.42.0.1# #IP of tftp server that's set up in next steps +fw_setenv bootdelay 2
-fw_setenv bootdelay 5 +
-fw_setenv bootcmd "tftpboot initramfs.binbootm; bootipq"+
 </code> </code>
  
-Don't reboot the router yetInstall and set up a tftp server on your computerFor instructions, follow [[docs:guide-user:installation:generic.flashing.tftp|install OpenWrt over TFTP]] on this model.\\  +Rename the OpenWrt initramfs image file ''recovery.bin'', and host it with the tftp server.
-->  [[docs:guide-user:installation:generic.flashing.tftp]]+
  
-Configure your computer with a static IP address (needs to be the same as ''serverip'' from ssh commands).+Reboot the router. The router will run as a TFTP client at ''192.168.1.1'' and connect to your computer at ''192.168.1.2'' to download and run the ''recovery.bin'' OpenWrt image from RAM. If you set up everything right, the router LED should switch over to a slow blue glow which means OpenWrt is booted and running in recovery (initramfsmode. The recovery will have default web address ''http://192.168.1.1'' with user root, no password. You can ssh into it by running ''ssh root@192.168.1.1''.
  
-Download the **Firmware OpenWrt Install** imagerename it to ''initramfs.bin'', and host it with the tftp server+After you've confirmed your router is booted to OpenWrt in recovery modedisable your computer's tftp server by running ''sudo ufw deny tftp''
  
-Reboot the router. The router will run as a TFTP client at ''10.42.0.10'' and connect to your computer at ''10.42.0.1'' to download install the ''initramfs.bin'' OpenWrt Install image. If you set up everything right, the router LED should switch over to a slow blue glow which means OpenWrt is booted.+ssh into OpenWrt and run this command to configure OpenWrt boot (autodetects flash size): 
 +<code> 
 +fw_setenv bootcmd 'set mtdids nand0=nand0; set mtdparts mtdparts=nand0:416M@0x2400000(mtd_ubi); ubi part mtd_ubi && ubi read 0x44000000 kernel && bootm; set mtdparts mtdparts=nand0:220M@0x2400000(mtd_ubi); ubi part mtd_ubi && ubi read 0x44000000 kernel && bootm' 
 +</code>
  
-After your router is booted to OpenWrt, configure your computer with a static IP like ''192.168.1.2''.+Next, use the OpenWrt sysupgrade image file and upgrade to sysupgrade OpenWrt firmware (using lucietc.)See [[docs:guide-quick-start:sysupgrade.luci|Upgrading OpenWrt firmware using LuCI]]
  
-ssh into OpenWrt using root user with no password by running ''ssh root@192.168.1.1''+The router will reboot and, if all went well, you'll now have OpenWrt running. The router will have default address ''http://192.168.1.1'' with user root, no password.
  
-Verify your router is rac2v1k model with serial number beginning with A922 or AD31 with 512MB flash memorythen run these commands:+==== Method 2: Installation using serial access and TFTP (works with all firmware versions) ==== 
 +Method 2: Install with serial access (Do this if something fails and you can't boot after using method 1) 
 +Open the router and connect to the serial console. Instructions can be found here: https://openwrt.org/inbox/toh/askey/rt4230w_rev6#opening_the_case 
 + 
 +Download the OpenWrt initramfs and sysupgrade (squashfs) images for your router. Install and set up tftp server (see [[docs:guide-user:installation:generic.flashing.tftp|install OpenWrt over TFTP]]). 
 + 
 +Connect network cable between your computer and the blue (switch) port of the router. Configure your computer with static IP address ''192.168.1.2''
 + 
 +Rename the OpenWrt initramfs image file to ''recovery.bin''and host it with the tftp server. 
 + 
 +Interrupt U-Boot and run these commands to configure OpenWrt boot (autodetects flash size):
 <code> <code>
-fw_setenv bootcmd "setenv mtdids nand0=nand0 && set mtdparts mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware && ubi read 0x44000000 kernel 0x6e0000 && bootm" +set bootcmd 'set mtdids nand0=nand0set mtdparts mtdparts=nand0:416M@0x2400000(mtd_ubi); ubi part mtd_ubi && ubi read 0x44000000 kernel && bootm; set mtdparts mtdparts=nand0:220M@0x2400000(mtd_ubi); ubi part mtd_ubi && ubi read 0x44000000 kernel && bootm' 
-fw_setenv bootdelay 2+set bootdelay 2 
 +saveenv
 </code> </code>
-Now, download the sysupgrade image and upgrade the OpenWrt firmware (using luci, etc.). See [[docs:guide-quick-start:sysupgrade.luci|Upgrading OpenWrt firmware using LuCI]] 
  
-As the router reboots, unplug the ethernet cord to make sure it's not trying to boot over tftp again+And run this command to boot once via TFTP: 
 +<code> 
 +set ipaddr 192.168.1.1; set serverip 192.168.1.2; tftpboot recovery.bin && bootm 
 +</code>
  
-If all went well, you'll now have OpenWrt running. The router will have default address ''http://192.168.1.1'' with user root, no password.  +The router will run as a TFTP client at ''192.168.1.1'' and connect to your computer at ''192.168.1.2'' to download and run the ''recovery.bin'' OpenWrt image from RAM. If you set up everything right, the router LED should switch over to a slow blue glow which means OpenWrt is booted and running in recovery (initramfs) mode. The recovery will have default web address ''http://192.168.1.1'' with user root, no password. You can ssh into it by running ''ssh root@192.168.1.1''.
  
-==== Method 2: Installation with serial access (Works with RAC2V1K and SAC2V1K) ==== +Next, use the OpenWrt sysupgrade image file and upgrade to sysupgrade OpenWrt firmware (using luci, etc.). See [[docs:guide-quick-start:sysupgrade.luci|Upgrading OpenWrt firmware using LuCI]]
-Method 2: Install with serial access (Do this if something fails and you can't boot after using method 1(Works with RAC2V1K and SAC2V1K) +
-Open the router and connect to the serial consoleInstructions can be found herehttps://openwrt.org/inbox/toh/askey/rt4230w_rev6#opening_the_case+
  
-Install and set up a tftp server+The router will reboot and, if all went well, you'll now have OpenWrt running. The router will have default address ''http://192.168.1.1'' with user root, no password.
  
-Set a static ip on the ethernet interface of your computer+(Originally based on: github.com/lmore377)
  
-Download the initramfs image, rename it to initramfs.bin, and host it with the tftp server+==== Installation of a recovery OS ==== 
 +An secondary recovery OS (an initramfs OpenWrt image) can be installed on this device. The recovery OS will run automatically if the main OS ever gets corruptedfor example due to an interrupted sysupgrade.
  
-Connect the wan port of the router to your computer+See here for details: https://github.com/Lanchon/openwrt-rt4230w-rev6#install-a-recovery-image-if-you-installed-openwrt-through-any-other-method
  
-Interrupt U-Boot and run these commands: +===== Basic configuration ===== 
-  setenv serverip 10.42.0.1 (You can use whatever ip you set for the computer) +-> [[docs:guide-user:base-system:start|Basic configuration]] After flashing, proceed with this.\\ 
-  setenv ipaddr 10.42.0.10 (Can be any ip as long as it's in the same subnet) +Set up your Internet connection, configure wireless, configure USB port, etc.
-  setenv bootcmd "setenv mtdids nand0=nand0 && set mtdparts mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware && ubi read 0x44000000 kernel 0x6e0000 && bootm"+
  
-If you have a SAC2V1K router, use this bootcmd instead:  +===== Specific Configuration =====
-  setenv bootcmd "setenv mtdids nand0=nand0 && set mtdparts mtdparts=nand0:0xDC00000@0x2400000(firmware) && ubi part firmware && ubi read 0x44000000 kernel 0x6e0000 && bootm" +
-  saveenv +
-  tftpboot initramfs.bin +
-  bootm+
  
-After OpenWrt boots, figure out a way to flash the sysupgrade file (luci, sftp, flash drive, etc.)+==== Network interfaces ==== 
 +The default network configuration is: 
 +^ Interface Name ^ Description        ^ Default configuration ^ 
 +| br-lan (eth1.1) | LAN & WiFi         | 192.168.1.1/24        | 
 +| wan (eth0.2)    | WAN                | DHCP client           | 
 +| vlan1 (eth1.1)  | LAN ports (1 to 4) | None                  | 
 +| vlan2 (eth0.2 | WAN port           | None                  | 
 +| radio0          | WiFi 5G            | Disabled              | 
 +| radio1          | WiFi 2.4G          | Disabled              |
  
-The router will reboot and if all went well, you'll now have OpenWrt running.+==== Switch Ports (for VLANs)  ====
  
-credits: github.com/lmore377+OpenWrt Switch port number 1 is the physical network port labeled Internet (WAN) on the device, numbers 2-5 are the Ethernet ports labeled 1-4 on the device, and number 0 and 6 are internal connections between the switch chip and the CPU (labeled "CPU" in LuCI)Use these //switch// port numbers when specifying a VLAN's ports via the UCI (i.e., in the ''ports'' option of a VLAN's ''config switch_vlan'' section, in ''/etc/config/network'').
  
-===== Tuning ===== +By default, ''eth0'' is used for traffic to/from the ISP and ''eth1'' is for traffic to/from the local network.
-Enable Software flow offloading in Network > Firewall+
  
-This router has the same soc as the Netgear R7800, so thanks to [[https://forum.openwrt.org/t/r7800-performance/15780/29|this forum post]] and the device page for this:+^ Port             ^ Switch port   ^ 
 +CPU (eth0)       | 0             | 
 +| WAN              | 1             | 
 +| LAN 1            | 2             | 
 +| LAN 2            | 3             | 
 +| LAN 3            | 4             | 
 +| LAN 4            | 5             | 
 +| CPU (eth1)       | 6             | 
 +==== Performance tuning ====
  
-To reach peak performance, paste the following lines into System > Startup > Local Startup:+In **Network > Firewall > General Settings**, in section **Routing/NAT Offloading** enable **Software flow offloading**. 
 + 
 +**IMPORTANT:** The information below no longer applies to OpenWrt 23.05 (kernel 5.15.134). 
 + 
 +<hidden> 
 +Recent OpenWrt releases use the ''performance'' governor by default, obviating the need for further configuration and keeping the CPUs always at max frequency: 
 + 
 +<code> 
 +root@OpenWrt:~# cat /sys/devices/system/cpu/cpufreq/policy*/scaling_governor 
 +performance 
 +performance 
 +</code> 
 + 
 +(Also, the referenced sysfs files (''/sys/devices/system/cpu/cpufreq/ondemand/*'') no longer exist.) 
 + 
 +**OUTDATED INFORMATION FOLLOWS:**  
 + 
 +This router has the same SoC as the Netgear R7800, so thanks to [[https://forum.openwrt.org/t/r7800-performance/15780/29|this forum post]] and the device page for this: 
 + 
 +To reach peak performance, paste the following lines into **System > Startup > Local Startup**:
  
 <code> <code>
Line 115: Line 163:
 echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor     echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor    
 </code> </code>
 +</hidden>
  
 ===== Hardware ===== ===== Hardware =====
Line 131: Line 180:
 ^ JTAG             | ¿ | ^ JTAG             | ¿ |
  
-==== Different Revisions ====+ ==== Different Revisions ==== 
 +**NOTE:** Some Spectrum wireless routers have similar outward appearance, but different internal hardware.  
 +  * Sagemcom RAC2V1S, RAC2VS2S, RAC2V2S (Broadcom SoC, not supported by OpenWrt as of 2022) 
 +  * [[inbox:toh:arris:tr4400_v2|Arris TR4400 v2 / RAC2V1A]] (has more difficult OpenWrt installation steps) 
 It seems like Askey has 5 revisions of the same router based off of the device trees extracted from the original firmware. Here's a list of differences that are known. The reference revision is rev 6 since that seems to be the most common and that's the one development has been happening on. The most accurate way to get the revision is to run `cat /proc/device-tree/model` on the router over ssh or printenv in uboot with the serial console and match the machine ID to the revision. Firmware can vary and it looks like it doesn't usually correlate with the revision (For reference, the RAC firmware has a webui and can be rooted with a modified config file and the SAC firmware can only be controlled with the My Spectrum app and is completely locked down.) It seems like Askey has 5 revisions of the same router based off of the device trees extracted from the original firmware. Here's a list of differences that are known. The reference revision is rev 6 since that seems to be the most common and that's the one development has been happening on. The most accurate way to get the revision is to run `cat /proc/device-tree/model` on the router over ssh or printenv in uboot with the serial console and match the machine ID to the revision. Firmware can vary and it looks like it doesn't usually correlate with the revision (For reference, the RAC firmware has a webui and can be rooted with a modified config file and the SAC firmware can only be controlled with the My Spectrum app and is completely locked down.)
 <hidden> <hidden>
Line 139: Line 192:
 | REV 3            | ?        | 177b         | Has an extra led pin (gpio25) to lower the led brightness. There's two more ethernet aliases and the first two are almost identical. | Ethernet and the led may be buggy or completely broken but it should at least boot and WiFi should work. Has dual wan ports.| No | | REV 3            | ?        | 177b         | Has an extra led pin (gpio25) to lower the led brightness. There's two more ethernet aliases and the first two are almost identical. | Ethernet and the led may be buggy or completely broken but it should at least boot and WiFi should work. Has dual wan ports.| No |
 | REV 5            | ?        | 177c         | Has an extra led pin (gpio25) to lower the led brightness. Setting to high or low has no effect on rev 6. qca,ar8327-initvals has extra values in the device tree. | Mostly everything should work fine but the led may be a bit buggy. | No |  | REV 5            | ?        | 177c         | Has an extra led pin (gpio25) to lower the led brightness. Setting to high or low has no effect on rev 6. qca,ar8327-initvals has extra values in the device tree. | Mostly everything should work fine but the led may be a bit buggy. | No | 
-| REV 6            | 512MB    | 177d         | Reference Revision | | Yes | So far, this version has only been seen with the RAC firmware. **Works with 22.03.x stable release.** Has a serial number beginning with A922 or AD31.|+| REV 6            | 512MB    | 177d         | Reference Revision | **Works with 22.03.x stable release** | Yes | So far, this version has only been seen with the RAC firmware. Has a serial number beginning with A922 or AD31.|
 | REV 10           | 256MB    | 177e         | Smaller flash. Missing usb3_dev_reset_quirk in device tree. | Seems to work fine. OpenWRT seems to automatically adapt to the smaller flash. | Yes | This version has been seen with both the SAC and RAC firmware. It also needs a slightly different bootcmd because of the smaller flash (bascally just replace 0x1A000000 with 0xDC00000)| | REV 10           | 256MB    | 177e         | Smaller flash. Missing usb3_dev_reset_quirk in device tree. | Seems to work fine. OpenWRT seems to automatically adapt to the smaller flash. | Yes | This version has been seen with both the SAC and RAC firmware. It also needs a slightly different bootcmd because of the smaller flash (bascally just replace 0x1A000000 with 0xDC00000)|
  
  • Last modified: 2024/05/08 05:29
  • by lanchon