Pages:
Author

Topic: Braiins OS & Braiins OS+ custom ASIC firmware: optimize performance & efficiency - page 18. (Read 45351 times)

newbie
Activity: 3
Merit: 0
I am using Brainns-os for my antminer S9 miner, it working fine, power consumption is very low.

But, it does not support antminer T9+, and "system.bit" no source code.

How i can get the "system.bit" for T9+? I have no idea at all, would you please supply (system.bit) to me?

thanks!thanks!thanks!
legendary
Activity: 2030
Merit: 1569
CLEAN non GPL infringing code made in Rust lang
will BOS be available for other miners? especially the new models? Whatsminer M20x, S17?

Yes, that is the reason they are now focusing on releasing the cgminer replacement, bOSminer. Currently its only S9, but not the latest models, and the T1.

Next year when they consider bOSminer stable enough for release, then they will start adding more hardware.
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
No, it won't work and they are not compatible.

They only supported these types of miners "Antminer S9, S9i, S9j and Dragon Mint T1 with G19 or G29 control board"
full member
Activity: 500
Merit: 105
will BOS be available for other miners? especially the new models? Whatsminer M20x, S17?
member
Activity: 139
Merit: 46
legendary
Activity: 2030
Merit: 1569
CLEAN non GPL infringing code made in Rust lang
This was already explained on this thread. If you input values the hashboards won't tolerate, they drop to 0 hash, and a bit before that, they may exhibit a high error rate.

As i explained before, when this happens you have two choices: Either reduce speed (in Mhz), or increase voltage. Every hashboard is different and no single universal value works across all, you have to try with each of them find the most efficient setup. Various people have successfully underclocked and overclocked the boards. Underclocking maximizes eficiency, but after a point it starts becoming inefficient again until it drops to zero.

So no, there is no graph, and even if you bother to make one, it would only be valid for that specific hashboard. All hashboards react different, they should be "close", but not identical.

The first you have to do is, lower the voltage, until it fails, then go back to the previously working voltage (do this per board). If you decide to lower the speed, then after one step lowering the speed try again lowering the voltage, and so on. You would need to measure power consumption if you are looking to max efficiency. About 80 watt per THs is possible with the S9.

If your goal is not efficiency but simply the lowest noise/power, you have to try with the lowest speed and voltage you can manage without the boards dropping to zero. Remember, no hashboard is made equal. Test each separately. You may find a setting that roughly works with all, but it won't be the most optimum for all, but the one that worked with the worst performer. Which is your worst performer? Until you find it, any values you try will work in some and fail in others...
member
Activity: 139
Merit: 46
so got it working ,  had to download a new copy of brains,
and ran the command to install to nand, and now it works,

the first time it was restarting every couple min ,
after this its now stable,

one question i have is there a graph or chart that lays out the over clocking
for each factory set and what to clock it to ,  

seeing some of my hash boards drop to 0 when using user defined freq
and not overclocking  but under clocking ,  im doing this because
some of the boards i have run hot and others dont so im tying to
turn the freq down on the hot boards and run the others @ 1.00 speed

any insights would be helpful ,  im using different config files triggered by cron tabs

mainly i have to under clock during the day as its hot still , and near normal speed at night  30-49% during the day and 85-95% at night


Thanks

FREEMINE
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
so just flashed braiins os , i can ssh in but cant get to the web interface,

What browser you are using?

Try to clean the browser's history and cache or use incognito to test if you can access the WebGUI.

Also, try to hard reset the control board follow this guide below.

- While the control board is on hold IPreporter for 15 secs then release.
- It will automatically restart.
- After that test it again.

Update here if it doesn't work.
legendary
Activity: 2030
Merit: 1569
CLEAN non GPL infringing code made in Rust lang
so just flashed braiins os , i can ssh in but cant get to the web interface,

can anyone advise me of what to do, at the moment the control board is not in the miner
as i was flashing it , booted from sd , ran the ssh install command , completed
still cant get into it from browser, i can ping it and ssh ,

are there some commands i can run and post the results to get a better understanding
why it wont let me in,  this is my 6th miner flashing braiins , all the other 5 were able to boot and
access through browser, using the same image

