Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| toh:zyxel:p2812hnu-f1 [2020/03/02 14:45] – [Replacement of factory U-Boot] added download instructions mafketel | toh:zyxel:p-2812hnu-f1 [2024/12/08 19:19] (current) – Upgrade from 23.05 to 24.10 added. idwv | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| {{media: | {{media: | ||
| ===== OpenWrt Status ===== | ===== OpenWrt Status ===== | ||
| - | [[https:// | + | [[https:// |
| - | Current snapshots and 19 and above are a BIG improvement and work fine. | + | Current snapshots and v19 and above are a BIG improvement and work fine. |
| ===== Supported Versions ===== | ===== Supported Versions ===== | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | headers | + | " |
| - | align : c,c,c,c,c,c,c | + | " |
| - | filter | + | " |
| - | ---- | + | " |
| + | | ||
| + | } --> | ||
| ===== Hardware Highlights ===== | ===== Hardware Highlights ===== | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | header | + | " |
| - | align : c,c,c,c,c,c,c,c,c,c,c,c,c | + | " |
| - | filter | + | |
| - | ---- | + | " |
| + | | ||
| + | } --> | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | headers | + | " |
| - | align : c,c,c | + | " |
| - | filter | + | " |
| - | ---- | + | " |
| + | | ||
| + | } --> | ||
| -> [[docs: | -> [[docs: | ||
| - | Due to some issues of the initramfs there is a bit of a workaround needed for 19 and above releases. | + | **Due to some issues of the initramfs there is a bit of a workaround needed for v19 and above releases.** |
| - | Up to and including | + | Up to and including |
| - | However | + | However |
| - | In able to install this larger reservation you need a kernel that is smaller then 2mb ;) see the catch 22 here ;) in order to solve this issue I had compiled a very barebone image a while ago which has a smaller kernel and this will fit into the 2mb reserved space. Use this file to update your modem first before updating to snapshot or 19 and above. | + | To install this larger reservation you need a kernel that is smaller then 2MB ;) see the catch 22 here ;) in order to solve this issue I had compiled a very barebone image a while ago which has a smaller kernel and this will fit into the 2MB reserved space. Use this file to update your modem first before updating to snapshot or v19 and above. |
| https:// | https:// | ||
| - | After you installed this one going back to 18 or below needs a full from scratch install(uart and all) as the start of the root fs has moved 1 mb and you will get a kernel panic. | + | After you installed this one going back to v18 or below needs a full from scratch install (UART and all) as the start of the root fs has moved 1MB and you will get a kernel panic. |
| + | |||
| + | (DGDodo, Testing upgrade to v21.02.0 from v19.07.7 without TTL-serial, with [[: | ||
| + | (Mafketel, obviously it will fit from V19 as it has already an adjusted mtd size ;) ) | ||
| ==== Replacement of factory U-Boot ==== | ==== Replacement of factory U-Boot ==== | ||
| The Out of the Box bootloader does not allow to load openwrt, so you have to replace the bootloader first. | The Out of the Box bootloader does not allow to load openwrt, so you have to replace the bootloader first. | ||
| Line 52: | Line 61: | ||
| You need the following files: | You need the following files: | ||
| - | - [[https://github.com/ScApi/P2812HNUFx-Pre-Build/blob/OpenWrt-Chaos-Calmer-r45578/F1%20OpenWRT/uboot-lantiq-p2812hnufx_ram/ | + | - [[https://downloads.openwrt.org/releases/22.03.0/targets/lantiq/xrx200/u-boot-p2812hnufx_ram/ |
| - [[https:// | - [[https:// | ||
| Line 58: | Line 67: | ||
| and [[https:// | and [[https:// | ||
| - | Power of board. | + | Power off the board. |
| - | Short the (R17) bootsel_1 and power on the router. | + | Short the (R17) bootsel_1 and power on the router. The usual method is to use a small flat screwdriver to short this while powering |
| When CFG 02 UART Popups in terminal You can disconnect/ | When CFG 02 UART Popups in terminal You can disconnect/ | ||
| Line 69: | Line 78: | ||
| </ | </ | ||
| + | Upload the U-Boot RAM image ([[https:// | ||
| + | | ||
| - | Upload U-Boot RAM image ([[https:// | + | * If you used cutecom for Linux, issue „Send File” |
| - | | + | * If you're using Minicom, you can suspend or quite minicom after seeing the message above, then issue the upload from the command line: '' |
| - | Wait for U-Boot to load and stop auto-boot process. | + | |
| + | This will take a minute or so. | ||
| + | |||
| + | On windows there are some more caveats, you can try terraterm first, if it does not work, which is indicated by * signs appearing on the prompt try to set a transmit delay of 1 msec/char. If that makes the upload excruciatingly slow try realterm with the same settings. It still won't be fast but cuts the waiting game from multiple hours to about 20 minutes. | ||
| + | |||
| + | After uploading the '' | ||
| < | < | ||
| Line 102: | Line 118: | ||
| Then: | Then: | ||
| - | PRE STEP 1 Make a backup of your NAND ! (optionally) | + | PRE STEP 1 Make a backup of your NAND ! (optionally |
| - | tftpd settings | + | [[https:// |
| - | [https:// | + | |
| settings for tftpd64 or 32 see picture | settings for tftpd64 or 32 see picture | ||
| Line 165: | Line 181: | ||
| Bytes transferred = 231813 (38985 hex) | Bytes transferred = 231813 (38985 hex) | ||
| </ | </ | ||
| + | |||
| + | If tftp is not working for you, you can also upload the u-boot image over the serial port using '' | ||
| **Step 5**: Type in console | **Step 5**: Type in console | ||
| Line 218: | Line 236: | ||
| mtdparts add nand0 - ubi | mtdparts add nand0 - ubi | ||
| setenv ethaddr XX: | setenv ethaddr XX: | ||
| - | setenv nboot 'nand read 0x80800000 | + | setenv nboot 'nand read 0x81000000 |
| setenv bootcmd 'run nboot' | setenv bootcmd 'run nboot' | ||
| saveenv | saveenv | ||
| Line 232: | Line 250: | ||
| Continue further below | Continue further below | ||
| ==== Installing OpenWrt ==== | ==== Installing OpenWrt ==== | ||
| - | At the present time, the recent openwrt releases do not include the proper | + | To install OpenWrt into the NAND flash, you first have to boot an initramfs image. |
| - | NOTES: | + | At the present time, the recent OpenWrt releases do not include a working initramfs image. Normally this would be the files named '' |
| + | |||
| + | NOTES: | ||
| **Step 1**: Place [[https:// | **Step 1**: Place [[https:// | ||
| - | **Step 2**: Set Your IP addres | + | **Step 2**: Set Your IP address |
| + | |||
| + | **Step 3**: Upload the initramfs image. | ||
| - | **Step 3**: Upload initramfs image | ||
| tftpboot openwrt-lantiq-xrx200-P2812HNUF1-uImage-initramfs | tftpboot openwrt-lantiq-xrx200-P2812HNUF1-uImage-initramfs | ||
| < | < | ||
| Line 262: | Line 283: | ||
| </ | </ | ||
| + | If tftp is not working for you, you can also upload the initramfs image over the serial port using '' | ||
| - | **Step 4**: Run initramfs image and wait till fully booted and press Enter to activate the console | + | **Step 4**: Run the initramfs image and wait till fully booted and press Enter to activate the console |
| bootm $fileaddr | bootm $fileaddr | ||
| Line 295: | Line 317: | ||
| </ | </ | ||
| + | **Step 5**: Obtain and flash flash this image **first**: | ||
| - | **Step 5**: set root passwd. | + | |
| - | passwd | + | If you use a newer image there will be erase block errors when writing |
| - | **Step 6**: Log into the modem on the web interface and go to System flash firmware and flash up to and including 18 release, if you want to install snapshots or 19 and above you need to increase | + | |
| - | This assumes that your are able to enter the webinterface, | + | Log into the modem on the web interface and go to System flash firmware. |
| - | If not use Linux scp or [[https:// | + | |
| - | | + | This assumes that your are able to enter the webinterface, |
| - | **Step | + | cd /tmp |
| + | scp user@192.168.1.N: | ||
| + | | ||
| + | |||
| + | Since the Dropbear SSH version in the initramfs is quite old, this can lead to problems because new SSH servers will not accept the algorithms it supports. | ||
| + | |||
| + | Alternatively (if you have a web server on your 192.168.1.N machine): | ||
| + | |||
| + | cd /tmp | ||
| + | wget http:// | ||
| + | | ||
| + | |||
| + | You probably need a local web server that can use plain HTTP on port 80 because the initramfs image cannot handle SSL. | ||
| + | |||
| + | **Step | ||
| < | < | ||
| Line 405: | Line 440: | ||
| -------------------------------------------------- | -------------------------------------------------- | ||
| </ | </ | ||
| + | |||
| + | **Step 7**: upgrade to the latest working release of OpenWrt | ||
| + | |||
| + | The last known working version of OpenWrt for this router is the 21.02.3 release: | ||
| + | |||
| + | * [[https:// | ||
| + | |||
| + | The 22.03.0 version will brick the router and you have to reinstall from initramfs. (Back to **step 3**...) | ||
| ==== WIFI on openwrt ==== | ==== WIFI on openwrt ==== | ||
| Line 413: | Line 456: | ||
| < | < | ||
| - | This file can also be found in your firmware backup at etc/ | + | This file can also be found in your ZyXEL OEM-firmware backup at etc/ |
| + | |||
| + | OpenWrt v21.02.0 does __not__ scan PCI-bus (correctly) during boot and it looks like wifi won't work at all the first time? | ||
| + | A workaround is to add the following line to file // | ||
| + | |||
| + | < | ||
| + | |||
| + | And reboot the device. Now the PCI-bus will be scanned (later) and wifi will become ready / usable. | ||
| ==== DSL ==== | ==== DSL ==== | ||
| You may need to adapt the network settings to connect to your internet provider. | You may need to adapt the network settings to connect to your internet provider. | ||
| Line 471: | Line 522: | ||
| Then you are almost done, I flashed the modem with the most recent firmware from the zyxel site through the webinterface. | Then you are almost done, I flashed the modem with the most recent firmware from the zyxel site through the webinterface. | ||
| I still see some error in the console so I do not know if everything is honky-dory now but my wifi works also at the other side of the house now without cutting out all the time, I would prefer to run openwrt but the wifi needs to be better. | I still see some error in the console so I do not know if everything is honky-dory now but my wifi works also at the other side of the house now without cutting out all the time, I would prefer to run openwrt but the wifi needs to be better. | ||
| + | |||
| + | ==== Upgrade from 23.05 to 24.10 ==== | ||
| + | The kernel has grown, and doesn' | ||
| + | |||
| + | Connect to the serial port of your P-2812HNU-F1, | ||
| + | If you don't have that, update your uboot. | ||
| + | === Update u-boot === | ||
| + | Setup your tftp server and client side addresses as described above, and execute | ||
| + | < | ||
| + | tftpboot openwrt-lantiq-p2812hnufx_nandtpl-u-boot-16M-patch.img | ||
| + | </ | ||
| + | output: | ||
| + | < | ||
| + | ltq_phy: addr 0, link 1, speed 100, duplex 1 | ||
| + | ltq_phy: addr 1, link 0, speed 10, duplex 0 | ||
| + | ltq_phy: addr 17, link 0, speed 100, duplex 0 | ||
| + | ltq_phy: addr 19, link 0, speed 100, duplex 0 | ||
| + | ltq_phy: addr 5, link 0, speed 10, duplex 0 | ||
| + | Using ltq-eth device | ||
| + | TFTP from server 192.168.1.2; | ||
| + | Filename ' | ||
| + | Load address: 0x81000000 | ||
| + | Loading: ################ | ||
| + | done | ||
| + | Bytes transferred = 231813 (38985 hex) | ||
| + | </ | ||
| + | Then execute: | ||
| + | < | ||
| + | nand erase 0 $filesize && nand write $fileaddr 0 $filesize | ||
| + | </ | ||
| + | output: | ||
| + | < | ||
| + | NAND write: device 0 offset 0x0, size 0x38985 | ||
| + | | ||
| + | </ | ||
| + | Now powercycle the box. It should show u-boot ' | ||
| + | === Change u-boot environment === | ||
| + | You'll have to tell u-boot to load a bigger image: | ||
| + | < | ||
| + | setenv nboot 'nand read 0x81000000 0x60000 0x500000; bootm 0x81000000' | ||
| + | setenv bootcmd 'run nboot' | ||
| + | saveenv | ||
| + | </ | ||
| + | === Upload initramfs-kernel === | ||
| + | Download zyxel_p-2812hnu-f1-initramfs-kernel.bin from the OpenWrt download server. | ||
| + | Setup your tftp server and client side addresses as described above, and execute | ||
| + | < | ||
| + | tftpboot zyxel_p-2812hnu-f1-initramfs-kernel.bin | ||
| + | bootm $fileaddr | ||
| + | </ | ||
| + | The box should now boot the initramfs-kernel, | ||
| + | Download zyxel_p-2812hnu-f1-squashfs-sysupgrade.bin from the OpenWrt download server, and upload it to the router via | ||
| + | *System-> | ||
| + | |||
| + | After uploading, the box reboots, and should be running OpenWrt 24.10 from flash. | ||
| + | === Restore settings === | ||
| + | If you were running 23.05, you can now restore your previously stored configuration. If you were running an older version, the stored configuration is not compatible. Do not upload it. | ||
| ===== Hardware Info ===== | ===== Hardware Info ===== | ||
| ^ [[wp> | ^ [[wp> | ||
| Line 488: | Line 596: | ||
| ==== Photos ==== | ==== Photos ==== | ||
| + | {{media: | ||
| {{media: | {{media: | ||
| {{media: | {{media: | ||
| Line 1432: | Line 1540: | ||
| ===== Tags ===== | ===== Tags ===== | ||
| [[meta: | [[meta: | ||
| - | {{tag> | + | {{tag> |