Dear all,
I'm trying to make an old, V1.0 board based on Intron's design which is very similar to BFSB's 450 GH/s miner. It has 16 Bitfury on a card and 16 card slots, the only difference is that instead of having an I2C selector for which card the SPI bus should talk to, it has a long chain of 16*16=256 Bitfury chips and it's attached to a RPI SPI port.
I modded the driver-bfsb.c file in order to scan only for one slot (the first and only, which is supposed to have 256 chips) but only 99 chips are detected! I tried to swap slots, use spare cards but nothing, the autodetection always stops at 99 chips. It is driving me crazy because there doesn't seem to be any "maximum chips" constant neither in the libbitfury.c nor in driver-bfsb.c, so I can't find where this limit comes from!
Can anybody help me or suggest me where to look at or had a similar problem?
Thanks in advance!
Giorgio - a few things from my recollection while reading the various forums - I think at some point Metabank and BFSB had issues with chains longer than 64 chips, which is why they ended up splitting them into smaller chains.
As for the limitation - I'm not sure which version and which branch are you using, but in the beginning Legkodymov (who did the first cgminer clone and most people have been starting from his version) had a limitation of 100 chips. Later that limitation became 200 chips. Look into miner.h:
struct cgpu_info {
int cgminer_id;
struct device_drv *drv;
...
#ifdef USE_BITFURY
int chip_n;
struct bitfury_device devices[200]; // TODO Move somewhere to appropriate place
#endif
...
Feel free to PM me if you have any questions as I don't want to pollute this thread with an unrelated discussion (we can continue in the one from bitfury - the FREE MONEY one and majority of the people who initially made their own boards still follow it and might be able to add more details).