在android 5.1 .1下使用USB转串,具体配置如下:
在内核中添加pl2303驱动
Device Drivers --->
USB suport--->
USB Seriral Converter support--->
USB Prolific 2303 Single Port Serial Driver
此时系统就会支持PL2303模块的USB转串,但是不一定支持该型号的设备,所以还需要在驱动的设备支持列表中添加当前使用的设备的PID和VID。 在id_table[]中添加当前设备。在android设备启动起来后,插上USB转串线,如果串口提示如下信息,说明设备支持添加成功:
-
[ 5763.561662] usb 2-1.4.2: new full speed USB device number 8 using usb20_host
-
[ 5763.662960] usb 2-1.4.2: New USB device found, idVendor=067b, idProduct=2303
-
[ 5763.663021] usb 2-1.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
-
[ 5763.663070] usb 2-1.4.2: Product: USB-Serial Controller D
-
[ 5763.663103] usb 2-1.4.2: Manufacturer: Prolific Technology Inc.
-
[ 5763.665557] pl2303 2-1.4.2:1.0: pl2303 converter detected
-
[ 5763.669281] usb 2-1.4.2: pl2303 converter now attached to ttyUSB0
另外注意的是,不能在option.c中添加该型号的支持,如果添加该型号,会把该串口设备作为gsm设备,不能正常使用。
此时串口设备对普通用户是没有权限的,我采取的措施是在系统中添加了脚本文件,在脚本文件中更改该设备的权限。由于与root权限有关,脚本需要在系统启动之后在运行。所以在init.rc中采用的系统属性是 on property:sys.boot_completed=1
由于系统中同时使用USB转串口和3G模块,两个设备的名称都是ttyUSB*,容易混淆,所以想改一下名称,
一种方式是在脚本中添加命令,给转串设备添加硬链接:
MNAME=`dmesg|grep pl2303|awk '{print $10}' ` #获取该设备名称,因为不确定是ttyUSB还是USB1,所以需要通过命令获取一下。
ln $MNAME *** #创建硬链接。指向固定名称。但是这种方式创建的设备用串口工具不能识别。
另一种方式是在驱动中直接更改。
阅读(2747) | 评论(0) | 转发(0) |