Fault diagnosis is an important issue in wireless sensor networks (WSNs) because node/link failures not only decrease the quality of services provided by WSNs but also shorten the network lifetime. To minimize the damage caused by node/link failures, they must be detected and repaired by system supervisors as soon as possible. Although many diagnosis methods for WSNs have been proposed, these methods work either in a centralized manner or in networks with bidirectional links. The centralized methods often need all sensors in the network to periodically report node/link information to a specific node, resulting in a heavy burden for the sensors and generating a large amount of message overhead in the networks. In addition, in real-world networks, the links are either unidirectional or bidirectional. In this paper, a distributed cooperative diagnosis method, termed CDM, is proposed to provide a fault diagnosis with minimum message overhead in networks with unidirectional links. Using NS-2 simulations, we evaluate the performance of the proposed method (CDM) and a well-known diagnosis method (TinyD2) in terms of the detection ratio, false alarm ratio, and diagnosis overhead. The simulations demonstrate that our diagnosis method has a good performance in terms of the detection ratio and diagnosis overhead, and provides a false alarm ratio comparable to the TinyD2. (C) 2014 Elsevier B.V. All rights reserved.