两台一样的中兴手机V880(购买时间不同),后买的用usb连上电脑adb连接不了手机。
检查后发现是因为没有后买的手机连接后系统没有这个接口:
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)请问:
1、同样的系统,相同的手机,为什么有一台手机没有创建这个接口呢?
2、这个接口是“谁”创建出来的?(熟悉linux驱动的朋友帮帮忙解答一下)
下面是两台手机连接单板机(linux内核:2.6.38)后的执行:less /proc/bus/usb/devices 的结果。
20 T: Bus=01 Lev=02 Prnt=14 Port=01 Cnt=01 Dev#= 15 Spd=12 MxCh= 0
21 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
22 P: Vendor=19d2 ProdID=0083 Rev= 2.26
23 S: Manufacturer=ZTE Incorporated
24 S: Product=ZTE HSUSB Device
25 S: SerialNumber=P729CU_UNICOM
26 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
27 I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-stora
27 ge
28 E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
29 E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
30
31 T: Bus=01 Lev=02 Prnt=14 Port=02 Cnt=02 Dev#= 16 Spd=12 MxCh= 0
32 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
33 P: Vendor=19d2 ProdID=1351 Rev= 2.26
34 S: Manufacturer=ZTE Incorporated
35 S: Product=ZTE HSUSB Device
36 S: SerialNumber=CSE_P729V
37 C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
38 I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-stora
38 ge
39 E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
40 E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
41 I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
42 E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
43 E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
检查后发现是因为没有后买的手机连接后系统没有这个接口:
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)请问:
1、同样的系统,相同的手机,为什么有一台手机没有创建这个接口呢?
2、这个接口是“谁”创建出来的?(熟悉linux驱动的朋友帮帮忙解答一下)
下面是两台手机连接单板机(linux内核:2.6.38)后的执行:less /proc/bus/usb/devices 的结果。
20 T: Bus=01 Lev=02 Prnt=14 Port=01 Cnt=01 Dev#= 15 Spd=12 MxCh= 0
21 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
22 P: Vendor=19d2 ProdID=0083 Rev= 2.26
23 S: Manufacturer=ZTE Incorporated
24 S: Product=ZTE HSUSB Device
25 S: SerialNumber=P729CU_UNICOM
26 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
27 I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-stora
27 ge
28 E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
29 E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
30
31 T: Bus=01 Lev=02 Prnt=14 Port=02 Cnt=02 Dev#= 16 Spd=12 MxCh= 0
32 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
33 P: Vendor=19d2 ProdID=1351 Rev= 2.26
34 S: Manufacturer=ZTE Incorporated
35 S: Product=ZTE HSUSB Device
36 S: SerialNumber=CSE_P729V
37 C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
38 I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-stora
38 ge
39 E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
40 E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
41 I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
42 E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
43 E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
如:Bus 002 Device 004: ID 19d2:681c Samsung Electronics Co., Ltd Galaxy Portal/Spica Android Phone 那么,编号04e8记住了,之后会用到的。/etc/udev/rules.d/ 增加rules文件,文件名:51-Android.rules
sudo gedit /etc/udev/rules.d/51-Android.rules
在弹出的文件框内输入内容:SUBSYSTEM==”usb”, SYSFS{idVendor}==”19d2”, MODE=”0666″
其中 19d2是我的编号~~大家自行修改吧~~之后保存退出即可。修改改文件的读取操作权限。给所有人添加读权限
sudo chmod a+r gedit /etc/udev/rules.d/51-Android.rules配置完成之后,重启相应的服务。到此为止,可以在eclipse里进行Android开发咯!
sudo /etc/init.d/udev restart
sudo ./adb kill-server // 关掉adb服务 这里kill掉以后,会自动重启的~
sudo ./adb devices //查看在线设备
而且我有一个手机用adb是可以连接的,另外一个不行,之前我也并没有增加过这个规则。
手机出厂时,在内核里把adb驱动砍掉或者默认不开启android_adb服务,这条线就断了。
lz应该先检查下手机的usb模式,如果是host改成device再试,如果已经是device,那就是厂商不想让你adb