CAN-bus networking problem

I try to set up a CAN-bus network, makes all nodes using Arduino uno boards with Seeed CAN-bus shields.
One node for sending messages and all other nodes for receiving messages via CAN.
When the number of receiver nodes is less than 3, it works perfect. BUT, I tried to add the fourth receiver node onto the CAN-bus, all nodes are failed to receive any CAN data !! And, I removed the fourth receiver node from the CAN-bus, all works well again.

It looks strange, I think CAN bus must support many more nodes working together.

For this testing, I programed using the latest version of the CAN_BUS_Shield library downloaded from your website, and just simply adopted your examples for sending and receiving CAN messages. The only modification from the original examples is that my program sends messages using extended frames, and enabled a mask and a filter settings ( CAN.init_Mask(0, 1, 0); CAN.init_Filt(0, 1, 0); ) for receiving extended frames.

Thanks so much for any advice to me!

Just first thought:

Did not you forget about the impedance issue?
On the Wiki you can see the note:

When you use more than two CAN Bus Shield in one net, you should concern about the impedance.
You can just cut P1 in the PCB with a knife, or just remove R3 on the PCB.

I hope it can help you

Thanks anton.i.belov
Yes, figured out the problem after removed the 60 ohm resistor on the PCB.

However it’s still a bit confusing. Why is it needed to have a 60 ohm resistor between CANH and CANL on the CAN-bus shield? As I know, if the CAN shield is the first node or the last node on the bus, a 120 ohm terminal resistor should be required. Now i must disable the 60 ohm resistor on the PCB and have to add another new 120 ohm instead.

Anyway, your guidance is helpful, thank you!

It is a mistake. The resistor should be 120 ohms and the jumper should be open by default instead of shorted.