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/09/04 07:30] – [Installation] snapshot to stable release ulpianinbox: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 
----- 
  
-Method 1Install without opening the case using 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]]
-Connect to one of the router's LAN ports+
  
-Download the [[https://github.com/lmore377/openwrt-rt4230w/raw/master/RAC2V1K-SSH.zip|RAC2V1K-SSH.zip]] file and restore the config file that corresponds to your router's firmware (If you're firmware is newer than what's in the zip file, just restore the latest file) +For explanation of different images, see [[docs:guide-user:installation:before.installation|FAQ before installation]].
-[[https://www.mediafire.com/file/2snxez1bdc5mp3i/RAC2V1K-SSH.zip/file|mirror RAC2V1K-SSH.zip]]+
  
-After a reboot, you should be able to ssh into the router with the username for your firmware in the [[https://pastebin.com/raw/ub8Um4ug|Readme]]+==== 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 (exserial 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.
  
-Run the following commands: +**WARNINGIf 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.**
-  fw_setenv ipaddr 10.42.0.10 #IP of router, can be anything +
-  fw_setenv serverip 10.42.0.1# #IP of tftp server that's set up in next steps +
-  fw_setenv bootdelay 5 +
-  fw_setenv bootcmd "tftpboot initramfs.bin; bootm; bootipq"+
  
-Don't reboot the router yet.+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.
  
-Install and set up a tftp server on your computer+Note that this method must be executed under the WSL (Windows Subsystem for Linux) if you are running Windows.
  
-Set a static ip on the ethernet interface of your computer (use this for serverip in the above commands)+See instruction here: https://github.com/Lanchon/openwrt-rt4230w-rev6
  
-Download the initramfs imagerename it to initramfs.bin, and host it with the tftp server+==== Method 1B: Installation using web interfaceSSH, 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//
  
-Reboot the router. If you set up everything right, the router led should switch over to slow blue glow which means OpenWrt is booted. +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]]).
-After OpenWrt boots, ssh into it (root user, no password) and run these commands: +
-  fw_setenv bootcmd "setenv mtdids nand0=nand0 && set mtdparts mtdparts=nand0:0x1A000000@0x2400000(firmware&& ubi part firmware && ubi read 0x44000000 kernel 0x6e0000 && bootm" +
-  fw_setenv bootdelay 2+
  
-After this, find some way to flash the sysupgrade image (luci, sftp, flash drive, etc. +Connect a network cable between your computer and the blue (switchport of the router. Configure your computer with static IP address ''192.168.1.2''.
-As the router reboots, unplug the ethernet cord to make sure it's not trying to boot over tftp again. +
-The router will reboot and if all went well, you'll now have OpenWrt running.+
  
-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)+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'' 
 + 
 +From ssh, run these commands to configure a booting attempt via TFTP with fallback to stock firmware: 
 +<code> 
 +fw_setenv bootcmd 'set ipaddr 192.168.1.1; set serverip 192.168.1.2; tftpboot recovery.bin && bootm; bootipq' 
 +fw_setenv bootdelay 2 
 +</code> 
 + 
 +Rename the OpenWrt initramfs image file ''recovery.bin'', and host it with the tftp server. 
 + 
 +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 (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''
 + 
 +After you've confirmed your router is booted to OpenWrt in recovery mode, disable your computer's tftp server by running ''sudo ufw deny tftp'' 
 + 
 +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> 
 + 
 +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]] 
 + 
 +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. 
 + 
 +==== 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 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
  
-Install and set up a tftp server+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]]).
  
-Set static ip on the ethernet interface of your computer+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''.
  
-Download the initramfs image, rename it to initramfs.bin, and host it with the tftp server+Rename the OpenWrt initramfs image file to ''recovery.bin'', and host it with the tftp server.
  
-Connect the wan port of the router to your computer+Interrupt U-Boot and run these commands to configure OpenWrt boot (autodetects flash size): 
 +<code> 
 +set 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' 
 +set bootdelay 2 
 +saveenv 
 +</code>
  
-Interrupt U-Boot and run these commands+And run this command to boot once via TFTP
-  setenv serverip 10.42.0.1 (You can use whatever ip you set for the computer) +<code> 
-  setenv ipaddr 10.42.0.10 (Can be any ip as long as it's in the same subnet) +set ipaddr 192.168.1.1set serverip 192.168.1.2; tftpboot recovery.bin && bootm 
-  setenv bootcmd "setenv mtdids nand0=nand0 && set mtdparts mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware && ubi read 0x44000000 kernel 0x6e0000 && bootm"+</code>
  
-If you have a SAC2V1K router, use this bootcmd instead:  +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''.
-  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 bootsfigure out a way to flash the sysupgrade file (luci, sftp, flash drive, etc.)+Nextuse 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]]
  
-The router will reboot and if all went well, you'll now have OpenWrt running.+The router will reboot andif 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.
  
-credits: github.com/lmore377 +(Originally based on: github.com/lmore377)
-===== Tuning ===== +
-Enable Software flow offloading in Network > Firewall. +
  
-This router has the same soc as the Netgear R7800so thanks to [[https://forum.openwrt.org/t/r7800-performance/15780/29|this forum post]] and the device page for this:+==== 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.
  
-To reach peak performance, paste the following lines into System > Startup > Local Startup:+See here for details: https://github.com/Lanchon/openwrt-rt4230w-rev6#install-a-recovery-image-if-you-installed-openwrt-through-any-other-method 
 + 
 +===== Basic configuration ===== 
 +-> [[docs:guide-user:base-system:start|Basic configuration]] After flashing, proceed with this.\\ 
 +Set up your Internet connection, configure wireless, configure USB port, etc. 
 + 
 +===== Specific Configuration ===== 
 + 
 +==== 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              | 
 + 
 +==== Switch Ports (for VLANs)  ==== 
 + 
 +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''). 
 + 
 +By default, ''eth0'' is used for traffic to/from the ISP and ''eth1'' is for traffic to/from the local network. 
 + 
 +^ 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 ==== 
 + 
 +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 96: 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 112: 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 120: 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. |+| 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