| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| toh:zyxel:xgs1250-12 [2022/02/24 20:42] – [Serial] Add UART picture from XGS1250-12 borromini | toh:zyxel:xgs1250-12 [2022/11/28 15:48] – [Tags] added torev |
|---|
| ====== ZyXEL XGS1250-12 ====== | ====== ZyXEL XGS1250-12 ====== |
| | |
| | <WRAP center round important 50%> |
| | \\ Support for the RTL930x subtarget is still very fresh. SFP+ does not work yet. |
| | </WRAP> |
| |
| The ZyXEL XGS1250-12 is a web managed 11 + 1-port Multi-Gigabit L3 switch. Connectivity: | The ZyXEL XGS1250-12 is a web managed 11 + 1-port Multi-Gigabit L3 switch. Connectivity: |
| |
| {{media:zyxel:xgs1250-12:zyxel_xgs1250-12.png?500|Frontal view}} | {{media:zyxel:xgs1250-12:zyxel_xgs1250-12.png?500|Frontal view}} |
| | |
| ===== Supported Versions ===== | ===== Supported Versions ===== |
| |
| |
| ==== Flash Layout ==== | ==== Flash Layout ==== |
| The XGS1250-12 has a 16 MiB Macronix MX25L12833F NOR flash chip. | The XGS1250-12 has a 16 MiB Macronix MX25L12833F NOR flash chip. The realtek target uses a dynamic kernel/rootfs split, so actual sizes of the ''kernel'', ''rootfs'' and ''rootfs_data'' partitions may vary. |
| |
| ^ XGS1250-12 Flash Layout ^^^^^^^^^^ | ^ XGS1250-12 Flash Layout (OpenWrt) ^^^^^^^^^^ |
| ^ Layer0 | raw NOR flash memory chip ([[wp>Serial Peripheral Interface Bus|spi]]0.0: mx25l12805d) 16384 KiB ||||||||| | ^ Layer0 | raw NOR flash memory chip ([[wp>Serial Peripheral Interface Bus|spi]]0.0: mx25l12805d) 16384 KiB ||||||||| |
| ^ Layer1 | mtd0 **//u-boot//** 896 KiB | mtd1 **//u-boot-env//** 64 KiB | mtd2 **//u-boot-env2//** 64 KiB | mtd3 **//jffs//** 1024 KiB | mtd4 **//jffs2//** 1024 KiB | mtd5 **//runtime//** 13184 KiB ||| mtd8 **//log//** 128 KiB | | ^ Layer1 | mtd0 **//u-boot//** 896 KiB | mtd1 **//u-boot-env//** 64 KiB | mtd2 **//u-boot-env2//** 64 KiB | mtd3 **//jffs//** 1024 KiB | mtd4 **//jffs2//** 1024 KiB | mtd5 **//runtime//** 13184 KiB ||| mtd9 **//log//** 128 KiB | |
| ^ Layer2 | ||||| mtd6 **//kernel//** ? KiB | mtd7 **//rootfs//** ? KiB || | | ^ Layer2 | ||||| mtd6 **//kernel//** 2752 KiB | mtd7 **//rootfs//** 10432 KiB || | |
| ^ <color magenta>mountpoint</color> | |||||| <color magenta>''/''</color> || | | ^ <color magenta>mountpoint</color> | |||||| <color magenta>''/''</color> || | |
| ^ filesystem | |||||| [[docs:techref:filesystems#overlayfs|OverlayFS]] || | | ^ filesystem | |||||| [[docs:techref:filesystems#overlayfs|OverlayFS]] || | |
| ^ Layer3 | |||||| | mtd3 **//rootfs_data//** ? KiB | | | ^ Layer3 | |||||| | mtd8 **//rootfs_data//** 7232 KiB | | |
| ^ Size in KiB | 896 KiB | 64 KiB | 64 KiB | 1024 KiB | 1024 KiB | ? KiB | ? KiB | ? KiB | 128 KiB | | ^ Size in KiB | 896 KiB | 64 KiB | 64 KiB | 1024 KiB | 1024 KiB | 2752 KiB | 3200 KiB | 7232 KiB | 128 KiB | |
| ^ Name | **//u-boot//** | **//u-boot-env//** | **//u-boot-env2//** | **//jffs//** | **//jffs2//** | **//kernel//** | | **//rootfs_data//** | | | ^ Name | **//u-boot//** | **//u-boot-env//** | **//u-boot-env2//** | **//jffs//** | **//jffs2//** | **//kernel//** | | **//rootfs_data//** | | |
| ^ <color magenta>mountpoint</color> | //none// | //none// | //none// | //none// | //none// | //none// | <color magenta>''/rom''</color> | <color magenta>''/overlay''</color> | //none// | | ^ <color magenta>mountpoint</color> | //none// | //none// | //none// | //none// | //none// | //none// | <color magenta>''/rom''</color> | <color magenta>''/overlay''</color> | //none// | |
| ==== OEM easy installation ==== | ==== OEM easy installation ==== |
| |
| <WRAP BOX> | * Connect serial as per the [[toh:zyxel:xgs1250-12#serial|layout]]. |
| FIXME //The instructions below are for Broadcom devices and only serve as an example.//\\ | * Navigate to 'Management' in the OEM web interface and click on 'Firmware upgrade' to the left. |
| **//Remove / modify them if they do not apply to this particular device!//** | * Upload the OpenWrt initramfs image, and wait till the switch reboots into OpenWrt. |
| | * Connect to the device through serial and change the U-boot boot command: <code># fw_setenv bootcmd 'rtk network on; boota'</code> |
| | * Reboot, scp the sysupgrade image to /tmp, verify the checksum and flash it: <code># sysupgrade /tmp/openwrt-realtek-rtl930x-zyxel_xgs1250-12-squashfs-sysupgrade.bin</code> |
| | * Upon reboot, you have a functional OpenWrt installation. Leave the bootcmd value as is - without ''rtk network on'' the switch will fail to initialise the network. |
| | ==== Booting OpenWrt from RAM ==== |
| |
| This section deals with | -> [[docs:guide-user:installation:generic.flashing.tftp]] |
| * How you install OpenWrt from a device freshly opened | |
| * The steps required such as reset to factory defaults if the device has already been configured | |
| |
| **Note:** Reset router to factory defaults if it has been previously configured. | The XGS1250-12 can boot from the network, but for that you'd need to manipulate the boot command. ZyXEL password protected the U-boot environment. However, if you change the bootcmd to a bogus value from within OpenWrt, you'll get dropped to a shell and be able to tftp load a ramdisk image. The instructions below assume a functional TFTP server. This is an 'invasive' procedure in the sense that you //will// need to install OpenWrt once to change the bootcmd. Once that's done you can reinstall the OEM firmware if you'd like. Keep in mind <color #ed1c24>**you will need serial access for every single boot**</color> as long as your bootcmd is bogus. Once you switch back to the default ''boota'' command, the switch will boot through, but you will not be able to access U-boot anymore until you change the bootcmd again. This is excellent for testing purposes, but unsuited for production use. |
| * Browse to ''<nowiki>http://192.168.1.1/Upgrade.asp</nowiki>'' | |
| * Upload .bin file to router | |
| * Wait for it to reboot | |
| * Telnet to 192.168.1.1 and set a root password, or browse to ''<nowiki>http://192.168.1.1</nowiki>'' if LuCI is installed. | |
| </WRAP> | |
| |
| ==== OEM installation using the TFTP method ==== | |
| |
| -> [[docs:guide-user:installation:generic.flashing.tftp]] | |
| |
| === Specific values needed for tftp === | === Specific values needed for TFTP === |
| |
| <WRAP BOX> | ^ Bootloader TFTP server IPv4 address | 192.168.1.111 | |
| | ^ Firmware TFTP image | [[:downloads|Latest OpenWrt release]] (**''NOTE:''** Name must contain //"initramfs"//) | |
| |
| FIXME Enter values for "FILL-IN" below | === Instructions === |
| |
| ^ Bootloader tftp server IPv4 address | FILL-IN | | * Connect serial as per the [[toh:zyxel:xgs#serial|serial settings]]. |
| ^ Bootloader MAC address (special) | FILL-IN | | * Navigate to 'Management' in the OEM web interface and click on 'Firmware upgrade' to the left. |
| ^ Firmware tftp image | [[:downloads|Latest OpenWrt release]] (**''NOTE:''** Name must contain //"tftp"//) | | * Upload the OpenWrt initramfs image, and wait till the switch reboots. |
| ^ TFTP transfer window | FILL-IN seconds | | * Connect to the device through serial and change the boot command to a bogus command, so U-boot will drop you to a shell next time you boot: <code># fw_setenv bootcmd 'rtk network on; bootu'</code> |
| ^ TFTP window start | approximately FILL-IN seconds after power on | | * Reboot |
| ^ TFTP client required IP address | FILL-IN | | * Load the ramdisk in the U-boot shell: <code># tftpboot 0x84f00000 10.0.0.10:openwrt-realtek-rtl930x-zyxel_xgs1250-12-initramfs-kernel.bin</code> |
| | |
| </WRAP> | |
| |
| ===== Upgrading OpenWrt ===== | ===== Upgrading OpenWrt ===== |
| ===== Notes ===== | ===== Notes ===== |
| * SFP+ cage does not work yet on OpenWrt. | * SFP+ cage does not work yet on OpenWrt. |
| * 10GbE RJ-45 interfaces are said to work, but I have not been able to get them going on OpenWrt. Worked fine on OEM firmware with short CAT5E cables and X550-AT2 at the other end. | |
| * The network needs to be initialised by the bootloader through the ''rtk network on'' command. Otherwise the network won't work. | * The network needs to be initialised by the bootloader through the ''rtk network on'' command. Otherwise the network won't work. |
| ===== Tags ===== | ===== Tags ===== |
| [[meta:tags|How to add tags]] | [[meta:tags|How to add tags]] |
| |
| {{tag>Aquantia Realtek 16flash 128ram GigabitEthernet 10Gbit SFP_plus}} | {{tag>Aquantia Realtek 16flash 128ram GigabitEthernet 10Gbit SFP_plus 1button serial U-boot 12v_powered}} |