Re: Debian on Netgear RN102
November 22, 2020 03:45PM
Trond & whitepawn,

> If you build it for RN102 too, I'll be happy to
> test it.

It is the same kernel built for both boxes as before:

https://forum.doozan.com/read.php?2,92514

> Driver of g762 fan control chip seems not included
> in kernel i guess.

It is in the kernel 5.8.5-mvebu-370xp-tld-1 as a loadable module. So try

modprobe g762

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
tme
Re: Debian on Netgear RN102
November 23, 2020 02:12PM
Hi bodhi,

I added 'lm75' and 'g762' to '/etc/initramfs-tools/modules' and, as 'root', did
update-initramfs -u
(cd /boot && mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.8.5-mvebu-tld-1 -d initrd.img-5.8.5-mvebu-370xp-tld-1 uInitrd)
to update the initial ram file system. Installed 'lm-sensors' and 'fancontrol', and ran 'pwmconfig'. Ended up with this configuration in '/etc/fancontrol':
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=2
DEVPATH=hwmon0=devices/virtual/thermal/thermal_zone0 hwmon1=devices/platform/soc/soc:internal-regs/d0011000.i2c/i2c-0/0-003e
DEVNAME=hwmon0=d0018300.thermal hwmon1=g762
FCTEMPS= hwmon1/pwm1=hwmon0/temp1_input
FCFANS= hwmon1/pwm1=hwmon1/fan1_input
MINTEMP= hwmon1/pwm1=50
MAXTEMP= hwmon1/pwm1=80
MINSTART= hwmon1/pwm1=60
MINSTOP= hwmon1/pwm1=60
MINPWM=hwmon1/pwm1=60
MAXPWM= hwmon1/pwm1=200
which, at normal room temperature, makes the fan run more or less noiseless at about 975 rpm when the box is idle, and at at about 1300 rpm when it's really busy. Didn't test with disks installed, though. 'fancotrol' is stared by 'init' by default when 'pwmconfig' has generated a configuration.

Checked!

Looking forward to test a kernel with the "danitool" patch.

Regards,
Trond Melen
Re: Debian on Netgear RN102
November 23, 2020 03:57PM
> run more or less noiseless at about 975 rpm when
> the box is idle, and at at about 1300 rpm when
> it's really busy. Didn't test with disks
> installed, though. 'fancotrol' is stared by 'init'
> by default when 'pwmconfig' has generated a
> configuration.
>
> Checked!

Cool!

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Debian on Netgear RN102
November 26, 2020 04:30PM
Re: Debian on Netgear RN102
November 29, 2020 01:33PM
Hi guys again,
I was very busy with life, sorry didn't post anything useful.
Today i quickly tried with another router and also direct connection with static ip.It didn't improve network speed.
It seems many developments are made will read forum.
BTW can i quickly return to stock firmware?Which envs i must use?
Regards.
tme
Re: Debian on Netgear RN102
November 29, 2020 03:03PM
Nice to hear from you again, whitepawn!

Quote

BTW can i quickly return to stock firmware?

You still have stock U-boot on your RN102, so you should be able to activate the 'Bootmenu' and select "Factory Default" or "OS reinstall" as described here. Since the RN102 has no display, you need to check the LEDs against the table in the Hardware Manual to know when to hit the Backup button.

I believe the RN102 has been obsoleted, so don't think you can get any support from Netgear any longer. So if 'Bootmanu' fails, you need to find someone who can clone a recovery USB stick for you. I'm sorry, I don't have any.

Regards,
Trond Melen
Re: Debian on Netgear RN102
November 30, 2020 12:54PM
Hi tme nice to see you again!
I have tried factory reset as described.Didn't help but i have original backup for env partition i will try with nandwrite original envs partition.
I have read all new kernel information and L2 cache thing, great work.Will try new kernel but it seems it have network issues as right now i believe.
Regards.
Re: Debian on Netgear RN102
November 30, 2020 03:11PM
whitepawn,

This tld-2 version is the latest test version.

https://forum.doozan.com/read.php?2,92514,111984#msg-111984

I will upload tld-3 version shortly.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Debian on Netgear RN102
December 03, 2020 06:35AM
Hi Bodhi,
I have tried with your tld3 version with fresh install on my RN102.Network speed is improved significantly thank you.Now i can get 669 Mbits/sec.But i cannot figured out why i am not getting 900Mbits/sec.Here is my logs:
Client Side:

jigsaw@whitepawnxeon:~$ ethtool -a enp2s0
Pause parameters for enp2s0:
Autonegotiate:	on
RX:		on
TX:		on

jigsaw@whitepawnxeon:~$ ethtool enp2s0
Settings for enp2s0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off (auto)
Cannot get wake-on-lan settings: Operation not permitted
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes
jigsaw@whitepawnxeon:~$ iperf -s
bind failed: Address already in use
jigsaw@whitepawnxeon:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.221 port 5001 connected with 192.168.31.29 port 40140
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.9 sec   870 MBytes   669 Mbits/sec
------------------------------------------------------------
Client connecting to 192.168.31.29, TCP port 5001
TCP window size:  442 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.221 port 35046 connected with 192.168.31.29 port 5001
[  4]  0.0-10.0 sec   344 MBytes   288 Mbits/sec
^Cjigsaw@whitepawnxeon:~$ iperf -c 192.168.31.29 -r
write failed: Connection reset by peer
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.31.29, TCP port 5001
TCP window size:  170 KByte (default)
------------------------------------------------------------
[  5] local 192.168.31.221 port 35054 connected with 192.168.31.29 port 5001
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0- 0.0 sec   199 KBytes  1.42 Gbits/sec
^Cjigsaw@whitepawnxeon:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.221 port 5001 connected with 192.168.31.29 port 40142
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.9 sec   857 MBytes   658 Mbits/sec
------------------------------------------------------------
Client connecting to 192.168.31.29, TCP port 5001
TCP window size:  348 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.221 port 35058 connected with 192.168.31.29 port 5001
[  4]  0.0-10.0 sec   411 MBytes   345 Mbits/sec
^Cjigsaw@whitepawnxeon:~$


Server Side:(RN102)

root@debian:~# ethtool -a eth0
Pause parameters for eth0:
Autonegotiate:	on
RX:		off
TX:		off
RX negotiated:	on
TX negotiated:	on

