SDHC initialization problem
I fixed it fast forgot to answer here. It is important to be careful about timings between commands! Some of them need about ~100 ms. It is needed because of SD contorller's machine state. So if you are confused => increase time delay between commands.


100 ms is a huge waste of time.

It is not time between commands, it is number of spare clock cycles. You must supply several groups of 8 clock cycles after command completes, and before you are going to start new command. These clock cycles enable card to complete its internal stuff and get prepared for new command execution.

I supply 8 after command completes while CS is still active, then deactivate CS and supply another 8 cycles. Before starting new command, I supply 8 clock cycles before activating CS, and another 8 with CS active. Then start shifting command onto the card, and card detects it by start 01 bit sequence.