Fully agree with bitbank about the read errors. BUT this is NOT a Linux driver problem. I use the BCM2835 library (which works directly on the hardware and does NOT use the drivers). The issue is the CCS811 itself. I have bought the Sparkfun combo breakout. It has the CCS811 and the BME280 (to use for compensation). The later works as a star as other i2C devices . The CCS811 gives random NACK or invalid readings, sometimes even at the speed of 10K. I had to include extra delays, and retry-counts, to get stable information. As a result I got it running at 400KHZ (which is the maximum for this sensor). Apart from it is a good sensor.. but make sure to readings/calculations right.