root@debian:~# ethtool eth0
Settings for eth0:
	Supported ports: [ TP MII ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	                                     1000baseT/Full 
	Link partner advertised pause frame use: Symmetric
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: g
	Wake-on: d
	Link detected: yes
root@debian:~# iperf -c 192.168.31.221 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.31.221, TCP port 5001
TCP window size:  276 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 40140 connected with 192.168.31.221 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   870 MBytes   730 Mbits/sec
[  5] local 192.168.31.29 port 5001 connected with 192.168.31.221 port 35046
[  5]  0.0- 9.2 sec   344 MBytes   313 Mbits/sec
root@debian:~# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
^C^Croot@debian:~# iperf -c 192.168.31.221 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.31.221, TCP port 5001
TCP window size:  214 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 40142 connected with 192.168.31.221 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   856 MBytes   718 Mbits/sec
[  5] local 192.168.31.29 port 5001 connected with 192.168.31.221 port 35058
[  5]  0.0- 9.2 sec   411 MBytes   376 Mbits/sec
root@debian:~#uname -a
Linux debian 5.9.3-mvebu-370xp-tld-3 #3.0 PREEMPT Sun Nov 29 14:33:38 PST 2020 armv7l GNU/Linux

root@debian:~# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.9.3-mvebu-370xp-tld-3 (root@tldDebianVM) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0, GNU ld (GNU Binutils for Ubuntu) 2.30) #3.0 PREEMPT Sun Nov 29 14:33:38 PST 2020
[    0.000000] CPU: ARMv7 Processor [561f5811] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: NETGEAR ReadyNAS 102
[    0.000000] printk: bootconsole [earlycon0] enabled
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000] On node 0 totalpages: 131072
[    0.000000]   Normal zone: 1024 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 131072 pages, LIFO batch:31
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 mtdparts=pxa3xx_nand-0:0x180000@0(u-boot),0x20000@0x180000(u-boot-env),0x600000@0x200000(uImage),0x400000@0x800000(minirootfs),-(ubifs) earlyprintk=serial init=/bin/systemd mtdparts=pxa3xx_nand-0:0x180000@0(u-boot),0x20000@0x180000(u-boot-env),0x600000@0x200000(uImage),0x400000@0x800000(minirootfs),-(ubifs) reason=normal bdtype=rn102
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.000000] Memory: 493548K/524288K available (10240K kernel code, 1056K rwdata, 3060K rodata, 1024K init, 346K bss, 30740K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] random: get_random_u32 called from ____cache_alloc+0x2ec/0x770 with crng_init=0
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Rude variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] L2C: DT/platform modifies aux control register: 0x12086300 -> 0x1a086302
[    0.000000] Aurora cache controller enabled, 4 ways, 256 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a086302
[    0.000000] Switching to timer-based delay loop, resolution 53ns
[    0.000007] sched_clock: 32 bits at 18MHz, resolution 53ns, wraps every 114537122277ns
[    0.007873] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 101938038664 ns
[    0.019228] Console: colour dummy device 80x30
[    0.023947] Calibrating delay loop (skipped), value calculated using timer frequency.. 37.49 BogoMIPS (lpj=187492)
[    0.034065] pid_max: default: 32768 minimum: 301
[    0.039143] LSM: Security Framework initializing
[    0.044083] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.051406] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.060117] CPU: Testing write buffer coherency: ok
[    0.066085] Setting up static identity map for 0x100000 - 0x100060
[    0.072750] mvebu-soc-id: MVEBU SoC ID=0x6710, Rev=0x1
[    0.078179] mvebu-pmsu: Initializing Power Management Service Unit
[    0.084617] rcu: Hierarchical SRCU implementation.
[    0.090710] devtmpfs: initialized
[    0.098887] VFP support v0.3: implementor 56 architecture 2 part 20 variant 9 rev 6
[    0.107768] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.117456] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.124602] xor: measuring software checksum speed
[    0.228557]    arm4regs  :  1103.200 MB/sec
[    0.328551]    8regs     :   670.800 MB/sec
[    0.428550]    32regs    :  1068.400 MB/sec
[    0.433002] xor: using function: arm4regs (1103.200 MB/sec)
[    0.438753] prandom: seed boundary self test passed
[    0.446295] prandom: 100 self tests passed
[    0.450693] pinctrl core: initialized pinctrl subsystem
[    0.458028] NET: Registered protocol family 16
[    0.465518] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.473234] audit: initializing netlink subsys (disabled)
[    0.481457] thermal_sys: Registered thermal governor 'step_wise'
[    0.481675] cpuidle: using governor ladder
[    0.492344] audit: type=2000 audit(0.460:1): state=initialized audit_enabled=0 res=1
[    0.503338] cpuidle: using governor menu
[    0.507915] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.514050] mvebu-pmsu: CPU idle is currently broken: disabling
[    0.809161] raid6: int32x8  gen()   214 MB/s
[    0.979290] raid6: int32x8  xor()   136 MB/s
[    1.148668] raid6: int32x4  gen()   222 MB/s
[    1.318725] raid6: int32x4  xor()   152 MB/s
[    1.488570] raid6: int32x2  gen()   402 MB/s
[    1.658582] raid6: int32x2  xor()   217 MB/s
[    1.828538] raid6: int32x1  gen()   370 MB/s
[    1.998570] raid6: int32x1  xor()   175 MB/s
[    2.003100] raid6: using algorithm int32x2 gen() 402 MB/s
[    2.008666] raid6: .... xor() 217 MB/s, rmw enabled
[    2.013750] raid6: using intx1 recovery algorithm
[    2.019846] vgaarb: loaded
[    2.025354] SCSI subsystem initialized
[    2.030457] libata version 3.00 loaded.
[    2.030744] usbcore: registered new interface driver usbfs
[    2.036435] usbcore: registered new interface driver hub
[    2.044373] usbcore: registered new device driver usb
[    2.050950] mc: Linux media interface: v0.10
[    2.057213] videodev: Linux video capture interface: v2.00
[    2.063561] pps_core: LinuxPPS API ver. 1 registered
[    2.069790] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    2.078972] PTP clock support registered
[    2.086747] clocksource: Switched to clocksource armada_370_xp_clocksource
[    3.112162] VFS: Disk quotas dquot_6.6.0
[    3.116463] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    3.154180] NET: Registered protocol family 2
[    3.163194] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    3.171855] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    3.179839] TCP bind hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    3.187061] TCP: Hash tables configured (established 4096 bind 4096)
[    3.193779] MPTCP token hash table entries: 512 (order: 0, 6144 bytes, linear)
[    3.201224] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    3.207856] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    3.215050] NET: Registered protocol family 1
[    3.220326] RPC: Registered named UNIX socket transport module.
[    3.226366] RPC: Registered udp transport module.
[    3.231363] RPC: Registered tcp transport module.
[    3.236289] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    3.242819] PCI: CLS 0 bytes, default 64
[    3.247372] Trying to unpack rootfs image as initramfs...
[    3.835374] Freeing initrd memory: 9344K
[    3.840049] NetWinder Floating Point Emulator V0.97 (double precision)
[    3.846987] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    3.857718] Initialise system trusted keyrings
[    3.862457] Key type blacklist registered
[    3.869731] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    3.876341] zbud: loaded
[    3.880778] NFS: Registering the id_resolver key type
[    3.886045] Key type id_resolver registered
[    3.891039] Key type id_legacy registered
[    3.895386] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    3.902283] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    3.909066] jffs2: version 2.2. (NAND) (SUMMARY)  \xc2\xa9 2001-2006 Red Hat, Inc.
[    3.917234] orangefs_debugfs_init: called with debug mask: :none: :0:
[    3.923933] orangefs_init: module version upstream loaded
[    4.003411] async_tx: api initialized (async)
[    4.008091] Key type asymmetric registered
[    4.012465] Asymmetric key parser 'x509' registered
[    4.017743] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
[    4.025225] io scheduler bfq registered
[    4.032070] armada-370-pinctrl d0018000.pin-ctrl: registered pinctrl driver
[    4.050174] mvebu-pcie soc:pcie@82000000: host bridge /soc/pcie@82000000 ranges:
[    4.058515] mvebu-pcie soc:pcie@82000000: Parsing ranges property...
[    4.058553] mvebu-pcie soc:pcie@82000000:      MEM 0x00d0040000..0x00d0041fff -> 0x0000040000
[    4.067325] mvebu-pcie soc:pcie@82000000:      MEM 0x00d0080000..0x00d0081fff -> 0x0000080000
[    4.075758] mvebu-pcie soc:pcie@82000000:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[    4.084797] mvebu-pcie soc:pcie@82000000:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[    4.093744] mvebu-pcie soc:pcie@82000000:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
[    4.102702] mvebu-pcie soc:pcie@82000000:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
[    4.112082] mvebu-pcie soc:pcie@82000000: PCI host bridge to bus 0000:00
[    4.119142] pci_bus 0000:00: root bus resource [bus 00-ff]
[    4.124791] pci_bus 0000:00: root bus resource [mem 0xd0040000-0xd0041fff] (bus address [0x00040000-0x00041fff])
[    4.134799] pci_bus 0000:00: root bus resource [mem 0xd0080000-0xd0081fff] (bus address [0x00080000-0x00081fff])
[    4.144785] pci_bus 0000:00: root bus resource [mem 0xf8000000-0xffdfffff]
[    4.151736] pci_bus 0000:00: root bus resource [io  0x1000-0xeffff]
[    4.158138] pci_bus 0000:00: scanning bus
[    4.158293] pci 0000:00:01.0: [11ab:6710] type 01 class 0x060400
[    4.164431] pci 0000:00:01.0: reg 0x38: [mem 0x00000000-0x000007ff pref]
[    4.171924] pci 0000:00:02.0: [11ab:6710] type 01 class 0x060400
[    4.178621] pci 0000:00:02.0: reg 0x38: [mem 0x00000000-0x000007ff pref]
[    4.187062] pci_bus 0000:00: fixups for bus
[    4.187080] PCI: bus0: Fast back to back transfers disabled
[    4.192809] pci 0000:00:01.0: scanning [bus 00-00] behind bridge, pass 0
[    4.192816] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    4.201313] pci 0000:00:02.0: scanning [bus 00-00] behind bridge, pass 0
[    4.201323] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    4.209382] pci 0000:00:01.0: scanning [bus 00-00] behind bridge, pass 1
[    4.209658] pci_bus 0000:01: scanning bus
[    4.209715] pci 0000:01:00.0: [1b4b:9170] type 00 class 0x010601
[    4.215855] pci 0000:01:00.0: reg 0x10: [io  0xfffffff8-0xffffffff]
[    4.222615] pci 0000:01:00.0: reg 0x14: [io  0xfffffffc-0xffffffff]
[    4.229073] pci 0000:01:00.0: reg 0x18: [io  0xfffffff8-0xffffffff]
[    4.235436] pci 0000:01:00.0: reg 0x1c: [io  0xfffffffc-0xffffffff]
[    4.241851] pci 0000:01:00.0: reg 0x20: [io  0xfffffff0-0xffffffff]
[    4.248254] pci 0000:01:00.0: reg 0x24: [mem 0x40000000-0x400001ff]
[    4.254616] pci 0000:01:00.0: reg 0x30: [mem 0xd0000000-0xd000ffff pref]
[    4.261434] pci 0000:01:00.0: Enabling fixed DMA alias to 00.1
[    4.267479] pci 0000:01:00.0: PME# supported from D3hot
[    4.272888] pci 0000:01:00.0: PME# disabled
[    4.273286] pci 0000:00:01.0: ASPM: current common clock configuration is inconsistent, reconfiguring
[    4.307879] pci_bus 0000:01: fixups for bus
[    4.307895] PCI: bus1: Fast back to back transfers disabled
[    4.313620] pci_bus 0000:01: bus scan returning with max=01
[    4.313633] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    4.320373] pci 0000:00:02.0: scanning [bus 00-00] behind bridge, pass 1
[    4.320632] pci_bus 0000:02: scanning bus
[    4.320696] pci 0000:02:00.0: [1b73:1009] type 00 class 0x0c0330
[    4.327149] pci 0000:02:00.0: reg 0x10: [mem 0x42000000-0x4200ffff 64bit]
[    4.333994] pci 0000:02:00.0: reg 0x18: [mem 0x42010000-0x42010fff 64bit]
[    4.340923] pci 0000:02:00.0: reg 0x20: [mem 0x42011000-0x42011fff 64bit]
[    4.347895] pci 0000:02:00.0: supports D1
[    4.352192] pci 0000:02:00.0: PME# supported from D0 D1 D3hot D3cold
[    4.358673] pci 0000:02:00.0: PME# disabled
[    4.359061] pci 0000:00:02.0: ASPM: current common clock configuration is inconsistent, reconfiguring
[    4.397873] pci_bus 0000:02: fixups for bus
[    4.397888] PCI: bus2: Fast back to back transfers disabled
[    4.403613] pci_bus 0000:02: bus scan returning with max=02
[    4.403625] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
[    4.410357] pci_bus 0000:00: bus scan returning with max=02
[    4.410429] pci 0000:00:01.0: BAR 14: assigned [mem 0xf8000000-0xf80fffff]
[    4.417384] pci 0000:00:02.0: BAR 14: assigned [mem 0xf8100000-0xf81fffff]
[    4.424296] pci 0000:00:01.0: BAR 13: assigned [io  0x10000-0x10fff]
[    4.430768] pci 0000:00:01.0: BAR 6: assigned [mem 0xf8200000-0xf82007ff pref]
[    4.438016] pci 0000:00:02.0: BAR 6: assigned [mem 0xf8300000-0xf83007ff pref]
[    4.445252] pci 0000:01:00.0: BAR 6: assigned [mem 0xf8000000-0xf800ffff pref]
[    4.452493] pci 0000:01:00.0: BAR 5: assigned [mem 0xf8010000-0xf80101ff]
[    4.459338] pci 0000:01:00.0: BAR 4: assigned [io  0x10000-0x1000f]
[    4.465696] pci 0000:01:00.0: BAR 0: assigned [io  0x10010-0x10017]
[    4.472065] pci 0000:01:00.0: BAR 2: assigned [io  0x10018-0x1001f]
[    4.478434] pci 0000:01:00.0: BAR 1: assigned [io  0x10020-0x10023]
[    4.484791] pci 0000:01:00.0: BAR 3: assigned [io  0x10024-0x10027]
[    4.491160] pci 0000:00:01.0: PCI bridge to [bus 01]
[    4.496328] pci 0000:00:01.0:   bridge window [io  0x10000-0x10fff]
[    4.502697] pci 0000:00:01.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    4.509548] pci 0000:02:00.0: BAR 0: assigned [mem 0xf8100000-0xf810ffff 64bit]
[    4.516873] pci 0000:02:00.0: BAR 2: assigned [mem 0xf8110000-0xf8110fff 64bit]
[    4.524186] pci 0000:02:00.0: BAR 4: assigned [mem 0xf8111000-0xf8111fff 64bit]
[    4.531508] pci 0000:00:02.0: PCI bridge to [bus 02]
[    4.536677] pci 0000:00:02.0:   bridge window [mem 0xf8100000-0xf81fffff]
[    4.543618] pcieport 0000:00:01.0: assign IRQ: got 0
[    4.543635] pcieport 0000:00:01.0: enabling device (0140 -> 0143)
[    4.549871] pcieport 0000:00:01.0: enabling bus mastering
[    4.549948] pcieport 0000:00:02.0: assign IRQ: got 0
[    4.549962] pcieport 0000:00:02.0: enabling device (0140 -> 0142)
[    4.556168] pcieport 0000:00:02.0: enabling bus mastering
[    4.556213] pci 0000:00:02.0: enabling bus mastering
[    4.557362] mv_xor d0060800.xor: Marvell shared XOR driver
[    4.617943] mv_xor d0060800.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    4.628239] mv_xor d0060900.xor: Marvell shared XOR driver
[    4.697910] mv_xor d0060900.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    4.933045] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    4.944478] printk: console [ttyS0] disabled
[    4.972523] d0012000.serial: ttyS0 at MMIO 0xd0012000 (irq = 19, base_baud = 12500000) is a 16550A
[    4.981584] printk: console [ttyS0] enabled
[    4.990611] printk: bootconsole [earlycon0] disabled
[    5.003188] ahci 0000:01:00.0: assign IRQ: got 41
[    5.003208] ahci 0000:01:00.0: version 3.0
[    5.003229] pci 0000:00:01.0: enabling bus mastering
[    5.003242] ahci 0000:01:00.0: enabling device (0146 -> 0147)
[    5.011538] ahci 0000:01:00.0: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
[    5.019781] ahci 0000:01:00.0: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs 
[    5.031646] scsi host0: ahci
[    5.036498] scsi host1: ahci
[    5.040952] ata1: SATA max UDMA/133 abar m512@0xf8010000 port 0xf8010100 irq 42
[    5.048975] ata2: SATA max UDMA/133 abar m512@0xf8010000 port 0xf8010180 irq 42
[    5.057213] sata_mv d00a0000.sata: version 1.28
[    5.057417] sata_mv d00a0000.sata: slots 32 ports 1
[    5.066247] scsi host2: sata_mv
[    5.070775] ata3: SATA max UDMA/133 irq 27
[    5.077089] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xf1
[    5.083589] nand: Micron MT29F1G08ABADAWP
[    5.089641] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    5.097958] Bad block table found at page 65472, version 0x01
[    5.104422] Bad block table found at page 65408, version 0x01
[    5.110754] 5 cmdlinepart partitions found on MTD device pxa3xx_nand-0
[    5.117523] Creating 5 MTD partitions on "pxa3xx_nand-0":
[    5.123144] 0x000000000000-0x000000180000 : "u-boot"
[    5.130246] 0x000000180000-0x0000001a0000 : "u-boot-env"
[    5.138789] 0x000000200000-0x000000800000 : "uImage"
[    5.147035] 0x000000800000-0x000000c00000 : "minirootfs"
[    5.155533] 0x000000c00000-0x000008000000 : "ubifs"
[    5.165126] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[    5.175343] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[    5.188168] libphy: Fixed MDIO Bus: probed
[    5.199564] libphy: orion_mdio_bus: probed
[    5.222525] mvneta d0074000.ethernet eth0: Using random mac address 62:a2:d1:b2:ea:fe
[    5.235844] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    5.243948] ehci-pci: EHCI PCI platform driver
[    5.249147] ehci-orion: EHCI orion driver
[    5.253699] orion-ehci d0050000.usb: EHCI Host Controller
[    5.259804] orion-ehci d0050000.usb: new USB bus registered, assigned bus number 1
[    5.267685] orion-ehci d0050000.usb: irq 25, io mem 0xd0050000
[    5.296774] orion-ehci d0050000.usb: USB 2.0 started, EHCI 1.00
[    5.303134] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.09
[    5.311473] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.318816] usb usb1: Product: EHCI Host Controller
[    5.323983] usb usb1: Manufacturer: Linux 5.9.3-mvebu-370xp-tld-3 ehci_hcd
[    5.330995] usb usb1: SerialNumber: d0050000.usb
[    5.336887] hub 1-0:1.0: USB hub found
[    5.341612] hub 1-0:1.0: 1 port detected
[    5.347123] xhci_hcd 0000:02:00.0: assign IRQ: got 43
[    5.347194] xhci_hcd 0000:02:00.0: enabling bus mastering
[    5.347207] xhci_hcd 0000:02:00.0: xHCI Host Controller
[    5.353669] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 2
[    5.395694] ata1: SATA link down (SStatus 0 SControl 300)
[    5.401481] xhci_hcd 0000:02:00.0: can't setup: -19
[    5.406623] xhci_hcd 0000:02:00.0: USB bus 2 deregistered
[    5.412321] ata2: SATA link down (SStatus 0 SControl 300)
[    5.452730] xhci_hcd 0000:02:00.0: init 0000:02:00.0 fail, -19
[    5.459519] usbcore: registered new interface driver usblp
[    5.466255] usbcore: registered new interface driver usb-storage
[    5.473174] mousedev: PS/2 mouse device common for all mice
[    5.480922] i2c /dev entries driver
[    5.490509] rtc-ds1307 0-0068: 'wakeup-source' is set, request for an IRQ is disabled!
[    5.503592] rtc-ds1307 0-0068: registered as rtc0
[    5.510771] rtc-ds1307 0-0068: setting system clock to 2020-12-03T11:27:09 UTC (1606994829)
[    5.548262] orion_wdt: Initial timeout 229 sec
[    5.555410] device-mapper: uevent: version 1.0.3
[    5.561124] device-mapper: ioctl: 4.42.0-ioctl (2020-02-27) initialised: dm-devel@redhat.com
[    5.569657] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl F300)
[    5.577036] device-mapper: multipath round-robin: version 1.2.0 loaded
[    5.583964] ata3.00: ATA-7: ST940210AS, 3.ALC, max UDMA/100
[    5.589879] ata3.00: 78140160 sectors, multi 0: LBA48 NCQ (depth 31/32)
[    5.596795] device-mapper: multipath queue-length: version 0.2.0 loaded
[    5.603719] device-mapper: multipath service-time: version 0.3.0 loaded
[    5.610736] ata3.00: configured for UDMA/100
[    5.615404] device-mapper: dm-log-userspace: version 1.3.0 loaded
[    5.621719] device-mapper: raid: Loading target version 1.15.1
[    5.628209] scsi 2:0:0:0: Direct-Access     ATA      ST940210AS       C    PQ: 0 ANSI: 5
[    5.644219] sd 2:0:0:0: [sda] 78140160 512-byte logical blocks: (40.0 GB/37.3 GiB)
[    5.654286] sd 2:0:0:0: [sda] Write Protect is off
[    5.659927] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    5.660086] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    5.669563] marvell-cesa d0090000.crypto: CESA device successfully registered
[    5.677589] hid: raw HID events driver (C) Jiri Kosina
[    5.686447] usbcore: registered new interface driver usbhid
[    5.693212] usbhid: USB HID core driver
[    5.698155] drop_monitor: Initializing network drop monitor service
[    5.707983] NET: Registered protocol family 10
[    5.713969] Segment Routing with IPv6
[    5.718140] RPL Segment Routing with IPv6
[    5.722563] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    5.731208]  sda: sda1
[    5.736736] sd 2:0:0:0: [sda] Attached SCSI disk
[    5.742334] NET: Registered protocol family 17
[    5.748879] 8021q: 802.1Q VLAN Support v1.8
[    5.753442] Key type dns_resolver registered
[    5.758513] ThumbEE CPU extension supported.
[    5.763523] registered taskstats version 1
[    5.768313] Loading compiled-in X.509 certificates
[    5.773492] zswap: loaded using pool lzo/zbud
[    5.778685] Key type ._fscrypt registered
[    5.783025] Key type .fscrypt registered
[    5.787379] Key type fscrypt-provisioning registered
[    5.795480] Key type big_key registered
[    5.823271] Key type encrypted registered
[    5.831388] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    5.842731] Freeing unused kernel memory: 1024K
[    5.878654] Checked W+X mappings: passed, no W+X pages found
[    5.884541] Run /init as init process
[    5.888608]   with arguments:
[    5.888613]     /init
[    5.888617]   with environment:
[    5.888620]     HOME=/
[    5.888624]     TERM=linux
[    5.888627]     reason=normal
[    5.888630]     bdtype=rn102
[   18.378586] process '/usr/bin/fstype' started with executable stack
[   18.511913] random: fast init done
[   19.362623] EXT4-fs (sda1): mounting ext3 file system using the ext4 subsystem
[   20.034440] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   23.516296] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[   23.537349] systemd[1]: Detected architecture arm.
[   23.599780] systemd[1]: Set hostname to <debian>.
[   25.028423] systemd[1]: File /lib/systemd/system/systemd-journald.service:12 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[   25.044890] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[   26.027406] systemd[1]: /lib/systemd/system/rpc-statd.service:13: PIDFile= references path below legacy directory /var/run/, updating /var/run/rpc.statd.pid \xe2\x86\x92 /run/rpc.statd.pid; please update the unit file accordingly.
[   26.277476] random: systemd: uninitialized urandom read (16 bytes read)
[   26.293793] random: systemd: uninitialized urandom read (16 bytes read)
[   26.300762] systemd[1]: Reached target Swap.
[   26.336979] random: systemd: uninitialized urandom read (16 bytes read)
[   26.347049] systemd[1]: Created slice system-getty.slice.
[   26.388322] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   26.427696] systemd[1]: Listening on fsck to fsckd communication Socket.
[   27.527098] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[   28.327841] systemd-journald[1552]: Received request to flush runtime journal from PID 1
[   30.533236] random: crng init done
[   30.537078] random: 7 urandom warning(s) missed due to ratelimiting
[   32.222294] sd 2:0:0:0: Attached scsi generic sg0 type 0
[   42.439916] mvneta d0074000.ethernet eth0: PHY [d0072004.mdio-mii:00] driver [Marvell 88E1318S] (irq=POLL)
[   42.458412] mvneta d0074000.ethernet eth0: configuring for phy/rgmii-id link mode
[   45.627302] mvneta d0074000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   45.635352] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   51.189979] Setting Persistent MAC address to MASKED
[   52.059755] NFSD: Using UMH upcall client tracking operations.
[   52.065867] NFSD: starting 90-second grace period (net f000001a)
[   52.667320] mvneta d0074000.ethernet eth0: Link is Down
[   52.988675] mvneta d0074000.ethernet eth0: PHY [d0072004.mdio-mii:00] driver [Marvell 88E1318S] (irq=POLL)
[   53.003895] mvneta d0074000.ethernet eth0: configuring for phy/rgmii-id link mode
[   56.109875] mvneta d0074000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   56.117926] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   60.383571] fbcon: Taking over console
[  978.013792] mvneta d0074000.ethernet eth0: Link is Down
[  980.091869] mvneta d0074000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx

