For D900 you have to use a D800/D820 USB service cable, not the one you get with the phone, and the D900 downloader. D900 is a SWIFT product.
On the other side E900 is AGERE and You can flash it with the USB cable you get with the phone and D830/D840/E900 flasher.
Hope this info is helpfull