November 13, 2024

Antminer S9 boards - my boards

It is November 13, 2024 -- I decided to power up one of my boards and try to figure out where I left off. I did a lot of work back in May and June. That is only 5 months ago, but it seems longer.

I have a board sitting here marked "C" with my sharpie and with an SD card in place. I connect network, serial, and power and get nothing on the console. I check the jumpers, and they are correct for SD card boot.

I have a cardboard box marked "Zynq Antminer". In it are 8 board (so I have 9 total). They are marked A, B, C, ... through I. There is a sheet of paper giving information about those boards I have fooled with. It says that "B" is configured nicely with vim, python, and such -- so it ought to boot to linux from NAND.

Using tio

For some reason that I forget, I am now running "tio" rather than "picocom" as a terminal emulator. It had something to do with picocom not handling disconnects in a sensible manner. The main thing to know at this point is that you type this sequence to exit "tio" --
Ctrl-t q
Beyond that, "man tio" gives the details.

Try board "B"

It boots! I see an Angstrom linux announcement scroll by (the worst of all horrors). It shows the "disk" as 38 percent in use, and indeed this has a busybox setup in the /bin directory. I can ping it, but ssh fails with:
Unable to negotiate with 192.168.0.130 port 22:
no matching key exchange method found.
Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
This is a stupid Fedora issue -- they now ship a neutered ssh client. It is on my list to fix this and/or find a workaround. That is a topic for another day.

Boot mode jumpers

There are detailed notes elsewhere, but for handy reference, here is what we need to know right now:

The cards come shipped to me like this, configured for NAND boot:

JP4 - MIO5 bm0  0   right
JP3 - MIO3 bm1  0   right
JP2 - MIO4 bm2  1   left
JP1 - MIO2 bm3  0   right

Here is how we need them for SD boot:

JP4 - MIO5 bm0  1   left
JP3 - MIO3 bm1  0   right
JP2 - MIO4 bm2  1   left
JP1 - MIO2 bm3  0   right

Try the SD card in board B

The question remains -- why won't my "C" board boot from SD? A quick experiment would be to pop the SD card out of B and into C, rearrange the jumpers and see what happens. The answer is -- absolutely nothing.

So this SD card is unhealthy. It probably contains some FSBL experiment or whatever I was working on back in June when I set this all aside.

Aha! Another SD card

The lesson here is that things need to be labeled. This is especially true of little SD cards.

A micro SD card has been sitting on my desk for the past several months and I have been wondering what it is.

I install it into my board C with the jumpers set for SD boot, and it works! It has U-boot set up so that it performs a network boot. It announces:

Booting Kyu via tftp
Gem.e000b000 Waiting for PHY auto negotiation to complete........ done
Using Gem.e000b000 device
TFTP from server 192.168.0.5; our IP address is 192.168.0.144
Filename 'bitcoin.bin'.
Load address: 0x20000000
Loading: #
	 152.3 KiB/s
done
Bytes transferred = 5324 (14cc hex)
## Starting application at 0x20000000 ...
A bit of research indicates that this is running my mio_blink demo.

When it is boots various very bright green LED are flashing, and in particular the big green and red LED near the network cable are flashing in alternation.

So, this is success, we can move ahead from here, with a note to ourselves to label our SD cards and to keep better notes. What I do to keep track of loose micro SD cards is to put them into "snack" size ziplock bags along with a slip of paper explaiming what they are.

Also an interesting discovery while doing all of this. There are two styles of SD socket on my Antminer boards.
One, with a "window" takes the SD card upside down.
The other, without a window takes the SD card right side up.


Feedback? Questions? Drop me a line!

Tom's Computer Info / [email protected]