Although deep learning has been widely applied to smoke detection tasks, most of these methods only consider the problem in normal weather, which leads to a drastic performance decreasing when detecting smoke in fog. Existing methods propose to add the synthetic fog to the images collected in normal environments, and to train the models on the augmented datasets. However, these methods only alleviate the problem. Due to that the generalization ability of a machine learning method can only be guaranteed if training and test datasets are with the same data distribution, the distribution gap between synthetic and real-world images limits the upper bound of the detection performance. In this paper, we develop a general smoke detection dataset with diverse real-world collected samples. Furthermore, we develop a novel smoke detection method based on dark-channel assisted mixed attention. Experiments show the importance of the built dataset and the effectiveness of our detection method.