root@debian:~# ethtool --show-pause eth0
Pause parameters for eth0:
Autonegotiate:  on
RX:             off
TX:             off
RX negotiated:  on
TX negotiated:  on

root@debian:~# ethtool --show-coalesce eth0
Coalesce parameters for eth0:
Adaptive RX: off  TX: off
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0

rx-usecs: 100
rx-frames: 32
rx-usecs-irq: 0
rx-frames-irq: 0

tx-usecs: 0
tx-frames: 0
tx-usecs-irq: 0
tx-frames-irq: 0

rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0

rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame-high: 0

root@debian:~#

I have tried with brand new mi 4a gigabit router.Here is my connection diagram.
RN102----CAT6 Cable----Mi 4A Gigabit-----CAT6 Cable----Xeon Desktop


@tme
Could you please try tld3 version with iperf?I want to make sure if my setup is wrong or not.

Regards all.
tme
Re: Debian on Netgear RN102
December 03, 2020 01:48PM
Hi bodhi,

The 'iperf' results in both directions with default settings:
tme@debian:~$ uname -a
Linux debian 5.9.3-mvebu-370xp-tld-3 #3.0 PREEMPT Sun Nov 29 14:33:38 PST 2020 armv7l GNU/Linux

tme@debian:~$ iperf -c 192.168.1.50
------------------------------------------------------------
Client connecting to 192.168.1.50, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.39 port 44116 connected with 192.168.1.50 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   923 MBytes   774 Mbits/sec