But can you boot using the sd fine there? Then there could be a problem flashing into nand. You can try flashing it again, or revert the nand to factory firmware and see if its still working normally (the nand).

Normally you don't have to do anything else. And you can install into nand using the Web UI, but your command is supposed to do the exact same thing. Try force reinstalling the package firmware (opkg update ; opkg install --force-reinstall firmware) and see if that makes any difference. "Removing" the firmware package should in theory reset it as well (you will find its reinstalled with reset values).

Is this an s9j ? Some of those are exhibiting issues when flashing into nand, but work perfectly fine using the sd card. You don't have to flash into nand to use bOS, you can always let it run from SD.
member
Activity: 139
Merit: 46
so just flashed braiins os , i can ssh in but cant get to the web interface,

can anyone advise me of what to do, at the moment the control board is not in the miner
as i was flashing it , booted from sd , ran the ssh install command , completed
still cant get into it from browser, i can ping it and ssh ,

are there some commands i can run and post the results to get a better understanding
why it wont let me in,  this is my 6th miner flashing braiins , all the other 5 were able to boot and
access through browser, using the same image
sr. member
Activity: 800
Merit: 294
Created AutoTune to saved the planet! ~USA
What's the low down with braiins and core scientific?

Word on the street is they are using mineority app for deployment...
full member
Activity: 1022
Merit: 221
We are not retail.
What's the low down with braiins and core scientific?
legendary
Activity: 2030
Merit: 1569
CLEAN non GPL infringing code made in Rust lang
It turns out there is some little bit of information about this September (bOSminer) release:

Will Braiins OS work with newer Antminer S9k revisions?  Huh

After they finish bOSminer (First stable release expected in the beginning of next year), they plan to add support for more hardware. I don't really know if current bOS works there, i don't think so due to the different controller like the hydro etc.
newbie
Activity: 12
Merit: 0
Will Braiins OS work with newer Antminer S9k revisions?  Huh
full member
Activity: 686
Merit: 140
Linux FOREVER! Resistance is futile!!!
[...]

Thanks a lot, will try it out.



So just like others it shows no errors, green and red light start blinking, but no ip after reboot.

Looks like sd card is the way to go ...
legendary
Activity: 2030
Merit: 1569
CLEAN non GPL infringing code made in Rust lang
So after an unsuccessful attempt I boot from sd card.
Flashing to nand goes ok and it gives the successful message to change jumpers and reboot, but it wont boot, just keeps rebooting.

Any helps would be much appreciated

