This maybe down to the fact that the 7940 is the old cisco prestandard poe where as the D-link is probably the standard 802.3af.I have had 7940 working on af poe switches but you do get some weird things happening.For example we plugged some 7940's into a netgear and they didn't work.We left them connected and after about two days they started coming on line.