Hi nbd,
thanks for your answer and your time
I was wondering why there was the patch to disable ECC, now I understand it. Thanks for the explanation.
I did some tests and the "fake bad blocks" problem seems to be fixed.
However, I think that we still have some problems with the nand (maybe its cache?).
I still get some wrong data CRC in data node
in the bootlog and then data corruption.
This is what I do for testing:
- Write 10MB of random data:
dd if=/dev/urandom of=/root/random.file bs=1M count=10;
- Sync the file system (I don't know if it's necessary):
sync;
- Calculate and store the md5 of the aforementioned file:
md5sum /root/random.file > /root/random.file.md5;
- Sync again the file system (I don't know if it's necessary):
sync;
- Reboot the system:
reboot
- After the reboot, calculate the md5 again and compare it with the previous stored md5sum and sometimes I have different values:
root@OpenWrt:/# md5sum /root/random.file
58b802ed8d52b18b8552d3a9999337f8 /root/random.file
root@OpenWrt:/# cat /root/random.file.md5;
8506b23e9ea97fb6bb325f74c324bf8a /root/random.file
This is the complete bootlog:
If my tests are right, I think that we still have some problems.
If you have access to the router, could you test it?
P.s.
I have some small fixes to your commit (lan4 and MT7915 were not working):
diff --git a/target/linux/mediatek/image/mt7622.mk b/target/linux/mediatek/image/mt7622.mk
index 1d8501f579..fb0bc45fa7 100644
--- a/target/linux/mediatek/image/mt7622.mk
+++ b/target/linux/mediatek/image/mt7622.mk
@@ -42,7 +42,7 @@ define Device/linksys_e8450
DEVICE_DTS := mt7622-linksys-e8450
DEVICE_DTS_DIR := $(DTS_DIR)/mediatek
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk \
- kmod-mt7615e kmod-mt7615-firmware kmod-mt7915
+ kmod-mt7615e kmod-mt7615-firmware kmod-mt7915e
endef
TARGET_DEVICES += linksys_e8450
diff --git a/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network b/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network
index 4590c0bd8e..9a03141470 100755
--- a/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network
+++ b/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network
@@ -10,10 +10,10 @@ mediatek_setup_interfaces()
case $board in
bananapi,bpi-r64-rootdisk|\
- bananapi,bpi-r64|\
- linksys,e8450)
+ bananapi,bpi-r64)
ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3" wan
;;
+ linksys,e8450|\
mediatek,mt7622-rfb1)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" wan
;;
P.p.s.
I would also like to thank you for your amazing work with MT7622. I can get gigabit speed using the HW NAT Acceleration without any CPU usage!
W/O HW NAT Acceleration:
W/ HW NAT Acceleration: