Hi everybody, waiting for donations
please use bertmod to see individual vrm stats.
Please keep in mind that i put the front blowers to different place, they aim straight to boards themselves. I also removed the bent-metal part that supplies airflow to beaglebone. Don't know if this has any effect on beaglebone in the long run. I put heatsinks on vrms, took the yellow tape off, cleaned with cleaner + acetone and put arctic silver thermal adhesive, as I didnt want to risk heatsinks "moving" and falling of from vrms. Temperature sensor wont give you correct reading, you can only watch if faults start to appear on vrm's.
Im having one issue at the moment, current readings from other asic have started to fall down. Hashing drops some, but not quite that much.
Yesterday I started to reverse engineer VRM voltage setting, but didnt have guts to try anything yet. On BMR464 manual it says that the output "master" voltage is set with resistor, but you can go like 15% higher by accidently issuing wrong command. Hope that this doesnt kill the asic=)
Im not to blame if it dies, please remember!
Thanks again. You'll receive a donation from me soon for sure
Hope others do so as well, because without your balls risking to blow up an asic we still wouldn't know about it.
Ok, did some further testing and measurements.
Notice please, case was off otherwise I'm not able to measure temps.
And I've used an infrared pistol, maybe I can borrow another thing which I can put directly on tiny parts to measure temps.
Standard clock-settings:859W at the wall
67°C for those tiny blocks next to the voltage regulators
80°C for the voltage regulators (yellow area)
cores in the web-gui stats up to 53°C
no big diff between boards
DC/DC ID ON/OFF Status Input Voltage Output Voltage Output Current
0 OFF OK 11.8 V 0.829 V 25.2 A (20.9 W)
1 OFF OK 11.8 V 0.829 V 25.4 A (21.1 W)
2 OFF OK 11.8 V 0.827 V 25.3 A (20.9 W)
3 OFF OK 11.9 V 0.828 V 25.4 A (21 W)
4 OFF OK 11.8 V 0.83 V 25.4 A (21.1 W)
5 OFF OK 11.8 V 0.833 V 25.1 A (20.9 W)
6 OFF OK 11.8 V 0.83 V 24.8 A (20.6 W)
7 OFF OK 11.8 V 0.829 V 24 A (19.9 W)
Modified clock-settings:1098W at the wall
70°C for those tiny blocks next to the voltage regulators
90°C for the voltage regulators (yellow area)
cores in the web-gui stats up to 66°C
For the overclocked one bertmod showed after some time several 'FAULT 4' for the two boards in the back, nevertheless it was hashing very nice.
No clue what this means.
0 OFF FAULT 4 11.7 V 0.819 V 30.8 A (25.2 W)
1 OFF OK 11.6 V 0.82 V 30.7 A (25.2 W)
2 OFF FAULT 4 11.7 V 0.822 V 31.5 A (25.9 W)
3 OFF OK 11.8 V 0.824 V 31.4 A (25.9 W)
4 OFF OK 11.7 V 0.821 V 30.1 A (24.7 W)
5 OFF OK 11.7 V 0.821 V 30.2 A (24.8 W)
6 OFF FAULT 4 11.7 V 0.823 V 30.7 A (25.3 W)
7 OFF FAULT 4 11.7 V 0.821 V 31.3 A (25.7 W)
BMR series offers a nice feature, btw: "Over temperature protection"
http://www.ericsson.com/ourportfolio/products/bmr464-seriesAaaaannd....here's what you all had been waiting for, I guess.
Gives me peaks in the pool over >850
Keep in mind the usual stuff: donate a little to temen, warranty void, blow-up risk, ..
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
use_bfgminer=
if [ -f /config/miner.conf ]; then
. /config/miner.conf
fi
if [ "$use_bfgminer" = true ] ; then
DAEMON=/usr/bin/bfgminer
NAME=bfgminer
DESC="BFGMiner daemon"
EXTRA_OPT="-S knc:auto"
else
DAEMON=/usr/bin/cgminer
NAME=cgminer
DESC="Cgminer daemon"
EXTRA_OPT=
fi
set -e
test -x "$DAEMON" || exit 0
echo "k";
do_start() {
# Stop SPI poller
spi_ena=0
i2cset -y 2 0x71 2 $spi_ena
good_ports=""
bad_ports=""
# CLear faults in megadlynx's
for b in 3 4 5 6 7 8 ; do
for d in 0 1 2 3 4 5 6 7 ; do
i2cset -y $b 0x1$d 3 >/dev/null 2>&1 || true
done
done
for p in 0 1 2 3 4 5 ; do
i2cset -y 2 0x71 1 $((p+1))
good_flag=0
ar="$(spi-test -s 50000 -OHC -D /dev/spidev1.0 0x80,3,0,0,0,0,0,0 | tail -c 13)"
if [ "x$ar" = "x00 30 A0 01" ] ; then
good_flag=1
fi
ar="$(spi-test -s 50000 -OHC -D /dev/spidev1.0 0x80,2,0,0,0,0,0,0 | tail -c 13)"
if [ "x$ar" = "x00 30 A0 01" ] ; then
good_flag=1
fi
ar="$(spi-test -s 50000 -OHC -D /dev/spidev1.0 0x80,1,0,0,0,0,0,0 | tail -c 13)"
if [ "x$ar" = "x00 30 A0 01" ] ; then
good_flag=1
fi
ar="$(spi-test -s 50000 -OHC -D /dev/spidev1.0 0x80,0,0,0,0,0,0,0 | tail -c 13)"
if [ "x$ar" = "x00 30 A0 01" ] ; then
good_flag=1
fi
if [ "$good_flag" = "1" ] ; then
good_ports=$good_ports" $p"
else
bad_ports=$bad_ports" $p"
fi
done
if [ -n "$good_ports" ] ; then
for p in $good_ports ; do
# Re-enable PLL
i2cset -y 2 0x71 1 $((p+1))
for c in 0 1 2 3 ; do
cmd=$(printf "0x84,0x%02X,0,0" $c)
spi-test -s 50000 -OHC -D /dev/spidev1.0 $cmd >/dev/null
cmd=$(printf "0x86,0x%02X,0x02,0x85" $c)
spi-test -s 50000 -OHC -D /dev/spidev1.0 $cmd >/dev/null
cmd=$(printf "0x85,0x%02X,0,0" $c)
spi-test -s 50000 -OHC -D /dev/spidev1.0 $cmd >/dev/null
done
# re-enable all cores
i=0
while [[ $i -lt 192 ]] ; do
i2cset -y 2 0x2$p $i 1
i=$((i+1))
done
spi_ena=$(( spi_ena | (1 << $p) ))
done
fi
if [ -n "$bad_ports" ] ; then
for p in $bad_ports ; do
# Disable PLL
i2cset -y 2 0x71 1 $((p+1))
for c in 0 1 2 3 ; do
cmd=$(printf "0x84,0x%02X,0,0" $c)
spi-test -s 50000 -OHC -D /dev/spidev1.0 $cmd >/dev/null
done
# disable all cores
i=0
while [[ $i -lt 192 ]] ; do
i2cset -y 2 0x2$p $i 0
i=$((i+1))
done
spi_ena=$(( spi_ena & ~(1 << $p) ))
done
fi
# Disable direct SPI
i2cset -y 2 0x71 1 0
# Enable SPI poller
i2cset -y 2 0x71 2 $spi_ena
start-stop-daemon -b -S -x screen -- -S cgminer -t cgminer -m -d "$DAEMON" --api-listen -c /config/cgminer.conf $EXTRA_OPT
}
do_stop() {
killall -9 bfgminer cgminer 2>/dev/null || true
}
case "$1" in
start)
echo -n "Starting $DESC: "
do_start
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
do_stop
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
do_stop
echo "cooling down for 60s.."
sleep 60 #let it cool down!
do_start
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0