Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11867
  • 博文数量: 10
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-19 14:07
文章分类

全部博文(10)

文章存档

2015年(1)

2013年(9)

我的朋友

分类: Android平台

2013-03-27 13:44:30

Android 自制手机USB驱动

在 android 设备的 Linux 内核中把 USB 驱动的 PID VID 修改以后,也许之前的 adb 工具就不能识别设备了,会打印出 "device not found" 的提示,特别是 windows ,adb 驱动也不能用了。

这个时候该怎么办呢?

一,先搞清现在的 PID ,VID 为多少,例如分别为 aaaa、bbbb(十六进制)

      对于 linux 如 ubuntu, 插入 设备,再查询 /sys/bus/usb/ 下的相应设备,如 "1-1" 下的 idVender, idProduct 获得。

      对于 windows, 可从相应设备的属性中获得 

二,对于windows:

1. 修改 adb 驱动中的 android_winusb.inf 文件。对照着别的项目加就可以了。

例如:

; My product

%CompositeAdbInterface% = USB_Install, USB\VID_AAAA&PID_BBBB

%SingleBootLoaderInterface% = USB_Install, USB\VID_AAAA&PID_BBBB&MI_01

2. 右击我的电脑->属性->高级->环境变量,添加 ANROID_SDK_HOME 环境变量。如果你有 android SDK, 就设成 SDK 的路径;如果没有,那也没关系,设为你觉得方便的任何路径。

3. 在前面设置的 ANDROID_SDK_HOME 对应的路径下,寻找 .android 目录,如果没有就创建一个;在 .android 目录下新建一个文件,叫 adb_usb.ini, 记住,后缀是 "ini" 哦;添加前面获得的 VID 到 adb_usb.ini 中,如 0xAAAA。

4. 然后安装 adb 驱动 

5. 进入 DOS cmd, 分别输入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那么就成功了。

三,对于linux

1. 在用户的 home 目录下,寻找 .android 目录,如果没有就创建。在 .android 目录下新建一个文件,叫adb_usb.ini, 记住,后缀是 "ini" 哦;添加前面获得的 VID 到 adb_usb.ini 中,如 0xAAAA。

2. 在 shell 中 分别输入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那么就成功了。

这里 kill-server,是 kill 掉 adb 的 daemon,否则,adb 还是保留着先前的 Vender 信息。start-server 就加载了新的 Vender 信息。

注意:有些人可能用 adb 需要超级用户权限,这时第一步中的home 目录应该为 /root,不想麻烦,直接两个 Home 目录都加上得了。

---------------------------------------

 实际使用了一下:

我以小米的驱动为原型,安装我的T959V的驱动程序:

1. 下载必须的东东.

(小米的驱动)


---------------------------------------

2. 找到VID 和 PID

打开设备管理品,到找自己的设备. 选择--属性--详细信息--硬件Id.

USB\Vid_18d1&Pid_4e22&Rev_0227&MI_01

USB\Vid_18d1&Pid_4e22&MI_01

3. 打开android_winusb.inf

拷贝一份 小米的信息,将PID.VID换成自己的.如:


[Google.NTx86]

;sanxing t959v

%CompositeAdbInterface%     = USB_Install, USB\Vid_18d1&Pid_4e22&Rev_0227&MI_01

%SingleAdbInterface% = USB_Install, USB\Vid_18d1&Pid_4e22&MI_01

[Google.NTamd64]

;sanxing t959v

%CompositeAdbInterface%     = USB_Install,USB\Vid_18d1&Pid_4e22&Rev_0227&MI_01

%SingleAdbInterface% = USB_Install, USB\Vid_18d1&Pid_4e22&MI_01

4. 安装驱动

-----------------------------------------

至此驱动已经可以成功的安装,但是在使用中发现eclipse真机调试时,能无法找到真机.搜一把,找到了解决方案.

在C:\Documents and Settings\Administrator\.android\adb_usb.ini中添加上面绿色部分标识的信息:0x18d1(注意添加16进制标识0x).

保存,OK.

阅读(864) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

aaronzzq2013-03-27 13:46:28

Linux下需要进行如下配置才能使用adb:
1、使用命令行进入标准的android SDK包的tools目录执行./android update adb
2、当前用户的目录下进入.android目录,打开adb_usb.ini文件,在文件的最后回车新起一行输入0x267a后保存,可参考adb_usb.ini文件;
3、在/etc/edev/rules.d/51-android.rules中添加下面3行,具体可以参考51-android.rules文件,如果没有edev/rules.d,请用root权限的用户创建该目录,
如果是ubuntu虚拟机的话,用sudo就可以;
4、 在命令终端里依次输入下面命令:
lsusb后正常的话是267a:0f03
注:如果看见设备是267a:0f02,请去“设置-开发人员选项”中把“USB调试”选中;
source /etc/edev/rules.d/51-android.rules
sudo 

aaronzzq2013-03-27 13:46:12

vi ~/.android/adb_usb.ini
在文件最后添加一行
0x****
上面的****是设备ID,用命令lsusb找
保存文件,再
sudo vim /etc/udev/rules.d/51-android.rules
在打开的文件中增加以下文本:
SUBSYSTEM=="usb", SYSFS{"idVendor"}=="****", MODE="0666"
****与adb_usb.ini的****相同
运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev restart
sudo adb kill-server
sudo ad

aaronzzq2013-03-27 13:45:53

首先按照 SDK 上的说明建立 udev 的 rules 文件,
然后: 在 ubuntu 9.04 下通过usb连接 Android 设备,使用 adb 时,会返回无法找到设备,
解决办法如下:

1) 在终端运行 lsusb 会发现结果有会有如下类似记录:
Bus 001 Device 008: ID 0bb4:0c02 High Tech Computer Corp. 
这时键入 sudo vim /etc/udev/rules.d/50-android.rules
在打开的文件中增加以下文本:
SUBSYSTEM=="usb", SYSFS{"High T