Once you've written the MAC you read from the card ROM into PAR0-PAR5, you can receive packets just fine without promiscuous.
As for your promisc image, yeah, it gets PING in fine, I forgot to disable my local firewall (which is a bit aggressive at times).
There's probably something wrong with the ICMP echo reply packet itself, since ping still reports 100% packet loss. But your packets are sent fine.tcpdump: listening on eth1
20:02:36.991123 wall.local.foo > 192.168.1.109: icmp: echo request (DF)
20:02:37.009216 192.168.1.109 > wall.local.foo: icmp: echo reply
20:02:38.005814 wall.local.foo > 192.168.1.109: icmp: echo request (DF)
20:02:38.022424 192.168.1.109 > wall.local.foo: icmp: echo reply
20:02:39.005044 wall.local.foo > 192.168.1.109: icmp: echo request (DF)
20:02:39.017319 192.168.1.109 > wall.local.foo: icmp: echo reply
20:02:40.004943 wall.local.foo > 192.168.1.109: icmp: echo request (DF)
20:02:40.024266 192.168.1.109 > wall.local.foo: icmp: echo reply
20:02:41.004932 wall.local.foo > 192.168.1.109: icmp: echo request (DF)
20:02:41.017637 192.168.1.109 > wall.local.foo: icmp: echo reply
20:02:41.984804 arp who-has 192.168.1.109 tell wall.local.foo
20:02:41.992531 arp reply 192.168.1.109 is-at b0:c4:20:0:0:0
20:02:42.004847 wall.local.foo > 192.168.1.109: icmp: echo request (DF)
20:02:42.017633 192.168.1.109 > wall.local.foo: icmp: echo reply
Sorry for slow reply, I had to sleep and do some other stuff..