dcraw -4 -D -T img_0001.dng
Thanks, the -D was the magic key!
FWIW, you can get this kind of information in chdkptp too, using the dnghist command:
___> dngload CRW_1591.DNG
loaded CRW_1591.DNG
___> dnghist -max=127 -bin=8
0- 7 16193
8- 15 0
16- 23 0
24- 31 0
32- 39 0
40- 47 0
48- 55 0
56- 63 0
64- 71 0
72- 79 0
80- 87 0
88- 95 0
96-103 0
104-111 0
112-119 1
120-127 41
___> dngload CRW_1593.DNG
loaded CRW_1593.DNG
___> dnghist -max=127 -bin=8
0- 7 54631
8- 15 248
16- 23 334
24- 31 245
32- 39 282
40- 47 295
48- 55 393
56- 63 372
64- 71 640
72- 79 673
80- 87 769
88- 95 1104
96-103 1332
104-111 1377
112-119 1797
120-127 2462
dngdump can be used to dump the data unmodified, e.g.
dngdump -raw -rfmt=16pgm
writes the data as a 16 bpp PGM file
edit:
Oops, forgot is shifted to fill the full 16 bit range, so not strictly unmodified. Actually it doesn't, but it sets the maxval in in the pgm, which an image editing program may use to scale.