Zyxel p-2812 current state and updating wiki

I have been using these modems for a while now..... vdsl trail telfort NL and recently decided to install openwrt to use it as a router after an old cable modem in another location. I still use telfort at the original location so .... apart from not being able to get back to original firmware at the moment I am good :wink:
edit That has been resolved you can get back to stock now edit

The install procedure is rather annoying but you can't brick it so that is good.

for the wiki I would like to add the fact you need to download the P2812HNUFx-Pre-Build-OpenWrt-Chaos-Calmer-r45578 version or r46993 from scapi to be able to install anything.

and for the rest change the commands slightly into

tftpboot openwrt-lantiq-xrx200-P2812HNUF1-uImage-initramfs

bootm $fileaddr

upgrade to the firmware, you want to run, through luci. Be sure! to do this since your are running only in memory and after a reboot you need to do this again if you did not upgrade.

second
The trunk does not want to run and starts with a crc error see the bug report I made here
https://bugs.openwrt.org/index.php?do=details&task_id=2124

third edit FIXED in snapshot see one of later posts edit
WiFi is not stable at higher throughput's and lower connection quality which might be solved in the newer kernel drivers if I may believe the talk about it.
edit kernel 4.14.109 seems to be a lot more stable, testing it now edit
However there might be another reason for instability, in the notes in the last firmware from zyxel it states that the mac address of the modem needs to end with either a 0 or 8 and openwrt does not really listen to any of the mac address settings I feed it.
edit Eventually I was able to adjust so I tried different mac addresses and it did not seem to matter much edit

fourth not compiling spl uboot probable due to the fact nobody looked at the code for a while (2013-10 uboot version) and the fact that it states in the makefile that it is broken. The asc file works "perfectly" so....

fifth missing compilation of the initrd and kernel for the first boot and hence the use of the old r45578 initrd and kernel from scapi
edit tried to turn it on and it compiles but still errors out on bootup like it did since R47026 edit

sixth for now the archive is missing for the steps to get back to original firmware, which I really like to be able to do.
edit fixed that edit

7th https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm needs to be added to the wiki

8th remove dsl when not in use to limit cpu load needs to be added to wiki

9th I tried separating wlan traffic from an traffic in firewall I was successful in doing that but it does not solve the wifi problems

other old bugreports that have not been resolved
https://bugs.openwrt.org/index.php?do=details&task_id=1611

this might be solved with going to a newer kernel as they supposedly do not need the eeprom file anymore
https://bugs.openwrt.org/index.php?do=details&task_id=469
edit eeprom file is still needed and found it in he firmware edit

ps when first installing openwrt I had a brief interaction with scapi and apart from the fact he does not have a working f1 or f3 modem helped me to get going. So if needed he might be willing to help someone be pushed in the right direction to make the necessary adjustments to uboot and initramfs and initrd problems.

1 Like

in post 11 there are the printenv settings so I could try those
https://forum.archive.openwrt.org/viewtopic.php?id=46963

VR9 # printenv
bootcmd=nand read 0x86a80000 0x0001C800 10000; go 0x86a80000
bootdelay=0
baudrate=115200
mem=126M
phym=128M
ipaddr=192.168.1.1
serverip=192.168.1.33
ethaddr=00:E0:92:00:01:40
netdev=eth0
console=ttyS0
baudrate=115200
reset_ddr_config=prot off 0x0001ff34   0x0001ff4b;  erase 0x0001ff34 0x0001ff4b 1
mtdparts=ifx_nand:256k(uboot),-(rootfs)
reset_uboot_config=nand write.jffs 80400000 0x07040000 0x1000
f_calibration_addr= IFX_CFG_FLASH_CALIBRATION_CFG_SIZE
f_calibration_size=IFX_CFG_FLASH_CALIBRATION_CFG_SIZE
stdin=serial
stdout=serial
stderr=serial
ethact=vr9 Switch

Environment size: 570/4092 bytes
VR9 #

issue with uboot

they are talking about what and how to fix
https://patchwork.ozlabs.org/patch/432502/

