08-01-2016, 06:40 PM
(This post was last modified: 08-02-2016, 03:19 PM by waldo.
Edit Reason: script had typo
)
I have one working board and one broken one ; I've been playing around with the rx tx values.
Results are attached ... The Pine stopped rebooting at 1 1, didn't have a monitor attached so don't know why.
The wget and iperf are from a local apache server capable of delivering over 70 MByte/s http no problem
The good results for tx1rx1 had me hopefull but those were clearly just a fluke. Tried them again afterwards ... no luck.
I'm beginning to think there might be no software quickfix for this issue.
Anyone willing to prove me wrong ... be my guest; my script is attached too, haven't gone above 1 x 3 yet.
(Just add a line to /etc/rc.local containing the scripts location)
Godspeed
Needs some explanation from http://forum.pine64.org/showthread.php?t...2#pid16062
Results are attached ... The Pine stopped rebooting at 1 1, didn't have a monitor attached so don't know why.
The wget and iperf are from a local apache server capable of delivering over 70 MByte/s http no problem
The good results for tx1rx1 had me hopefull but those were clearly just a fluke. Tried them again afterwards ... no luck.
I'm beginning to think there might be no software quickfix for this issue.
Anyone willing to prove me wrong ... be my guest; my script is attached too, haven't gone above 1 x 3 yet.
(Just add a line to /etc/rc.local containing the scripts location)
Godspeed
Code:
#!/bin/bash
sleep 1m
RX=$(cat /sys/module/sunxi_gmac/parameters/rx_delay)
TX=$(cat /sys/module/sunxi_gmac/parameters/tx_delay)
tx)
date > /root/r${RX}_t${TX}.txt
ethtool eth0 >> /root/r${RX}_t${TX}.txt
timeout -k 75s 68s iperf -c 192.168.1.230 -t60 >> /root/r${RX}_t${TX}.txt
timeout -k 75 60s wget --output-document=/dev/null http://192.168.1.230/test.img 2>&1 | grep % >> /root/r${RX}_t${TX}.txt
dmesg | tail -n 30 >> /root/r${RX}_t${TX}.txt
ifconfig eth0 >> /root/r${RX}_t${TX}.txt
if [ $RX -eq 31 ] && [ $TX -eq 7 ]; then
exit 1
fi
if [ $TX -eq 7 ]; then
TX="0"
((RX++))
else
((TX++))
fi
# 2806 tx-delay = <0x1>; =>0-7
# 2807 rx-delay = <0x0>; =>0-31
sed -i '2806s/.*/ tx-delay = <0x'$(printf "%X" $TX)'>;/' /boot/pine64/sun50i-a64-pine64-plus.dts
sed -i '2807s/.*/ rx-delay = <0x'$(printf "%X" $RX)'>;/' /boot/pine64/sun50i-a64-pine64-plus.dts
dtc -I dts -O dtb -o /boot/pine64/sun50i-a64-pine64-plus.dtb /boot/pine64/sun50i-a64-pine64-plus.dts
reboot
#echo b > /proc/sysrq-trigger
Needs some explanation from http://forum.pine64.org/showthread.php?t...2#pid16062