Description

What does the log message indicate "kernel: PCF8584(WR): (i2c_s1=0x08, group=0xf,device=0x54)"?

Symptoms

How do we troubleshoot when we see the following messages in the logs?

kernel: PCF8584(WR): target ack failure on byte 0
kernel: PCF8584(WR): (i2c_s1=0x08, group=0xf,device=0x54)
kernel: PCF8584(WR): target ack failure on byte 0
kernel: PCF8584(WR): (i2c_s1=0x08, group=0xf,device=0x54)

Solution

There is multiple reason the above messages are seen. Here is a common reason:

Chassisd polls the fan alarm register on the fan tray every 5 secs to determine if the fan tray has raised any alarms.

Fan speed is controlled via a microcontroller which is part of the fan tray itself. There is a low likelihood that the microcontroller cannot respond with current alarm register contents in a predefined time as fan tray firmware is processing a different task. Even though this is expected behavior, a non-critical event chassisd sets fan speed to 100% using a separate signal in order to be on the safe side.

Chassisd polls the fan alarm register on the fan tray controller every 5 secs to determine if the fan tray has raised any alarms. These chassisd polls happen through I2C bus. Sometimes Fan tray might fail to respond to this poll in a pre-defined time as fan tray firmware is processing a different task. This results in the message below.

Feb 12 08:16:43 fra60-re0 /kernel: PCF8584(WR): target ack failure on byte 0
Feb 12 08:16:43 fra60-re0 /kernel: PCF8584(WR): (i2c_s1=0x08,
group=0xf, device=0x54)

This should not have any impact and could be ignored.

In the message device--->0x54 stands for fan tray.

This does not impact the traffic since the fan tray unit is a module that does the control function in a self-contained fashion based on input from the software. It communicates with the main system (chassisd) through the I2C interface.

The misses one might see are the infrequent chassisd missed reads of the alarm register when the fan tray is being polled.

Modification History

Updating the KB to Public