P-2812HNU-F1 is NAND based, needs NAND_TPL image instead of SPL (needs patches provided by Antonios Vamporakis in branch "stable_fixes_for_daniel_20140109" on Daniel github)

actual patch

mac address rt3062f
quote post 175 from https://forum.archive.openwrt.org/viewtopic.php?id=53511&p=7

Mac address wifi, is located in rt3062 eeprom file, starting at offset 4. U can put whatwever mac u want there.

Considering the text in the pdf firmware notes whatever mac might not work so well. I do not know what the standard is for the wlan, remember mac address range starts with either 00 or 08 as the last word. But i do not know how the 8 mac's are distributed.
I can confirm that changing the words in the eeprom file, changes the mac address.

I just checked in a running modem with zyxel/telfort firmware the last digit is 4

If you want to edit the wiki, you can create an account and do so.

There isn't a "wiki taskforce" that's going to read and understand the above and make the changes.

I know there is no taskforce but I'd rather have some feedback before changing

Might want to consider prepending "Feedback Requested" or "RFC" to the thread's title to attract the attention of forum members that might have experience with the device

1 Like

ok there is a bit of forward momentum in getting the snapshots to run on the p-2812 F1

https://bugs.openwrt.org/index.php?do=details&task_id=2124

P-2812HNU-Fx # tftpboot kernel
ltq_phy: addr 0, link 1, speed 1000, duplex 1
ltq_phy: addr 1, link 1, speed 100, duplex 1
ltq_phy: addr 17, link 0, speed 10, duplex 0
ltq_phy: addr 19, link 1, speed 1000, duplex 1
ltq_phy: addr 5, link 1, speed 1000, duplex 1
Using ltq-eth device
TFTP from server 192.168.1.2; our IP address is 192.168.1.1
Filename 'kernel'.
Load address: 0x81000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #########################
         1.1 MiB/s
done
Bytes transferred = 2119898 (2058da hex)
P-2812HNU-Fx # bootm 0x81000000
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   MIPS OpenWrt Linux-4.14.101
   Created:      2019-02-22   1:35:05 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2119834 Bytes = 2 MiB
   Load Address: 80002000
   Entry Point:  80002000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

[    0.000000] Linux version 4.14.101 (buildbot@buildslave) (gcc version 7.4.0 (OpenWrt GCC 7.4.0 r9415-73c60ef239))                      #0 SMP Fri Feb 22 01:35:05 2019
[    0.000000] SoC: xRX200 rev 1.1
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019555 (MIPS 34Kc)
[    0.000000] MIPS: machine is ZyXEL P-2812HNU-F1

etc etcetc

BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r9415-73c60ef239
 -----------------------------------------------------
root@OpenWrt:/# find -iname *nand
find: ./proc/5714: No such file or directory
./sys/devices/platform/1f400000.fpi/1f400000.fpi:localbus@0/10000000.nand
./sys/bus/platform/devices/10000000.nand
./sys/bus/platform/drivers/lantiq,nand-xway/10000000.nand
./sys/bus/platform/drivers/gen_nand

The problem is that the mtdblock devices seem to be hard wired in the kernel.
The snapshot kernel is 2.1mb which is slightly bigger then the 2mb available in the mtdblock.

I do not know how to override this and suggestions are welcome.

I think I found the culprit
https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUF1.dts;h=911a2d6afee0ef878d4ec9b8ea8e775b6b7ffcad;hb=HEAD

Now how to edit, test and get this accepted

You could file a bug: https://openwrt.org/bugs

Thnx for the suggestion the bug is already reported :wink: see the crc bug that I mentioned before.

offtopic @mijzelf thnx for all the things you and others did in the beginning of support of these modems. If by any change you have a backup of the original f1 firmware lying around I'd be much obliged :wink: although I will be home in 2 weeks to extract one myself from my still running modem, so it is not a biggy. Als je het makkelijk bereikbaar hebt graag, zoniet laat maar zitten :wink:

After much trepidation.... the kernel I just compiled from the snapshot of today is running :wink:

