I think I have a bad chip. It was acting strangely when I was testing cgminer hashing one chip at a time, reporting between 500 and 1500MH where all others were >2.5GH.
Now that I'm on chainminer, I just repopulated that chip on the board, and this seems to confirm it's marginal:
1 AIfDSo 54 2.803 2.430 109 75 0 1 128 [0:0] 663 7 7 5 6 7 7 7 8 7 6 7 8 8 6 7 6 0 2 5 2 3 3 1 5 8 5 7 6 7 11 10 0
2 AIfDSo 54 2.906 2.582 113 96 0 0 136 [0:1] 662 6 6 7 7 6 7 7 8 8 7 8 6 8 8 8 6 0 0 1 3 4 4 3 5 9 8 8 10 12 15 14 0
3 AIfDSo 54 2.340 2.620 91 56 0 0 138 [0:2] 675 5 6 6 7 6 6 5 6 3 6 5 7 6 5 6 6 1 0 0 0 3 4 5 4 6 3 4 3 7 8 8 0
4 AIfDSo 54 2.829 2.373 110 27 0 0 125 [0:3] 662 7 7 8 8 7 6 6 6 7 8 5 7 7 7 7 7 0 0 0 1 1 1 2 3 0 0 3 3 4 4 5 0
5 AIfDSo 54 2.726 2.506 106 72 0 0 132 [0:4] 675 6 6 6 7 6 7 7 8 6 8 8 7 6 6 7 5 0 1 4 4 3 4 1 4 8 5 7 6 7 9 9 0
6 AIfDSo 54 2.083 2.449 81 46 0 0 129 [0:5] 684 5 5 5 5 5 4 5 5 5 6 6 6 4 5 5 5 0 0 0 0 0 1 1 3 3 3 5 9 7 7 7 0
7 AIfDSo 54 2.495 2.430 97 120 0 0 128 [0:6] 669 5 6 6 6 7 6 7 5 7 7 6 6 6 7 6 4 1 2 2 3 1 5 5 9 10 14 14 11 13 15 14 1
8 AIfDSo 54 0.617 2.430 24 156 0 0 128 [0:7] 735 0 2 1 3 3 2 2 0 1 2 2 0 2 0 2 2 3 1 8 12 12 14 15 18 13 7 7 16 14 9 6 1
speed:432 noncerate[GH/s]:18.800 (2.350/chip) hashrate[GH/s]:19.823 good:731 errors:648 spi-errors:0 miso-errors:1 jobs:145 (record[GH/s]:0.000)
0: 432 18.800 19.823 731 648 0 1
I don't understand what all the stats mean yet, but chip #8 is the one I suspected as bad.