tme@debian:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.39 port 5001 connected with 192.168.1.50 port 50870
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 9.2 sec   676 MBytes   617 Mbits/sec

My base line case is still 939 Mbits/sec as reported here.

Regards,
Trond Melen
Re: Debian on Netgear RN102
December 03, 2020 11:39PM
whitepawn,

> I have tried with your tld3 version with fresh
> install on my RN102.Network speed is improved
> significantly thank you.Now i can get 669
> Mbits/sec.But i cannot figured out why i am not
> getting 900Mbits/sec.


As I mentioned previously, the flow control settings is the important factor in testing the true network speed. So I would suggest that:

- Your Xeon Desktop Linux set the flow control to disabled.
- Your Mi 4A Gigabit router does not have any QoS (Quality of services) rules activated for the ports where the RN102 and the Xeon Dekstop connected to.
- The RN102 is the client side in iperf test.

Note that if you turn it around, and make the RN102 the server side, then you will see reduced speed in iperf, because it has flow control enabled by default.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Debian on Netgear RN102
December 03, 2020 11:43PM
Trond,

> My base line case is still 939 Mbits/sec as
> reported
> here.

Yes.

However, you did not say how the performance was degraded between 5.9.3-mvebu-370xp-tld-3 and 5.8.5-mvebu-370xp-tld-1?

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Debian on Netgear RN102
December 04, 2020 11:44AM
Bodhi,
Thanks for suggestions.I have tried below:

