I connected PC and laptop (Dell Vostro 3700) via FireWire. I used firewire-net module from new stack (both machines are on slackware-current with 2.6.37.4 kernel).
Interfaces were configured successfully. They are up and use static IP addresses.

Ok. Now i'll try to explain the logic of the problem:
After the interfaces are up the ARP-tables on both hosts are empty.

1) I ping PC from the laptop.
Cause of an empty ARP-table laptop sends ARP-requests, asking who has 'pc_ip'.
Tcpdump on PC shows nothing.
Second attempt has same result. Ping shows 'Destination Host Unreachable'.

2) After this I send ping from PC to laptop (is again sends just ARP-requests cause of empty ARP-table)
Ping again shows 'Destination Host Unreachable'. Now lets see the tcpdump output. Laptop received all these requests and send replies to them. But these replies were not received on PC!

3) Now, if we look into ARP-table on laptop, we'll see single entry, containing MAC-address of PC.
Next ping from laptop to PC will be usual ICMP echo request. And PC receives it! But source-IP is unknown for PC. That's why PC sends ARP-request to find it. Laptop recieves this request and sends the reply. But this reply is not visible for PC.

iptables are empty. other interfaces are down.
laptop device:
14:00.3 FireWire (IEEE 1394): Ricoh Co Ltd FireWire Host Controller (rev 01)
pc device:
05:06.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev 46)
Laptop has 4pin port, and PC has 6pin port. AFAIK 6pin uses two pins for power supply. I have the corresponding cable, so i don't think that the problem is here.