How is crc5 calculated for a usb token?
The USB CRC5 uses an initial shift register value of 11111b (5 ones in a row). The reason for this is that without it the CRC cannot detect lengthening or shortening of a message that leads with zeros. This is demonstrated in your particular sequence, where the CRC is always zero for any length of leading zeros if you use an initial value of 00000b.

This is quite a common problem in CRC implementations.