How to get 1,2,4,or 8bit IQ sample using USRP1

I use USRP1 defaulted 16bit IQ sample to generate 8bit, 4bit, 2bit and
1bit IQ sample. I just set 16 IQ data the lower 8bit to zero and only
keep the upper 8bit data.

For some reason, this method is only work for 8bit but not for 4,2 and
1bit. Anyone knows?

The better solution is updated USRP1 firmware to output 8,4,2 or 1bit
samples. A long time ago, someone did the firmware updated:

Since Gnuradio move to the new site, this link not valid. If anyone had
copy of this file please forward me a link