But that was a lucky shot since the kernel was just small enough ...
I will change the file and see if I can change the reported mtd partitions

proof :wink:

BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r9458-c815372
NAND read: device 0 offset 0x60000, size 0x300000
 3145728 bytes read: OK
## Booting kernel from Legacy Image at 80800000 ...
   Image Name:   MIPS OpenWrt Linux-4.14.103
   Created:      2019-02-27  11:12:48 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2045146 Bytes = 2 MiB
   Load Address: 80002000
   Entry Point:  80002000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

[    0.000000] Linux version 4.14.103 (mafketel@openwrtcompilebox) (gcc version 7.4.0 (OpenWrt GCC 7.4.0 r9458-c815372)) #0 SMP Wed Feb 27 11:12:48 2019
[

BUYA !

    0.647612] 4 fixed-partitions partitions found on MTD device 10000000.nand
[    0.653166] Creating 4 MTD partitions on "10000000.nand":
[    0.658586] 0x000000000000-0x000000040000 : "uboot"
[    0.665143] 0x000000040000-0x000000060000 : "uboot-env"
[    0.670708] 0x000000060000-0x000000360000 : "kernel"
[    0.676023] 0x000000360000-0x000008100000 : "ubi"
[    0.679324] mtd: partition "ubi" extends beyond the end of device "10000000.nand" -- size truncated to 0x7ca0000
[    0.696845] libphy: Fixed MDIO Bus: probed

This has to be be integrated in the tree snapshot and into the release as well, any takers ... not really wanting to put my email address and name combo for everybody to read.

changes needed:
in
https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUF1.dts;h=911a2d6afee0ef878d4ec9b8ea8e775b6b7ffcad;

and