Then try with the "official" method which involves flashing to the T9+ firmware (that's Bitmain "quality" support) and then enter the ui of that to "upgrade" to the actual S9 firmware of theirs (2017 or 2018 should work).

If that also doesn't cure it, you might have a damaged nand, and you will be forced to either replace the controller, or permanently use an sd card with bOS in it.



BTW Just looking at the feeds page i spotted a newer experimental bOSminer version... There are no release notes of this 14th September "bosminer preview" release and i don't know if people should upgrade to it, perhaps waiting for release details would be prudent. bOSminer is probably not feature complete at this point, they were saying by the beginning of next year it would be ready...

bosminer is a cgminer replacement written in rust language.
full member
Activity: 686
Merit: 140
Linux FOREVER! Resistance is futile!!!
Thanks
Already checked those before asking,
GitHub only has source code and no specific images and feed only has the latest.



So after an unsuccessful attempt I boot from sd card.
Flashing to nand goes ok and it gives the successful message to change jumpers and reboot, but it wont boot, just keeps rebooting.

Tried to restore to factory and gave me this error:

Code:
Could not open mtd device: BOOT.bin-env-dts-kernel
Can't open device for writing!

full restore log:

Code:
python3 restore2factory.py --factory-image Antminer-S9j-all-201811071118-autofreq-user-Update2UBI-NF.tar.gz 192.168.1.180
Connecting to remote host...
/home/payam/Desktop/braiins/braiins-os_am1-s9_ssh_2019-06-05-0-0de55997/.env/lib/python3.6/site-packages/paramiko/ecdsakey.py:164: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
  self.ecdsa_curve.curve_class(), pointinfo
Password:
Detected bOS mode: sd
Creating configuration files...
Uploading firmware...
Skipping 'c5/soc_system.rbf'
Skipping 'c5/upgrade-marker.bin'
Skipping 'c5/angstrom_rootfs.jffs2'
Skipping 'runme.sh'
Skipping 'ubi_info'
rootfs.jffs2: |################################| 48889856/48889856
upgrade-marker.bin: |################################| 16/16
devicetree.dtb: |################################| 7631/7631
BOOT.bin: |################################| 2559872/2559872
uImage: |################################| 3799480/3799480
Uploading restore scripts...
/tmp/tmpvab5fhbe/config.tar.gz: |################################| 253/253
upgrade/restore.sh: |################################| 1305/1305
Restoring firmware...
Could not open mtd device: BOOT.bin-env-dts-kernel
Can't open device for writing!

Any helps would be much appreciated.
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
Where do I find older images for s9?

Check this link for old image for Braiins OS below.

- https://github.com/braiins/braiins/releases

Or you can check this one.

https://feeds.braiins-os.org/

In the feeds page, they mostly removed older than June 2019 firmware image.
full member
Activity: 686
Merit: 140
Linux FOREVER! Resistance is futile!!!
Where do I find older images for s9?

My miners get hung on rebooting after Upgrade was successful!
I never had this issue on older image

Here is the log:
Code:
python3 upgrade2bos.py --no-nand-backup 192.168.1.9
Connecting to remote host...
/home/m1/Downloads/braiins/braiins-os_am1-s9_ssh_2019-06-05-0-0de55997/.env/lib/python3.5/site-packages/paramiko/ecdsakey.py:164: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
  self.ecdsa_curve.curve_class(), pointinfo
/home/m1/Downloads/braiins/braiins-os_am1-s9_ssh_2019-06-05-0-0de55997/.env/lib/python3.5/site-packages/paramiko/client.py:822: UserWarning: Unknown ssh-rsa host key for 192.168.1.9: b'd1b9a53ccf18f8c71135b9d44adf6ad1'
  key.get_name(), hostname, hexlify(key.get_fingerprint())
Password:
Preparing system for backup...
Backuping configuration files...
Backuping miner NAND...
Preparing remote system...
Copy ld-musl-armhf.so.1 to /lib/ld-musl-armhf.so.1
Copy sftp-server to /usr/lib/openssh/sftp-server
Copy fw_printenv to /usr/sbin/fw_printenv

Uploading firmware...
firmware/stage2.tgz: |################################| 17495127/17495127
firmware/u-boot.img: |################################| 573700/573700
firmware/uboot_env.bin: |################################| 131072/131072
firmware/boot.bin: |################################| 79647/79647
firmware/stage1.sh: |################################| 4069/4069
firmware/fit.itb: |################################| 7036220/7036220
firmware/system.bit.gz: |################################| 477812/477812
firmware/uboot_env.config: |################################| 382/382
firmware/CONTROL: |################################| 3081/3081
Upgrading firmware...
total 25212
-rw-r--r--    1 root     root          3081 Sep 21 07:51 CONTROL
-rw-r--r--    1 root     root         79647 Sep 21 07:51 boot.bin
-rw-r--r--    1 root     root       7036220 Sep 21 07:51 fit.itb
-rw-r--r--    1 root     root          4069 Sep 21 07:51 stage1.sh
-rw-r--r--    1 root     root      17495127 Sep 21 07:51 stage2.tgz
-rw-r--r--    1 root     root        477812 Sep 21 07:51 system.bit.gz
-rw-r--r--    1 root     root        573700 Sep 21 07:51 u-boot.img
-rw-r--r--    1 root     root        131072 Sep 21 07:51 uboot_env.bin
-rw-r--r--    1 root     root           382 Sep 21 07:51 uboot_env.config
Erasing 128 Kibyte @ 1fe0000 -- 100 % complete
Writing U-Boot images with FPGA bitstream...
Writing data to block 0 at offset 0x0
Writing data to block 4 at offset 0x80000
Writing data to block 5 at offset 0xa0000
Writing data to block 6 at offset 0xc0000
Writing data to block 7 at offset 0xe0000
Writing data to block 8 at offset 0x100000
Writing data to block 24 at offset 0x300000
Writing data to block 25 at offset 0x320000
Writing data to block 26 at offset 0x340000
Writing data to block 27 at offset 0x360000
Writing U-Boot environment...
Writing data to block 56 at offset 0x700000
Writing data to block 57 at offset 0x720000
Erasing 128 Kibyte @ 2ec0000 -- 58 % complete flash_erase: Skipping bad block at 02ee0000
Erasing 128 Kibyte @ 3aa0000 -- 73 % complete flash_erase: Skipping bad block at 03ac0000
Erasing 128 Kibyte @ 4f40000 -- 99 % complete flash_erase: Skipping bad block at 04f60000
flash_erase: Skipping bad block at 04f80000
flash_erase: Skipping bad block at 04fa0000
flash_erase: Skipping bad block at 04fc0000
flash_erase: Skipping bad block at 04fe0000
Erasing 128 Kibyte @ 4fe0000 -- 100 % complete
Writing kernel image...
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
Writing data to block 4 at offset 0x80000
Writing data to block 5 at offset 0xa0000
Writing data to block 6 at offset 0xc0000
Writing data to block 7 at offset 0xe0000
Writing data to block 8 at offset 0x100000
Writing data to block 9 at offset 0x120000
Writing data to block 10 at offset 0x140000
Writing data to block 11 at offset 0x160000
Writing data to block 12 at offset 0x180000
Writing data to block 13 at offset 0x1a0000
Writing data to block 14 at offset 0x1c0000
Writing data to block 15 at offset 0x1e0000
Writing data to block 16 at offset 0x200000
Writing data to block 17 at offset 0x220000
Writing data to block 18 at offset 0x240000
Writing data to block 19 at offset 0x260000
Writing data to block 20 at offset 0x280000
Writing data to block 21 at offset 0x2a0000
Writing data to block 22 at offset 0x2c0000
Writing data to block 23 at offset 0x2e0000
Writing data to block 24 at offset 0x300000
Writing data to block 25 at offset 0x320000
Writing data to block 26 at offset 0x340000
Writing data to block 27 at offset 0x360000
Writing data to block 28 at offset 0x380000
Writing data to block 29 at offset 0x3a0000
Writing data to block 30 at offset 0x3c0000
Writing data to block 31 at offset 0x3e0000
Writing data to block 32 at offset 0x400000
Writing data to block 33 at offset 0x420000
Writing data to block 34 at offset 0x440000
Writing data to block 35 at offset 0x460000
Writing data to block 36 at offset 0x480000
Writing data to block 37 at offset 0x4a0000
Writing data to block 38 at offset 0x4c0000
Writing data to block 39 at offset 0x4e0000
Writing data to block 40 at offset 0x500000
Writing data to block 41 at offset 0x520000
Writing data to block 42 at offset 0x540000
Writing data to block 43 at offset 0x560000
Writing data to block 44 at offset 0x580000
Writing data to block 45 at offset 0x5a0000
Writing data to block 46 at offset 0x5c0000
Writing data to block 47 at offset 0x5e0000
Writing data to block 48 at offset 0x600000
Writing data to block 49 at offset 0x620000
Writing data to block 50 at offset 0x640000
Writing data to block 51 at offset 0x660000
Writing data to block 52 at offset 0x680000
Writing data to block 53 at offset 0x6a0000
Writing stage2 tarball...
Writing data to block 80 at offset 0xa00000
Writing data to block 81 at offset 0xa20000
Writing data to block 82 at offset 0xa40000
Writing data to block 83 at offset 0xa60000
Writing data to block 84 at offset 0xa80000
Writing data to block 85 at offset 0xaa0000
Writing data to block 86 at offset 0xac0000
Writing data to block 87 at offset 0xae0000
Writing data to block 88 at offset 0xb00000
Writing data to block 89 at offset 0xb20000
Writing data to block 90 at offset 0xb40000
Writing data to block 91 at offset 0xb60000
Writing data to block 92 at offset 0xb80000
Writing data to block 93 at offset 0xba0000
Writing data to block 94 at offset 0xbc0000
Writing data to block 95 at offset 0xbe0000
Writing data to block 96 at offset 0xc00000
Writing data to block 97 at offset 0xc20000
Writing data to block 98 at offset 0xc40000
Writing data to block 99 at offset 0xc60000
Writing data to block 100 at offset 0xc80000
Writing data to block 101 at offset 0xca0000
Writing data to block 102 at offset 0xcc0000
Writing data to block 103 at offset 0xce0000
Writing data to block 104 at offset 0xd00000
Writing data to block 105 at offset 0xd20000
Writing data to block 106 at offset 0xd40000
Writing data to block 107 at offset 0xd60000
Writing data to block 108 at offset 0xd80000
Writing data to block 109 at offset 0xda0000
Writing data to block 110 at offset 0xdc0000
Writing data to block 111 at offset 0xde0000
Writing data to block 112 at offset 0xe00000
Writing data to block 113 at offset 0xe20000
Writing data to block 114 at offset 0xe40000
Writing data to block 115 at offset 0xe60000
Writing data to block 116 at offset 0xe80000
Writing data to block 117 at offset 0xea0000
Writing data to block 118 at offset 0xec0000
Writing data to block 119 at offset 0xee0000
Writing data to block 120 at offset 0xf00000
Writing data to block 121 at offset 0xf20000
Writing data to block 122 at offset 0xf40000
Writing data to block 123 at offset 0xf60000
Writing data to block 124 at offset 0xf80000
Writing data to block 125 at offset 0xfa0000
Writing data to block 126 at offset 0xfc0000
Writing data to block 127 at offset 0xfe0000
Writing data to block 128 at offset 0x1000000
Writing data to block 129 at offset 0x1020000
Writing data to block 130 at offset 0x1040000
Writing data to block 131 at offset 0x1060000
Writing data to block 132 at offset 0x1080000
Writing data to block 133 at offset 0x10a0000
Writing data to block 134 at offset 0x10c0000
Writing data to block 135 at offset 0x10e0000
Writing data to block 136 at offset 0x1100000
Writing data to block 137 at offset 0x1120000
Writing data to block 138 at offset 0x1140000
Writing data to block 139 at offset 0x1160000
Writing data to block 140 at offset 0x1180000
Writing data to block 141 at offset 0x11a0000
Writing data to block 142 at offset 0x11c0000
Writing data to block 143 at offset 0x11e0000
Writing data to block 144 at offset 0x1200000
Writing data to block 145 at offset 0x1220000
Writing data to block 146 at offset 0x1240000
Writing data to block 147 at offset 0x1260000
Writing data to block 148 at offset 0x1280000
Writing data to block 149 at offset 0x12a0000
Writing data to block 150 at offset 0x12c0000
Writing data to block 151 at offset 0x12e0000
Writing data to block 152 at offset 0x1300000
Writing data to block 153 at offset 0x1320000
Writing data to block 154 at offset 0x1340000
Writing data to block 155 at offset 0x1360000
Writing data to block 156 at offset 0x1380000
Writing data to block 157 at offset 0x13a0000
Writing data to block 158 at offset 0x13c0000
Writing data to block 159 at offset 0x13e0000
Writing data to block 160 at offset 0x1400000
Writing data to block 161 at offset 0x1420000
Writing data to block 162 at offset 0x1440000
Writing data to block 163 at offset 0x1460000
Writing data to block 164 at offset 0x1480000
Writing data to block 165 at offset 0x14a0000
Writing data to block 166 at offset 0x14c0000
Writing data to block 167 at offset 0x14e0000
Writing data to block 168 at offset 0x1500000
Writing data to block 169 at offset 0x1520000
Writing data to block 170 at offset 0x1540000
Writing data to block 171 at offset 0x1560000
Writing data to block 172 at offset 0x1580000
Writing data to block 173 at offset 0x15a0000
Writing data to block 174 at offset 0x15c0000
Writing data to block 175 at offset 0x15e0000
Writing data to block 176 at offset 0x1600000
Writing data to block 177 at offset 0x1620000
Writing data to block 178 at offset 0x1640000
Writing data to block 179 at offset 0x1660000
Writing data to block 180 at offset 0x1680000
Writing data to block 181 at offset 0x16a0000
Writing data to block 182 at offset 0x16c0000
Writing data to block 183 at offset 0x16e0000
Writing data to block 184 at offset 0x1700000
Writing data to block 185 at offset 0x1720000
Writing data to block 186 at offset 0x1740000
Writing data to block 187 at offset 0x1760000
Writing data to block 188 at offset 0x1780000
Writing data to block 189 at offset 0x17a0000
Writing data to block 190 at offset 0x17c0000
Writing data to block 191 at offset 0x17e0000
Writing data to block 192 at offset 0x1800000
Writing data to block 193 at offset 0x1820000
Writing data to block 194 at offset 0x1840000
Writing data to block 195 at offset 0x1860000
Writing data to block 196 at offset 0x1880000
Writing data to block 197 at offset 0x18a0000
Writing data to block 198 at offset 0x18c0000
Writing data to block 199 at offset 0x18e0000
Writing data to block 200 at offset 0x1900000
Writing data to block 201 at offset 0x1920000
Writing data to block 202 at offset 0x1940000
Writing data to block 203 at offset 0x1960000
Writing data to block 204 at offset 0x1980000
Writing data to block 205 at offset 0x19a0000
Writing data to block 206 at offset 0x19c0000
Writing data to block 207 at offset 0x19e0000
Writing data to block 208 at offset 0x1a00000
Writing data to block 209 at offset 0x1a20000
Writing data to block 210 at offset 0x1a40000
Writing data to block 211 at offset 0x1a60000
Writing data to block 212 at offset 0x1a80000
Writing data to block 213 at offset 0x1aa0000
U-Boot configuration...

Content of U-Boot configuration:
miner_pool_host=stratum+tcp://stratum.slushpool.com
miner_pool_port=3333
miner_pool_user=!non-existent-user!
load_addr=0x2000000
fdt_high=0x7FFFFFF
initrd_high=0x7FFFFFF
bitstream_addr=0x2100000
bootenv=uEnv.txt
set_bootargs=setenv bootargs console=ttyPS0,115200 root=/dev/ram0 r rootfstype=squashfs ${mtdparts} earlyprintk
uenv_load=load mmc 0 ${load_addr} ${bootenv} && echo Loaded environment from ${bootenv} && env import -t ${load_addr} ${filesize}
load_fpga=nand read ${load_addr} ${bitstream_off} ${bitstream_size} && unzip ${load_addr} ${bitstream_addr} && fpga loadb 0 ${bitstream_addr} ${bitstream_size}
nandboot=echo Copying FIT from NAND flash to RAM... && run uenv_load; test x${sd_boot} = xyes && run sdboot; run set_bootargs && run load_fpga && nand read ${load_addr} ${kernel_off} ${kernel_size} && bootm ${load_addr}
sdboot=echo Copying FIT from SD to RAM... && run set_bootargs && run uenv_load; load mmc 0 ${load_addr} fit.itb && bootm ${load_addr}
mtdids=nand0=pl35x-nand
mtdparts=mtdparts=pl35x-nand:512k(boot),2560k(uboot),2m(fpga1),2m(fpga2),512k(uboot_env),512k(miner_cfg),22m(recovery),95m(firmware1),95m(firmware2)
bootcmd=run $modeboot
bitstream_off=0x300000
bitstream_size=0x74a74
kernel_off=0xB000000
kernel_size=0x6b5d3c
stage2_off=0x3D00000
stage2_size=0x10af457
stage2_mtd=8
ethaddr=08:7d:20:56:db:72
miner_hwid=e6CrehyC3cSvWqql
miner_freq=550
miner_voltage=0706
Upgrade was successful!
Rebooting...
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
Try to replace the "true" to "false" to disable check.
It looks like this

Code:
"no-sensor-scan" : false
"min-fans": 0

min-fans should be zero if you want to skip checking the working fan.

If not try to check this changes and new commands from this link below.
- Quit when not enough fans are running
Pages:
Jump to: