qwiic relay #4 errors

Hello. I am experimenting with the Qwiic 4-relay device COM-15102 on a Raspberry Pi. To start, I am just using the i2cset/i2cget command line programs. I am consistently getting errors when talking to relay 4. For example, the following bash program:

#!/bin/bash

# start all off
i2cset -y 1 0x6D 0xA                  # all off
sleep .1

# toggle each and check status forever
while true; do
    for r in 1 2 3 4; do
        echo relay $r
        i2cset -y 1 0x6D $r          # toggle r
        sleep .1
        i2cget -y 1 0x6D $(($r+4))   # report r
        sleep .1
    done
done

produces this output:

relay 1
0x0f
relay 2
0x0f
relay 3
0x0f
relay 4
0x7f
relay 1
Error: Write failed
Error: Read failed
relay 2
Error: Write failed
Error: Read failed
relay 3
Error: Write failed
Error: Read failed
relay 4
Error: Write failed
Error: Read failed
relay 1
Error: Write failed
Error: Read failed

1-3 always toggle and report correctly but when it gets to 4 the i2cget sometimes fails outright or sometimes returns either 0x7F or 0xFF. i2cget should always just report 0x0f for On or 0x00 for Off. After attempting relay 4, all commands from then on return failed. The only way to recover is to disconnect the I2C bus and plug it back in. This is very repeatable.

I purchased the relay just a few days ago, see purchase number #5411466. Please advise. Thank you.

I should add that if the loop only uses 1 2 3, then it runs forever just fine.

Solved! I put a 'scope on the SDA and SCL lines and noticed the high voltage level went down as more relays were turned on. When all 4 are on, the max voltage is only 2.6. Also, the low voltage was always about 0.5V. This strongly suggested a pullup issue. Sure enough, I had two other devices on the Qwiic bus also and they both had pullups. When I made sure only 1 device had pullups, everything works. This is well-known, sorry to trouble the group.

Thanks for chiming back in, this will undoubtedly help someone else out there.