Quote
Bodhi
- Your Xeon Desktop Linux set the flow control to disabled.

I have disabled flow control both server and client side.

Quote
Bodhi
- Your Mi 4A Gigabit router does not have any QoS (Quality of services) rules activated for the ports where the RN102 and the Xeon Dekstop connected to.

To confirm this i have tried it with another linuxmint lenovo laptop with same hardware and software configuration.Didn't change anything except laptop client side.Here is connection scheme:
Lenovo Linuxmint Laptop(Client)----CAT6 Cable----Mi 4A Gigabit-----CAT6 Cable----Xeon Desktop(Server)
And here is my results with above hardware configuration:

Lenovo Laptop:

jigsaw@whitepawn:~$ sudo su
[sudo] password for jigsaw:      
root@whitepawn:/home/jigsaw# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size:  425 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.9 port 54424 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.09 GBytes   931 Mbits/sec
root@whitepawn:/home/jigsaw# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size:  468 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.9 port 54428 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.09 GBytes   932 Mbits/sec
root@whitepawn:/home/jigsaw# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size:  246 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.9 port 54430 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.09 GBytes   934 Mbits/sec
root@whitepawn:/home/jigsaw# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size:  340 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.9 port 54432 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec
root@whitepawn:/home/jigsaw# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size:  561 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.9 port 54434 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.09 GBytes   934 Mbits/sec
root@whitepawn:/home/jigsaw# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size:  221 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.9 port 54436 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.08 GBytes   929 Mbits/sec
root@whitepawn:/home/jigsaw# 

Xeon Desktop:

root@whitepawnxeon:/home/jigsaw# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.9 port 54424
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  1.09 GBytes   930 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.9 port 54428
[  4]  0.0-10.0 sec  1.09 GBytes   930 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.9 port 54430
[  4]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.9 port 54432
[  4]  0.0-10.0 sec  1.09 GBytes   930 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.9 port 54434
[  4]  0.0-10.0 sec  1.09 GBytes   932 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.9 port 54436
[  4]  0.0-10.0 sec  1.08 GBytes   928 Mbits/sec

It seems all cables and router is fine.No Qos enabled.Mi Gigabit Router firmware is stock by the way,no openwrt or some weird 3rd party software.

Then i unplugged ethernet cable from Lenovo Laptop and plugged to RN102.Didn't change anything else.Here is digaram now:
RN102(Client)----CAT6 Cable----Mi 4A Gigabit-----CAT6 Cable----Xeon Desktop(Server)
And here is the results with same commands:

RN102 (Client):
root@debian:~# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 60272 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   864 MBytes   725 Mbits/sec
root@debian:~# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 60274 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   865 MBytes   726 Mbits/sec
root@debian:~# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 60276 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   844 MBytes   708 Mbits/sec
root@debian:~# iperf -c 192.168.31.220 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size:  197 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 60278 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   870 MBytes   730 Mbits/sec
[  5] local 192.168.31.29 port 5001 connected with 192.168.31.220 port 35506
[  5]  0.0- 9.2 sec   411 MBytes   375 Mbits/sec
root@debian:~# iperf -c 192.168.31.220 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size:  140 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 60280 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   862 MBytes   723 Mbits/sec
[  5] local 192.168.31.29 port 5001 connected with 192.168.31.220 port 35512
[  5]  0.0- 9.2 sec   343 MBytes   313 Mbits/sec
root@debian:~# iperf -c 192.168.31.220 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size:  236 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 60282 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   860 MBytes   721 Mbits/sec
[  5] local 192.168.31.29 port 5001 connected with 192.168.31.220 port 35520
[  5]  0.0- 9.2 sec   322 MBytes   294 Mbits/sec
root@debian:~# 

Xeon Desktop:

root@whitepawnxeon:/home/jigsaw# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 60272
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.9 sec   864 MBytes   664 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 60274
[  4]  0.0-10.9 sec   865 MBytes   665 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 60276
[  4]  0.0-10.9 sec   844 MBytes   648 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 60278
[  4]  0.0-10.9 sec   871 MBytes   669 Mbits/sec
------------------------------------------------------------
Client connecting to 192.168.31.29, TCP port 5001
TCP window size:  323 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.220 port 35506 connected with 192.168.31.29 port 5001
[  4]  0.0-10.0 sec   411 MBytes   344 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 60280
[  4]  0.0-10.9 sec   863 MBytes   663 Mbits/sec
------------------------------------------------------------
Client connecting to 192.168.31.29, TCP port 5001
TCP window size:  264 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.220 port 35512 connected with 192.168.31.29 port 5001
[  4]  0.0-10.0 sec   343 MBytes   288 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 60282
[  4]  0.0-10.9 sec   860 MBytes   660 Mbits/sec
------------------------------------------------------------
Client connecting to 192.168.31.29, TCP port 5001
TCP window size:  416 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.220 port 35520 connected with 192.168.31.29 port 5001
[  4]  0.0-10.0 sec   322 MBytes   269 Mbits/sec

Quote
Bodhi
- The RN102 is the client side in iperf test.

I have tested like above RN102 is client Xeon Desktop is server.Also you can see i have tested with Bi-directional bandwidth measurement: (-r argument).

Anyway in a nutshell i get approx 200Mbits/sec with 5.8.5-mvebu-370xp-tld-1 (no moded dtb) kernel and 700Mbits/sec with 5.9.3-mvebu-370xp-tld-3 which i am pretty happy about, 3.5 times bandwith increase no complains sir.Thank you very much.

If you have another thing to test or new kernel just let me know.

Also results for devmem L2 cache thing if relevant:

root@debian:~# busybox devmem 0xd0008100
0x00000001
root@debian:~# busybox devmem 0xd0008104
0x1A086302
root@debian:~# busybox devmem 0xd0020200
0x00000002



Quote
Tme
My base line case is still 939 Mbits/sec as reported here.
This is stock firmware right?

Some performance reports with 5.9.3 tld-3 kernel:

root@debian:~# dd if=/dev/zero of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.6048 s, 669 MB/s
root@debian:~# dd if=/dev/zero of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.60365 s, 670 MB/s


root@debian:~# dd if=/dev/urandom of=/dev/null bs=32k count=4096
4096+0 records in
4096+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 4.59755 s, 29.2 MB/s
root@debian:~# dd if=/dev/urandom of=/dev/null bs=32k count=4096
4096+0 records in
4096+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 4.59685 s, 29.2 MB/s

Here is my old sysbench mark with 5.8.5 tld-1 stock kernel if anyone interested:
root@neutron:~# sysbench --test=memory --memory-block-size=512K --memory-total-size=512M run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing memory operations speed test
Memory block size: 512K

Memory transfer size: 512M

Memory operations type: write
Memory scope type: global
Threads started!
Done.

Operations performed: 1024 ( 1508.34 ops/sec)

512.00 MB transferred (754.17 MB/sec)


Test execution summary:
    total time:                          0.6789s
    total number of events:              1024
    total time taken by event execution: 0.6741
    per-request statistics:
         min:                                  0.63ms
         avg:                                  0.66ms
         max:                                  4.52ms
         approx.  95 percentile:               0.68ms

Threads fairness:
    events (avg/stddev):           1024.0000/0.00
    execution time (avg/stddev):   0.6741/0.00

root@neutron:~# 

root@neutron:~# sysbench --test=cpu --cpu-max-prime=2000 --num-threads=2 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 2

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 2000


Test execution summary:
    total time:                          21.6869s
    total number of events:              10000
    total time taken by event execution: 43.3416
    per-request statistics:
         min:                                  2.12ms
         avg:                                  4.33ms
         max:                                 52.40ms
         approx.  95 percentile:              12.18ms

Threads fairness:
    events (avg/stddev):           5000.0000/0.00
    execution time (avg/stddev):   21.6708/0.00

New 5.9.3 tld-3 kernel sysbech results:

