Device recognized as ????? in ubuntu
The problem is that you ran adb as an underprivileged user. So when adb server starts, it does not have the permissions to run read/write to the device. First you have to kill the server, and then restart it as root:

sudo adb kill-server
sudo adb start-server

Then you can run this as any user:
adb devices