First, take note of my answer to the question Estimating bits of entropy. A key phrase therein:
You'll never be able to look at a bitstream without knowing the distribution and say "there are X bits of entropy here."
The ent
program doesn't know the distribution of the data it's looking at; instead it performs some statistical tests that any sufficiently-long random bitstream will pass with overwhelming probability. Here, I mean "pass" in the sense of having an "estimated entropy" near 8 bits per byte, which is exactly what truly random data has.
So,
$$\text{bitstream is random} \implies \text{bitstream passes ent}$$
is about all we can say. Thus the (hidden) premise of your post - namely that because ent
claims your soundcard's data looks random, it actually is random - is faulty. ent
cannot be used to determine whether data is actually random. As an example, if a program has a fixed output, that output's entropy is 0 bits; but ent
will declare otherwise since it does not have this external knowledge.
This is probably unnecessarily pedantic, but cryptography is a subtle science, and I think we need to acknowledge the particulars.
With all of that out of the way, can you feed your soundcard data into the kernel's random pool? So long as you trust that the soundcard hasn't been tampered with and actually is reporting random data, sure! For multiple reasons:
- The soundcard isn't the only source of random data, so even if it is somewhat predictable, oh well - as long as it's not a malicious privileged device
- If you feed random data into the Linux kernel as non-root, it doesn't use that source to increase the "entropy counter" at all: so it may be that your soundcard will act as a random source anyways, but not necessarily be counted as "random" by the kernel (n.b.: the entropy counter is of dubious value, but I am mentioning this for completeness)
- The Linux kernel mixes and stirs "random" sources before presentation; it already doesn't much trust the sources to be uniformly random, etc
So with these reasons in mind, throwing any data you'd like into the kernel's random pool should be safe, even if the data isn't great. The exception is data that is carefully crafted with potential knowledge of the other random sources, as explained in the above link, but such a malicious source is a non-issue for most folks.