root@debian:~# sysbench --test=memory --memory-block-size=512K --memory-total-size=512M run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing memory operations speed test
Memory block size: 512K

Memory transfer size: 512M

Memory operations type: write
Memory scope type: global
Threads started!
Done.

Operations performed: 1024 ( 1495.33 ops/sec)

512.00 MB transferred (747.67 MB/sec)


Test execution summary:
    total time:                          0.6848s
    total number of events:              1024
    total time taken by event execution: 0.6818
    per-request statistics:
         min:                                  0.64ms
         avg:                                  0.67ms
         max:                                  0.96ms
         approx.  95 percentile:               0.68ms

Threads fairness:
    events (avg/stddev):           1024.0000/0.00
    execution time (avg/stddev):   0.6818/0.00

root@debian:~# sysbench --test=cpu --cpu-max-prime=2000 --num-threads=2 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 2

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 2000


Test execution summary:
    total time:                          31.6414s
    total number of events:              10000
    total time taken by event execution: 63.2173
    per-request statistics:
         min:                                  3.15ms
         avg:                                  6.32ms
         max:                                 23.21ms
         approx.  95 percentile:              13.17ms

Threads fairness:
    events (avg/stddev):           5000.0000/0.00
    execution time (avg/stddev):   31.6087/0.02

root@debian:~#



Also your tld3 kernel network speeds are 50 Mbits/sec faster than mine.

Regards.



Edited 5 time(s). Last edit at 12/04/2020 01:14PM by whitepawn.
Re: Debian on Netgear RN102
December 06, 2020 06:52AM
bodhi,

I have just tested your fresh tld-4 kernel for providing you more info.Here is my results.I have tested on same setup as before:

Server side Xeon Desktop:
jigsaw@whitepawnxeon:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 44156
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.9 sec   766 MBytes   589 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 44158
[  4]  0.0-10.9 sec   756 MBytes   581 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 44160
[  4]  0.0-10.9 sec   760 MBytes   584 Mbits/sec
[  4] local 192.168.31.220 port 5001 connected with 192.168.31.29 port 44162
[  4]  0.0-10.9 sec   752 MBytes   578 Mbits/sec



Clinet side RN102:

login as: root
root@192.168.31.29's password:
Linux debian 5.9.3-mvebu-370xp-tld-4 #4.0 PREEMPT Fri Dec 4 20:53:28 PST 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Dec  6 04:00:16 2020 from 192.168.31.194
debian
192.168.31.29
NETGEAR ReadyNAS 102
Linux version 5.9.3-mvebu-370xp-tld-4 (root@tldDebianVM) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0, GNU ld (GNU Binutils for Ubuntu) 2.30) #4.0 PREEMPT Fri Dec 4 20:53:28 PST 2020
Debian 10.6
Sun Dec 6 04:07:00 PST 2020 up 7 minutes
root@debian:~# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 44156 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   766 MBytes   643 Mbits/sec
root@debian:~# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 44158 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   756 MBytes   634 Mbits/sec
root@debian:~# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 44160 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   760 MBytes   637 Mbits/sec
root@debian:~# iperf -c 192.168.31.220
------------------------------------------------------------
Client connecting to 192.168.31.220, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.29 port 44162 connected with 192.168.31.220 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   752 MBytes   631 Mbits/sec
root@debian:~#

Here is sysbench resuts and dd results:

root@debian:~# uname -a
Linux debian 5.9.3-mvebu-370xp-tld-4 #4.0 PREEMPT Fri Dec 4 20:53:28 PST 2020 armv7l GNU/Linux
root@debian:~# sysbench --test=memory --memory-block-size=512K --memory-total-size=512M run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing memory operations speed test
Memory block size: 512K

Memory transfer size: 512M

Memory operations type: write
Memory scope type: global
Threads started!
Done.

Operations performed: 1024 ( 1293.06 ops/sec)

512.00 MB transferred (646.53 MB/sec)


Test execution summary:
    total time:                          0.7919s
    total number of events:              1024
    total time taken by event execution: 0.7883
    per-request statistics:
         min:                                  0.74ms
         avg:                                  0.77ms
         max:                                  1.05ms
         approx.  95 percentile:               0.80ms

Threads fairness:
    events (avg/stddev):           1024.0000/0.00
    execution time (avg/stddev):   0.7883/0.00

root@debian:~# sysbench --test=cpu --cpu-max-prime=2000 --num-threads=2 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 2

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 2000


Test execution summary:
    total time:                          31.6653s
    total number of events:              10000
    total time taken by event execution: 63.3096
    per-request statistics:
         min:                                  3.15ms
         avg:                                  6.33ms
         max:                                 23.21ms
         approx.  95 percentile:              13.17ms

Threads fairness:
    events (avg/stddev):           5000.0000/1.00
    execution time (avg/stddev):   31.6548/0.00

root@debian:~#

root@debian:~# dd if=/dev/zero of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.85339 s, 1.3 GB/s
root@debian:~# dd if=/dev/zero of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.827713 s, 1.3 GB/s
root@debian:~# dd if=/dev/urandom of=/dev/null bs=32k count=4096
4096+0 records in
4096+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 4.21899 s, 31.8 MB/s
root@debian:~# dd if=/dev/urandom of=/dev/null bs=32k count=4096
4096+0 records in
4096+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 4.31141 s, 31.1 MB/s
root@debian:~#


Here is avaraged summary report:

Kernel Version	5.8.5 tld-1	5.9.3 tld-3	5.9.3 tld-4
iperf	        196 Mbits/sec	722 Mbits/sec	636 Mbits/sec
Sysbench Memory	0.66ms	        0.67ms    	0.77ms
Sysbench CPU	4.33ms    	6.32ms	        6.33ms
/dev/zero	Not tested	669 MB/s	1.3 GB/s
/dev/urandom	Not tested	29.2 MB/s	31.8 MB/s

/dev/zero test 2 times faster wow.Urandom is improved, but network seems degraded about 90 Mbits/sec.Maybe my setup is bad i don't know.Maybe you can comment on results.

Also noticed your new kernel linux-5.9.3-mvebu-370xp-tld-4-bodhi.tar dtb file is linux-dtb-5.9.3-mvebu-370xp-tld-3.I am not sure if this is relevant 3 or 4.

@Tme,
Could you please share tld-4 results on your box to be sure results are correct?

Regards.



Edited 1 time(s). Last edit at 12/06/2020 07:09AM by whitepawn.
Re: Debian on Netgear RN102
December 06, 2020 03:40PM
Thanks whitepawn!

As I said in the installation thread, I think the IO Cohenrency patch is not enough by itself. There must be other changes that we don't have in Debian kernel.

Quote

Also noticed your new kernel linux-5.9.3-mvebu-370xp-tld-4-bodhi.tar dtb file is linux-dtb-5.9.3-mvebu-370xp-tld-3.I am not sure if this is relevant 3 or 4.

It is not relevant, because the DTB is the same so I did not create a new DTB tarball.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 12/06/2020 03:42PM by bodhi.
tme
Re: Debian on Netgear RN102
December 09, 2020 03:26PM
Hi bodhi,

I have tested the performance of all the 4 versions of your Linux kernel 5.9.3-mvebu-370xp, as well as the stock Netgear kernel for ReadyNAS RN102. My laptop was cabled to the box via a gigabit router. All tests were performed 3 times, but only the median results are reported here.

This is a summary (larger is better):
          A      B      C      D      E      F
stock    618    3.3   37.0   87.6    939    930
tld-1   1100   27.9   20.9   51.5    599    587
tld-2    613   27.3   21.9   47.2    689    577
tld-3    663   31.6   24.4   52.1    763    621
tld-4   1300   31.6   23.0   54.4    647    626

stock    100    100    100    100    100    100
tld-1    178    845     56     59     64     63
tld-2     99    827     59     54     73     62
tld-3    107    958     66     59     81     67
tld-4    210    958     62     62     69     67

A: Generate and dump 1 GiB of zeros
B: Generate and dump 128 MiB of random numbers
C: Generate 1 GiB of zeros and transmit them to the laptop
D: Receive 1 GiB of data from the laptop and dump it (performance reported by laptop)
E: iperf as client
F: iperf as server

Stock Linux kernel:
root@rn102:~# uname -a
Linux rn102 4.4.190.armada.1 #1 SMP Mon Oct 28 02:07:39 UTC 2019 armv7l GNU/Linux

root@rn102:~# dd if=/dev/zero of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.73625 s, 618 MB/s

root@rn102:~# dd if=/dev/urandom of=/dev/null bs=32k count=4096
4096+0 records in
4096+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 40.2903 s, 3.3 MB/s