https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUF1.dts;h=911a2d6afee0ef878d4ec9b8ea8e775b6b7ffcad;

  48                         partition@60000 {
  49                                 label = "kernel";
  50                                 reg = <0x60000 0x200000>;
  51                         };
  52                         partition@260000 {
  53                                 label = "ubi";
  54                                 reg = <0x260000 0x7da0000>;

into

  48                         partition@60000 {
  49                                 label = "kernel";
  50                                 reg = <0x60000 0x300000>;
  51                         };
  52                         partition@360000 {
  53                                 label = "ubi";
  54                                 reg = <0x360000 0x7ca0000>;

Sadly the updated kernel drivers for the wireless chipset do not solve the instability issues

Just tried to edit the wiki page but I was not allowed and need to contact the administrator.

thank you opewrt website for throwing away my edits .....

And you wonder why the pages are outdated....

Every user that is logged in to the wiki is able to edit the P-2812HNU* pages.
I see no restriction for your username in the wiki.

Please describe exactly (!) what you have done on which page, and what did not work.

seems to work now....
https://openwrt.org/toh/zyxel/p2812hnu-f1
what I did was I logged in clicked on the edit link.
made some changes.
clicked on preview
got the message this topic is locked contact administrator etc etc.

lost my changes, TWICE.

third time is a charm I guess, not be reached by ppl who stupid
stupid

1 Like

I was able to revert back to stock zyxel firmware so I added the process to the wiki

1 Like

made a backup of one of the modems
Although it was not the most efficient way of doing it.

settings for tftpd64 or 32 see picture

after booting in the uart mode uploading asc file ...these are the commands

first +- 32mb
nand read 81000000 0 2000000
there as one bad block and it was skipped ...probably why it id not work before for me

tftpput 81000000 2000000 test-2000000.bin

repeat 3 times

second+- 32mb

nand read 81000000 2000000 2000000
tftpput 81000000 2000000 test-2000000-4000000.bin
nand read 81000000 4000000 2000000
tftpput 81000000 2000000 test-4000000-6000000.bin
nand read 81000000 6000000 2000000
tftpput 81000000 2000000 test-6000000-8000000.bin

more efficient would be:

tftpput 0 80000000 backup-nand.bin
but I did not test it yet, I first need to get a vgv7519 working(with telfort firmware the modem does not get a dhcp address on the wan side unless you have vlans which I don't since I am not on telfort here) so I can replace the p2812 and test some more with the p2812 while still having working internet :wink:
And see if I can find where zyxel hid the wifi settings and the we can preserve them, no more rt3062.eeprom file needed then.

1 Like

Tested it and .... NOT working, it starts uploading but then crashes the modem and starts back up in uart mode, obviously I was in uart mode to begin with.

log of successful saving from memory but crashing from nand.

P-2812HNU-Fx # tftpput 80000000 1000000 test-2000000.bin
ltq_phy: addr 0, link 0, speed 10, duplex 0
ltq_phy: addr 1, link 0, speed 10, duplex 0
ltq_phy: addr 17, link 0, speed 10, duplex 0
ltq_phy: addr 19, link 1, speed 1000, duplex 1
ltq_phy: addr 5, link 0, speed 10, duplex 0
Using ltq-eth device
TFTP to server 192.168.1.2; our IP address is 192.168.1.1
Filename 'test-2000000.bin'.
Save address: 0x80000000
Save size:    0x1000000
Saving: ################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################################T #####################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##################T ###############################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###########################
         1.2 MiB/s
done
Bytes transferred = 16777216 (1000000 hex)
P-2812HNU-Fx # tftpput 70000000 1000000 test-2000000.bin
ltq_phy: addr 0, link 0, speed 10, duplex 0
ltq_phy: addr 1, link 0, speed 10, duplex 0
ltq_phy: addr 17, link 0, speed 10, duplex 0
ltq_phy: addr 19, link 1, speed 1000, duplex 1
ltq_phy: addr 5, link 0, speed 10, duplex 0
Using ltq-eth device
TFTP to server 192.168.1.2; our IP address is 192.168.1.1
Filename 'test-2000000.bin'.
Save address: 0x70000000
Save size:    0x1000000
Saving: *
ROM VER: 1.0.5
CFG 02
UART

log of tftpd

Connection received from 192.168.1.1 on port 2319 [01/04 17:36:25.240]
Write request for file <test-2000000.bin>. Mode octet [01/04 17:36:25.240]
OACK: <timeout=5,> [01/04 17:36:25.253]
Using local port 65085 [01/04 17:36:25.253]
<test-2000000.bin>: rcvd 32769 blks, 16777216 bytes in 51 s. 0 blk resent [01/04 17:37:16.669]


Connection received from 192.168.1.1 on port 2889 [01/04 17:37:52.277]
Write request for file <test-2000000.bin>. Mode octet [01/04 17:37:52.277]
OACK: <timeout=5,> [01/04 17:37:52.286]
Using local port 56226 [01/04 17:37:52.286]
<test-2000000.bin>: rcvd 0 blk, 0 bytes in 2 s. 0 blk resent [01/04 17:37:54.290]

It did work saving directly from the flash on the vgv7519.

I found the rt3062.eeprom file in the original firmware.
It is hidding in etc/wireless/rt2860ap folder and called RT3062_PCI_LNA_2T2R_V1_0.bin
Sofar I have seen 2 versions the one everybody is using which is also in the latest aacc3 firmware from zyxel and the one from the latest telfort firmware.

I need to try and see if the telfort one is more stable or if there are other issues. For now I am very happy with the vgv7519 running openwrt since it seems to have very stable wifi.

in order to run the current snapshot there is a chicken and egg problem :wink:
The current snapshot holds the bigger kernel mtd partition, but it is also the kernel that needs it in order to boot.

For now the only way around is to compile the snapshot yourself, which is slightly smaller then 2mb and thus fits in the smaller kernel mtd partition. From then on you have a 3mb kernel partition size. and can update to prebuilt snapshot builds

If the initramfs+kernel would work so you could start the modem from ram it would be easier. But alas that is also broken...

So 2 mayor issues remain,
1 current U-Boot is not able to start the modem from nand
2 Initramfs errors out on startup since r47026

On a brighter note kernel 4.14.109 seems to have a lot less WiFi issues and I am currently stress testing to see if it drops the connection.