加入340或pl2303驱动后,调试串口一段时间后不能用了
本帖最后由 zs0050 于 2017-1-4 09:59 编辑使用了android4.4内核,编译ubuntu镜像,加入CH340或pl2303驱动重编译内核后,烧写boot.img。
可以识别CH340或者pl2303并生成ttyUSB设备,可以使用echo或者cat传输。
但是,调试串口一段时间后就不能用了,确定不是串口线或者超级终端的问题。系统没有死机,接usb键盘鼠标和显示器仍然可以使用,只是调试的问题。
请问这个问题能怎么查?谢谢 “修改 parameter 文件”这一步我没有做,就是烧写的时候没有加入parameter 文件,会不会是因为这个?
修改 parameter 文件
Linux 的根文件系统(RFS)可能在不同的分区或存储设备上(eMMC、TF 卡或 U 盘),所以需要在内核的参数中指定。修改 parameter 文件中的 CMDLINE 行:
CMDLINE:console=tty0 console=ttyS2 ... mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),...,-@0x00394000(user)
根据实际情况加入以下之一(# 后是注释,不需要加入):
root=/dev/block/mtd/by-name/linuxroot # 名为 "linuxroot" 的 nand 分区
root=/dev/mmcblk0p1 # TF 卡的第一个分区
root=/dev/sda1 # U 盘或 USB 硬盘的第一个分区
root=LABEL=linuxroot # 卷标为 "linuxroot" 的分区,可以是任一存储设备 查看dmesg信息 一直在打印这个 估计是不是跟parameter 文件没设置有关系?
init: ttyS2 main process (1429) terminated with status 1
init: ttyS2 main process ended, respawning
init: ttyS2 main process (1443) terminated with status 1
init: ttyS2 main process ended, respawning
init: ttyS2 main process (1450) terminated with status 1
init: ttyS2 main process ended, respawning 错了 console是终端 和ttyS2应该没关系 console的dmesg输出没有问题
root@firefly:/# dmesg|grep console
[ 0.000000] Kernel command line: console=tty0 console=ttyFIQ0 earlyprintk roo
t=/dev/block/mtd/by-name/linuxroot rw rootfstype=ext4 init=/sbin/initmtdparts=
rk29xxnand:0x00008000@0x00002000(resource),0x00008000@0x0000A000(boot),0x0000200
0@0x00012000(misc),0x0001a000@0x00014000(backup),-@0x0002e000(linuxroot) storage
media=emmc loader.timestamp=2015-11-13_10:22:31 hdmi.vic=-1
[ 0.000000] console enabled
[ 1.205004] console enabled
root@firefly:/# root@firefly:/# cat /proc/cmdline
console=tty0 console=ttyFIQ0 earlyprintk root=/dev/block/mtd/by-name/linuxroot r
w rootfstype=ext4 init=/sbin/initmtdparts=rk29xxnand:0x00008000@0x00002000(res
ource),0x00008000@0x0000A000(boot),0x00002000@0x00012000(misc),0x0001a000@0x0001
4000(backup),-@0x0002e000(linuxroot) storagemedia=emmc loader.timestamp=2015-11-
13_10:22:31 hdmi.vic=-1 androidboot.mode=emmc parameter控制启动事项,initrd和ramdisk都试过了,应该不是parameter的问题,我判断加入CH341驱动后的内核有问题!!
使用initrd
CMDLINE:console=ttyS2 earlyprintk androidboot.hardware=rk30board androidboot.console=ttyS2 board.ap_has_alsa=0 init=/init initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(misc),0x00008000@0x00006000(resource),0x00008000@0x0000e000(kernel),0x00010000@0x00016000(boot),0x00010000@0x00026000(recovery),0x0001a000@0x00036000(backup),0x00040000@0x00050000(cache),0x00002000@0x00090000(kpanic),0x00180000@0x00092000(system),0x00002000@0x00212000(metadata),0x00200000@0x00214000(userdata),0x00020000@0x00414000(radical_update),-@0x00434000(user)
使用ramdisk
CMDLINE:console=ttyS2 earlyprintk androidboot.hardware=rk30board androidboot.console=ttyS2 board.ap_has_alsa=0 root=/dev/block/mtd/by-name/linuxroot rw rootfstype=ext4 init=/sbin/init mtdparts=rk29xxnand:0x00002000@0x00000000(parameter),0x00002000@0x00002000(uboot),0x00002000@0x00004000(misc),0x00008000@0x00006000(resource),0x00008000@0x0000e000(kernel),0x00010000@0x00016000(boot),0x00010000@0x00026000(recovery),0x0001a000@0x00036000(backup),0x00040000@0x00050000(cache),0x00002000@0x00090000(kpanic),0x00180000@0x00092000(system),0x00002000@0x00212000(metadata),0x00200000@0x00214000(userdata),0x00620000@0x00414000(linuxroot),-@0x00a34000(user) 现在的情况是 终端可以输出内核debug信息 但是通过终端输入命令 不响应 你好,有具体添加驱动的教程没有?
页:
[1]