root@rn102:~# dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.50 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 29.0377 s, 37.0 MB/s
^C
root@rn102:~# time nc -q 0 -l -p 2222 > /dev/null
real    0m13.261s
user    0m0.310s
sys     0m11.910s

============================================================
tme@laptop:~$ dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.44 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 12,2623 s, 87,6 MB/s
^C
============================================================

root@rn102:~# iperf -c 192.168.1.50
------------------------------------------------------------
Client connecting to 192.168.1.50, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.44 port 55792 connected with 192.168.1.50 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.09 GBytes   939 Mbits/sec

root@rn102:~# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.44 port 5001 connected with 192.168.1.50 port 35122
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  1.08 GBytes   930 Mbits/sec
^C

Linux 5.9.3-mvebu-370xp-tld-1 kernel:
root@debian:~# uname -a
Linux debian 5.9.3-mvebu-370xp-tld-1 #1.0 SMP PREEMPT Tue Nov 24 20:43:55 PST 2020 armv7l GNU/Linux

root@debian:~# dd if=/dev/zero of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.957256 s, 1.1 GB/s

root@debian:~# dd if=/dev/urandom of=/dev/null bs=32k count=4096
4096+0 records in
4096+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 4.8071 s, 27.9 MB/s

root@debian:~# dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.50 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 51.3419 s, 20.9 MB/s
^C
root@debian:~# time nc -q 0 -l -p 2222 > /dev/null
real    0m20.707s
user    0m0.267s
sys     0m18.995s

============================================================
tme@tlaptop:~$ dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.39 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 20,8376 s, 51,5 MB/s
^C
============================================================

root@debian:~# iperf -c 192.168.1.50
------------------------------------------------------------
Client connecting to 192.168.1.50, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.39 port 60522 connected with 192.168.1.50 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   714 MBytes   599 Mbits/sec

root@debian:~# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.39 port 5001 connected with 192.168.1.50 port 58436
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 9.2 sec   642 MBytes   587 Mbits/sec
^C

Linux 5.9.3-mvebu-370xp-tld-2 kernel:
tme@debian:~$ uname -a
Linux debian 5.9.3-mvebu-370xp-tld-2 #2.0 SMP PREEMPT Fri Nov 27 20:44:40 PST 2020 armv7l GNU/Linux

tme@debian:~$ dd if=/dev/zero of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 1,75107 s, 613 MB/s

tme@debian:~$ dd if=/dev/urandom of=/dev/null bs=32k count=4096
4096+0 records in
4096+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 4,917 s, 27,3 MB/s

tme@debian:~$ dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.50 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 48,9218 s, 21,9 MB/s
^C
tme@debian:~$ time nc -q 0 -l -p 2222 > /dev/null
real    0m21,621s
user    0m0,319s
sys     0m20,070s

============================================================
tme@laptop:~$ dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.39 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 22,7444 s, 47,2 MB/s
^C
============================================================

tme@debian:~$ iperf -c 192.168.1.50
------------------------------------------------------------
Client connecting to 192.168.1.50, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.39 port 60218 connected with 192.168.1.50 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   821 MBytes   689 Mbits/sec

tme@debian:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.39 port 5001 connected with 192.168.1.50 port 42696
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 9.2 sec   632 MBytes   577 Mbits/sec
^C

Linux 5.9.3-mvebu-370xp-tld-3 kernel:
root@debian:~# uname -a
Linux debian 5.9.3-mvebu-370xp-tld-3 #3.0 PREEMPT Sun Nov 29 14:33:38 PST 2020 armv7l GNU/Linux

root@debian:~# dd if=/dev/zero of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.61921 s, 663 MB/s

root@debian:~# dd if=/dev/urandom of=/dev/null bs=32k count=4096
4096+0 records in
4096+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 4.2469 s, 31.6 MB/s

root@debian:~# dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.50 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 43.9966 s, 24.4 MB/s
^C
root@debian:~# time nc -q 0 -l -p 2222 > /dev/null
real    0m19.736s
user    0m0.200s
sys     0m18.310s

============================================================
tme@tlaptop:~$ dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.39 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 20,6108 s, 52,1 MB/s
^C
============================================================

root@debian:~# iperf -c 192.168.1.50
------------------------------------------------------------
Client connecting to 192.168.1.50, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.39 port 42664 connected with 192.168.1.50 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   909 MBytes   763 Mbits/sec

root@debian:~# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.39 port 5001 connected with 192.168.1.50 port 56680
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 9.2 sec   680 MBytes   621 Mbits/sec
^C

Linux 5.9.3-mvebu-370xp-tld-4 kernel:
tme@debian:~$ uname -a
Linux debian 5.9.3-mvebu-370xp-tld-4 #4.0 PREEMPT Fri Dec 4 20:53:28 PST 2020 armv7l GNU/Linux

tme@debian:~$ dd if=/dev/zero of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 0,801733 s, 1,3 GB/s

tme@debian:~$ dd if=/dev/urandom of=/dev/null bs=32k count=4096
4096+0 records in
4096+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 4,24846 s, 31,6 MB/s

tme@debian:~$ dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.50 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 46,6977 s, 23,0 MB/s
^C

tme@debian:~$ time nc -q 0 -l -p 2222 > /dev/null
real    0m18,721s
user    0m0,366s
sys     0m17,391s

============================================================
tme@laptop:~$ dd if=/dev/zero bs=32k count=32768 | nc 192.168.1.39 2222
32768+0 records in
32768+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 19,7463 s, 54,4 MB/s
^C
============================================================

tme@debian:~$ iperf -c 192.168.1.50
------------------------------------------------------------
Client connecting to 192.168.1.50, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.39 port 51566 connected with 192.168.1.50 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   771 MBytes   647 Mbits/sec

tme@debian:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.39 port 5001 connected with 192.168.1.50 port 42812
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 9.2 sec   686 MBytes   626 Mbits/sec
^C

I noticed that, with the tld-2 kernel, I got plenty of these messages on the serial console:
[ 2101.539741][    C0] mvneta d0074000.ethernet eth0: bad rx status 0f830000 (overrun error), size=960
[ 2101.876297][    C0] mvneta d0074000.ethernet eth0: bad rx status 0f830000 (overrun error), size=440
[...]
[ 2105.538840][    C0] mvneta d0074000.ethernet eth0: bad rx status 0f830000 (overrun error), size=1344
[ 2105.557391][    C0] mvneta d0074000.ethernet eth0: bad rx status 0f830000 (overrun error), size=704

Regards,
Trond Melen

EDIT: Formatting only :TIDE



Edited 1 time(s). Last edit at 12/11/2020 02:07AM by tme.
Re: Debian on Netgear RN102
December 09, 2020 06:06PM
Thanks Trond,

We can see also from the other thread the iperf tests by David and I, we can get to ~940Mbs when the Mirabox is the client:

https://forum.doozan.com/read.php?2,92514,112399#msg-112399

So now I'm interested in seeing if as the server, the Mirabox and RN102 can achieve that speed.

===

In your test, you got 763Mbs as client so that's something we shouldfind out why.

          A      B      C      D      E      F
tld-3    663   31.6   24.4   52.1    763    621

And the other interesting test is tld-4. According to this test, the IO Coherency is working (A and B)

          A      B      C      D      E      F
tld-4   1300   31.6   23.0   54.4    647    626

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Debian on Netgear RN102
January 24, 2021 05:00PM
Hi

I hope someone can help me with restoring my rn102.After load the uboot via kwboot now I can't save uboot to nand .Error: Did not find a cmdline Flattened Device Tree.Could not find a valid device tree.

99 % [.............................................]
[Type Ctrl-\ + c to quit]

__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__|
** LOADER **


U-Boot 2011.12-gec25d27-dirty (Oct 26 2015 - 16:53:05) Marvell version: v2011.12 2014_T2.0p1
06/23/2015 ReadyNAS-102 V2.0

Board: DB-88F6710-BP
SoC: MV6710 A1
CPU: Marvell PJ4B v7 UP (Rev 1) LE
CPU @ 1200 [MHz]
L2 @ 600 [MHz]
TClock @ 200 [MHz]
DDR @ 600 [MHz]
DDR 16Bit Width, FastPath Memory Access
DRAM: 512 MiB

Map: Code: 0x1feef000:0x1ff9ef34
BSS: 0x1ffef0a0
Stack: 0x1f9eeef8
Heap: 0x1f9ef000:0x1feef000

NAND: (ID 0xf1ad) 128 MiB
MMC: MRVL_MMC: 0
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
nand_read_bbt: Bad block at 0x000001ea0000

