因为对Linux平台的不熟悉,许多工程师在安装完驱动后,会碰到并口未能正常工作的问题。这篇功略致力帮助这些在情人节仍然固守岗位的AE和软硬件工程师们解决这一困局。请注意,在执行与设备驱动相关的命令时linux课程,建议使用root用户以确保操作的顺利进行。
01安装及测试概述
确认系统辨识并口卡
确认并口未能正常工作时,首先必须通过查看操作系统是否辨识并口卡来判别。诸如,设备的vid(VendorID)和did(DeviceID)信息确认设备的制造商和机型,而内核驱动则显示出设备是否安装了相应的驱动。在解决并口未能正常工作的问题时,首要步骤是查看操作系统是否早已正确辨识了并口卡。这一步至关重要,由于它直接关系到后续操作能够顺利进行。
对于设备辨识,我们可以观察到以下内容:
“`
e:.未分类设备:AdvantechCo.LtdDevicea(prog-if)
子系统:AdvantechCo.LtdDevicea408
控制:I/O+Mem+BusMaster+SpecCycle-MemWINV-VGASnoop-ParErr-Stepping-SERR-FastB2B-DisINTx-

状态:Cap+66MHz-UDF-FastB2B-ParErr-DEVSEL=fast>TAbort-TAbort-MAbort->SERR-PERR-INTx-
延后:0,缓存行大小:64字节
中断:B引脚已路由至IRQ17
区域0:显存地址f6e00000(32位,非预取)
大小=16K
区域1:显存地址f6a00000(32位,非预取)
大小=2M
区域2:显存地址f6800000(32位,非预取)
大小=2M

功能:MSI-X:已启用-计数=16-已屏蔽
向量表:BAR=1-偏斜量=001b3000
PBA:BAR=1-偏斜量=001b2000
功能:电源预算…
当前内核驱动程序:advserial
内核模块:adv950
“`
这种数据可能来自于某种设备的调试或确诊信息。通过剖析那些数据,我们可以确认是否有研华的PCI设备存在,以及该设备是否早已正确安装了驱动。
在16补码数据中,我们可以观察到以下内容:
“`
fea
10:0000e0f60000a0f6000080f600000000
20:000000000000000000000000fe1308a4
30:0000000040000000000000000b020000
“`

在此情况下,内核驱动显示为advserial,而内核模块则为adv950,这表明adv950.ko驱动早已成功加载,但是advserial模块正在被使用。

确认驱动文件加载
须要确认驱动文件已正确加载linux安装转串口驱动,可以通过查看日志或系统状态信息来核对。比如,对于adv950设备,其驱动文件的加载情况可以通过查看相关日志或状态信息来确认。若驱动文件未正确加载,设备将难以正常工作,须要进一步排查问题。

查看系统日志
通过检测/dev/ttyAP设备节点的状态和查看控制台的serial8250日志记录,可判定驱动和并口设备的安装与辨识情况。比如linux 内核,在研华科技中,并口设备的节点一般为/dev/ttyAP系列。通过检测这种节点的状态,可以判定驱动是否已正确安装。
据悉,还可以查看控制台输出信息,如serial8250的日志记录,确认ttyS0和ttyS1等并口设备的信息,进而判定16550A等并口设备的驱动状态。

信息显示,系统早已成功安装并才能正常辨识那些并口设备。

02自环测试和问题解决
自环测试简介
自环测试用于验证并口的功能,适用于RS232插口,而RS485和RS422须要非常的引脚联接和互相联接测试方式。在进行自环测试之前,首先须要确认并口的工作模式。对于RS232插口,其引脚定义如下:将PIN2与PIN3相连,即可进行自环测试。
其他引脚定义方式如RS485和RS422须要更为复杂的联接测试。
引脚联接和命令测试
完成引脚联接后,接出来可以进行命令测试。首先linux安装转串口驱动,在确认引脚联接后,通过输入相关命令进行测试。

1)启动一个窗口A,并在其中输入相关命令,此后等待系统输出相应的结果。
2)接着,再打开一个新窗口B,并在其中输入特定命令。此时,窗口A应能持续显示数据。若窗口A能正常输出字符且无乱码,则表明驱动已正确安装,并口工作状态良好。在确认数据无误后,便可关掉相关终端,或通过Ctrl+C来中止程序的运行。
可能问题及解决方式
在自环测试成功后,若其他并口通讯出现问题,一般须要确认软件操作的并口与硬件实际联接的并口保持一致,并检测码率和接线的完好性,非常是相线联接的完整性。以下是一些可能碰到的问题及解决方式:
1、若自环测试顺利通过,但与其他并口通讯时出现问题,一般须要检测以下几个方面:
a)确保软件所操作的并口与硬件实际联接的并口保持一致。
b)仔细核实码率设置,这包括数据位、停止位、校验位以及流控选项。
c)检验接线是否完好,非常是相线联接。因为RS232的工作模式具有特殊性,GND相线的联接对于确保数据通讯的正常至关重要。
