cdf4e36ffd
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
284668f151 |
econet: en751221: add support for Huawei HG2821T-U
This patch adds support for Huawei HG2821T-U, EPON ONU and home router, often comes with ISP service. Specifications ============== * SoC: Econet EN7526GT * RAM: 512MiB DDR3L (MT41K256M16TW-107) * Flash: 256MiB SPI NAND (TC58CVG1S3HRAIG) * WiFi 2.4GHz: MT7592N * WiFi 5GHz: MT7612EN * Ethernet: builtin switch * LED: Power, Internet, WiFi, USB * Buttons: Reset * UART: Serial console (115200 8n1) * USB: 1 x USB2 * Other: Phone jack, XPON fiber port !!! BACKUP YOUR ROM !!! ======================= Please always have your FULL flash image backup before flashing anything. The vendor firmware varies a lot depending on your ISP and location. You will have a hard time finding the right regional firmware if you don't have a backup. Notes ===== * Due to the target `econet` being incomplete, WiFi, DSA switch, and many other features are not supported yet. Do not flash the image unless you know the consquences or `econet` is declared stable. * This device, and apparently many other devices of this platform, use a dual-image layout. OpenWRT (with `econet` target) only uses slot A. Slot B is not used by OpenWRT, and is applicable for dual-booting to vendor firmware. * If you do not use vendor firmware anymore, you can erase and reuse anything after `configuration_b`, which gives you ~110 MiB free space. Again, backup your flash first. Installation ============ Within shell ------------ Note that acquiring the shell access to the vendor firmware can be a bit tricky depending on the firmware variation. If you can't play with the vendor firmware, boot to OpenWrt using debricking method below. 0. (Optional) Back up your flash, and / or move the vendor firmware to slot B 1. Build and then locate the `kernel.bin` and `rootfs.bin` image files 2. Upload `kernel.bin` and `rootfs.bin` to the device (via HTTP or USB stick), then type: ``` mtd write -f -e KernelA kernel.bin KernelA mtd erase RootfsA mtd write -f -r -e AppA rootfs.bin AppA ``` From bootloader --------------- 1. Build and then locate the `kernel.bin` and `rootfs.bin` image files 2. Switch device on and press a key within 3 seconds 3. Upload `kernel.bin` via TFTP as described below 4. Once the transfer has completed successfully, bootloader will give you the file length in "Total %d (0x%X) bytes received", then type `flash 200000 80020000 <file length hex>` 5. Upload `rootfs.bin` then flash with `flash 600000 80020000 <file length hex>` 6. Restart the device to boot into OpenWRT > [!IMPORTANT] > Do not try `httpd` in the bootloader. It writes to the wrong address and will corrupt the flash. Debricking ========== 1. Build and then locate the `initramfs-kernel.bin` image files 2. Switch device on and press a key within 3 seconds 3. Connect to device via ethernet, set the IP address to `192.168.1.X`, then upload the image via TFTP `tftp 192.168.1.1 -m binary -v -c put initramfs-kernel.bin` The file name can be anything except `tcboot.bin` or `tclinux.bin`, they will corrupt the flash. 4. Type `jump 80020000` to boot the kernel from memory Dual boot ========= Use `en75_chboot` tool to switch between vendor firmware and OpenWrt. If you are soft-locked, you can also switch the flag in the bootloader: 1. Switch device on and press a key within 3 seconds 2. Select the kernel that you wish to use: - `memwl 80020000 30ffffff` for `KernelA` (OpenWrt) - `memwl 80020000 31ffffff` for `KernelB` (Factory) 3. Select the rootfs, which should be the same as the kernel: - `memwl 80020004 30ffffff` for `RootfsA` (OpenWrt) - `memwl 80020004 31ffffff` for `RootfsB` (Factory) 3. Commit the data to flash: `flash 1e0000 80020000 8` 4. Restart the device to boot into the selected OS MAC addresses ============= `//configuration_a/factory.conf` contains MAC addresses, along with other pre-configured settings. OpenWrt uses `brmac`, `internetmac`, `APMAC`, and `APMAC_5G`, while `tr069mac`, `voipmac`, `priprotocolmac`, and `PONMac` are not used for now. Signed-off-by: David Yang <mmyangfl@gmail.com> Link: https://github.com/openwrt/openwrt/pull/23131 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> |