Initialize and scan all PCI interfaces
PEX unit.port(active IF[-first bus]):
------------------------------------------
PEX 0: Root Complex Interface, Detected Link X1, GEN 2.0
PEX 1: Root Complex Interface, Detected Link X1, GEN 2.0
FPU not initialized
USB 0: Host Mode
USB 1: Host Mode
Shutting down unused interfaces:
GBE0
SDIO
AUDIO
TDM
Modules/Interfaces Detected:
RGMII1 Phy
PEX0 (Lane 0)
PEX1 (Lane 1)
SATA0 (Lane 2)
SATA1 (Lane 3)
Net: , egiga1 [PRIME]
Power On!

Loading FDT from NAND 0xEC000 to 0x1000000 failed!
Hit any key to stop autoboot: 0
(Re)start USB...
USB: Active port: 0
Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
reading /uImage-recovery

3159060 bytes read
reading /initrd-recovery.gz

2729717 bytes read

NAND read: device 0 offset 0xd4000, size 0x6000
24576 bytes read: OK
## Booting kernel from Legacy Image at 02000000 ...
Image Name: Linux-3.0.101.RN_ARM.4
Created: 2015-04-01 23:06:44 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3158996 Bytes = 3 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 03000000 ...
Image Name: initrd-recovery
Created: 2017-12-22 19:19:16 UTC
Image Type: ARM Linux RAMDisk Image (lzma compressed)
Data Size: 2729653 Bytes = 2.6 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
Marvell>> printenv
AC_Power_fail_detect=open
CASset=min
HW_version=MVT
MALLOC_len=5
Manufacturer=NETGEAR
NANDboot=nand read.e 0x2000000 0x200000 0x400000;nand read.e 0x1000000 0x7e00000 0x20000;nand read.e 0x3000000 0x800000 0x400000;bootz 0x2000000 0x3000000 0x1000000
Product=ReadyNAS 102
SKUNum=RN102
USBboot=fatload usb 0:1 0x2000000 /zImage-recovery;fatload usb 0:1 0x1000000 /RN102-recovery.dtb;fatload usb 0:1 0x3000000 /initrd-recovery.gz;bootz 0x2000000 0x3000000 0x1000000
Version=V1.0
autoload=no
baudrate=115200
bootargs=console=ttyS0,115200
bootargs_end=:10.4.50.254:255.255.255.0:KW40:eth0:none
bootargs_root=root=/dev/nfs rw
bootcmd=usb start;fatload usb 0:1 0x2000000 /uImage-recovery;fatload usb 0:1 0x3000000 /initrd-recovery.gz;nand read 0x1000000 0xD4000 0x6000; bootm 0x2000000 0x3000000 0x1000000
bootcmd_fdt=tftpboot 0x2000000 $image_name;tftpboot $fdtaddr $fdtfile;setenv bootargs $console $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
bootcmd_ubi=ubi part ubifs; ubifsmount rootfs; ubifsload 0x2000000 kernel; ubifsload 0x3000000 initrd.gz; bootm 0x2000000 0x3000000 0x1000000
bootdelay=0
cacheShare=no
check_usb=usb start; fatload usb 0:1 0x2000000 /NTGR_USBBOOT_INFO.txt
console=console=ttyS0,115200
disL2Cache=yes
disaMvPnp=no
eeeEnable=no
enaAutoRecovery=yes
enaClockGating=yes
enaFPU=no
enaWrAllo=no
envver=3
eth1addr=00:50:43:02:00:00
eth1mtu=1500
ethact=egiga1
ethaddr=00:50:43:02:02:00
ethmtu=1500
ethprime=egiga1
fdt_skip_update=no
fdtaddr=0x1000000
fdtfile=armada-370-db.dtb
filesize=29A6F5
image_name=uImage
initrd_high=0xFFFFFFFF
initrd_name=uInitrd
ipaddr=192.168.82.234
loadaddr=0x02000000
loads_echo=0
mtdids=nand0=armada-nand
mtdparts=mtdparts=armada-nand:0x180000@0(u-boot),0x20000@0x180000(u-boot-env),0x600000@0x200000(uImage),0x400000@0x800000(minirootfs),-(ubifs)
mvNetConfig=switch_config=none
mv_pon_addr=00:50:43:00:00:02
nandEcc=1bit
netbsd_en=no
netmask=255.255.255.0
netretry=no
pcieTune=no
pexMode=rc
pxe_files_load=:default.arm-armada370-db:default.arm-armadaxp:default.arm
pxefile_addr_r=3100000
rcvrip=169.254.100.100
rootpath=/srv/oneiric
sata_delay_reset=0
sata_dma_mode=yes
serverip=192.168.82.150
standalone=fsload 0x2000000 $image_name;setenv bootargs $console $mtdparts root=/dev/mtdblock0 rw ip=$ipaddr:$serverip$bootargs_end; bootm 0x2000000;
stderr=serial
stdin=serial
stdout=serial
usb0Mode=host
usb1Mode=host
usb2Mode=device
usbActive=0
vxworks_en=no
yuk_ethaddr=00:00:00:EE:51:81

Environment size: 2748/131068 bytes
Marvell>>

====

moderator edit: please use code tags (Formatted code button) to post log.



Edited 1 time(s). Last edit at 01/29/2021 03:57PM by bodhi.
Re: Debian on Netgear RN102
January 27, 2021 02:13PM
Hi makczo,
Are you trying to load stock firmware?If so which guide are you using?Is this one?
Re: Debian on Netgear RN102
January 29, 2021 10:42AM
NAS is after full nand erase chip.I have normal comunication and flashing with recovery disc , uart mtd0 and debian , read ok. but not write in memory.After restart power all is deleted.Tftp comunication not work . How can I save uboot and partitions via console commands ?I think NAND it's blocked or broken.
Re: Debian on Netgear RN102
January 29, 2021 04:06PM
makczo,

> NAS is after full nand erase chip.I have normal
> comunication and flashing with recovery disc ,
> uart mtd0 and debian , read ok. but not write in
> memory.After restart power all is deleted.Tftp
> comunication not work . How can I save uboot and
> partitions via console commands ?I think NAND it's
> blocked or broken.

Your NAND is not broken. You can still boot with stock u-boot on mtd0.

Your kernel on NAND is also OK.

NAND read: device 0 offset 0xd4000, size 0x6000
24576 bytes read: OK
## Booting kernel from Legacy Image at 02000000 ...
Image Name: Linux-3.0.101.RN_ARM.4
Created: 2015-04-01 23:06:44 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3158996 Bytes = 3 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK

But when loading initrd, it reads from USB:

reading /initrd-recovery.gz


## Loading init Ramdisk from Legacy Image at 03000000 ...
Image Name: initrd-recovery
Created: 2017-12-22 19:19:16 UTC
Image Type: ARM Linux RAMDisk Image (lzma compressed)
Data Size: 2729653 Bytes = 2.6 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK

And it has some problem finding the DTB:

ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree

You could install Debian on USB or HDD, and not restoring stock OS:

https://forum.doozan.com/read.php?2,92514

If you want to restore stock then investigate why the recovery FW on USB is not good. Perhaps recreate that recovery USB.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Chris
Re: Debian on Netgear RN102
March 01, 2021 03:21PM
Good Day. Wondering if someone could sort of share the current status of this project? I have an RN102 sitting around not doing anything at the moment that I'd love to flash with Debian with the goal of running OMV on it for an offsite NAS\Backup solution. I'm looking through the posts and trying to perceive the steps to flash the device with the Debian image. Is there a step by step somewhere? I'm assuming it's necessary to use the Netgear Recovery Tool at:
https://kb.netgear.com/29952/How-do-I-use-the-USB-Recovery-Tool-on-my-ReadyNAS-OS-6-storage-system

Thanks in advanced for any details that can be shared...
Re: Debian on Netgear RN102
March 01, 2021 04:55PM
Chris,

See here in the rootfs/kernel release thread

Quote

Netgear RN102 (Armada 370) Installation: see this thread


Quote

II. Netgear RN102 Intsallation
Updated 06 Sept 2020

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 03/01/2021 05:13PM by bodhi.
Re: Debian on Netgear RN102
December 14, 2023 01:39PM
Hi Trond,

Quote
https://forum.doozan.com/read.php?2,106589,106904#msg-106904
> A minor suggestion for your '/etc/rc.local'
> script: If you use -x rather than -f when testing
> for '/root/set_persistent_mac_address', one may
> disable and exnable this script with 'chmod -x'
> and 'chmod -x'. Nifty?

Somehow I've forgot this until now (I'm searching for this topic because I remember someone has suggested enhancements), thanks for the suggestion!

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
tme
Re: Debian on Netgear RN102
December 16, 2023 04:58AM
Hi bodhi,

I'm glad to hear you found this trick useful!

- Trond Melen
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: