转载补充:

1、首先,手机必须先进入bootloader状态,fastboot devices才能有所反应(有打印信息);

如果 adb devices可以看到自己的手机,可以直接在shell上敲命令:

adb reboot bootloader

耐心等待一下,应该就会进入bootloader模式

2、此时,输入命令:fastboot devices,如果提示:no permissions    fastboot

那么,输入:sudo fastboot devices即可


如果有问题,参考一下下文:



from:http://blog.csdn.net/dlmu2001/article/details/6593143


SPL为1.33.2013,S-OFF


ubuntu下,输入lsusb命令,显示


  1. Bus 001 Device 004: ID 0bb4:0c02 High Tech Computer Corp. Dream / ADP1 / G1 Phone (Debug)  

  2. Bus 001 Device 002: ID 80ee:0021    


第一个Device是我的手机,因此说明ubuntu已经检测到这个设备了。

另外virtualbox的活动usb状态中也能选到这个device


在命令行中

fastboot devices

却无法显示任何一个devices


fastboot reboot

显示waiting for devices


解决办法:配置udev规则文件,调整权限。

修改/etc/udev/rule.d目录下的51-android.rules文件(根据情况,这个文件名可能略有不同),备份是修改文件的一个好习惯。

[html] view plain copy
  1. # adb protocol on passion (Nexus One)  

  2. SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<tom>"

  3. # fastboot protocol on passion (Nexus One)  

  4. SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<tom>"

  5. # adb protocol on crespo (Nexus S)  

  6. SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<tom>"

  7. # fastboot protocol on crespo (Nexus S)  

  8. SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<tom>"


注意到idVendor,就是我们lsusb的时候,显示出来的id,我的显示的是0bb4,然后看注释,要改的是第二句,将MODE改成0666

  1. # fastboot protocol on passion (Nexus One)  

  2. SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0666", OWNER="<tom>"


保存。

然后

sudo chmod a+x 51-android.rules

sudo udevadm control --reload-rules


重新插拔下usb,再输入fastboot devices命令,应该就能找到device

如果还不行,关机重启下试试