CH347T 在linux 下設(shè)備重命名的問(wèn)題

想請(qǐng)問(wèn)一下有沒(méi)有其他的方式給CH347T的端口號(hào)綁定一個(gè)特定的名稱(chēng)?

一般我們通過(guò) etc/udev下定義一個(gè)*.rules 來(lái)描述操作系統(tǒng)內(nèi)核看到的設(shè)備名稱(chēng)。這個(gè)設(shè)備名稱(chēng)的獲取我是通過(guò)

udevadm -a -p /sys/class/tty/ttyCH343USB* 來(lái)獲取的。

但是碰到了一個(gè)問(wèn)題,就是注冊(cè)信息配置軟件只可以修改 ?idVender 等信息,也就是同一個(gè)芯片的不同端口無(wú)法綁定成不同的 ttyCH343USB設(shè)備名,這么做的目的是為了讓每一個(gè)串口插入計(jì)算機(jī)后都保持名稱(chēng)的不變,方便測(cè)試人員使用和定位。

我嘗試使用 iad_bFirstInterface 屬性配合 ID使用,比如定義如下的規(guī)則

ATTRS{iad_bFirstInterface}=="00",ATTRS{serial}=="BC48D5ABCD",SYMLINK+="myTTY1"

ATTRS{iad_bFirstInterface}=="02",ATTRS{serial}=="BC48D5ABCD",SYMLINK+="myTTY2"

上述這種情況下,操作系統(tǒng)使用udevadm -a -p 給出的信息ATTRS{iad_bFirstInterface}=="00" 無(wú)法被有效匹配到。

通過(guò)比較udevadm -a -p 能給出的信息,我發(fā)現(xiàn)同一個(gè)CH347T的信息中,生成的兩個(gè)端口有如下信息不一樣,

端口1 iad_bFirstInterface?=="00", 端口2?iad_bFirstInterface?=="02"

端口1 bInterfaceNumber?=="00", 端口2?bInterfaceNumber?=="02"

端口1 KERNELS == ?-?.3:1.0 ? ? ? ? ? 端口2:KERNELS == ?-?.3:1.2

其余都相同。

而不同的CH347T的可修改配置信息可以不同,因此可以區(qū)分。

但是區(qū)分同一個(gè)CH347T的端口只能使用上面三個(gè)信息,而iad_bFirstInterface 和bInterfaceNumber ?信息使用ATTRS屬性枚舉的時(shí)候都無(wú)法和 芯片ID等信息一同有效匹配,獨(dú)立匹配也不成功。

KERNELS?信息會(huì)隨著CH347T接入 主板USB設(shè)備的端口號(hào)的不同而發(fā)生變化。所以無(wú)法通過(guò)該信息綁定設(shè)備端口號(hào)。所以想問(wèn)一下如何在同一臺(tái)計(jì)算機(jī)中有多個(gè)CH347T設(shè)備時(shí),分別賦予不同CH347T的COM1 COM2 不同的軟連接(*.rule)。


在測(cè)試中我發(fā)現(xiàn)KERNELS 信息匹配的最后一位在CH347T的COM1中始終為0 ?COM2始終為2 。請(qǐng)問(wèn)這個(gè)數(shù)值和你們的設(shè)計(jì)初衷是否吻合?可否通過(guò)KERNELS?信息的最后一位數(shù)是否位0/2來(lái)判斷串口的端口號(hào)?



您好,因?yàn)?em>udev規(guī)則中匹配設(shè)備和單個(gè)父設(shè)備的屬性,不能混合匹配來(lái)自多個(gè)父設(shè)備的屬性,所以需要將多級(jí)父設(shè)備分開(kāi)處理。

? ? ? ? ?若需要進(jìn)行多個(gè)CH347的串口號(hào)綁定,可以結(jié)合我司USB屬性配置工具:http://www.findthetime.net/downloads/CH34xSerCfg_ZIP.html?修改相關(guān)描述符輔助實(shí)現(xiàn),此處使用產(chǎn)品描述符完成您所描述功能。

????a. 若是單個(gè)CH347,則在模式0下使用VID、PID以及bInterfaceNumber來(lái)進(jìn)行判斷,示例如下:

KERNEL=="ttyCH343USB*",?ATTRS{idVendor}=="1a86",?ATTRS{idProduct}=="55da",?MODE="0666",?GOTO="WCH-CH347"
SUBSYSTEMS=="usb",?GOTO="CH347-END"

LABEL="WCH-CH347"
ATTRS{bInterfaceNumber}=="00",?SYMLINK+="ttyCOM0"
ATTRS{bInterfaceNumber}=="02",?SYMLINK+="ttyCOM1"
LABEL="CH347-END"

? ?多個(gè)CH347,舉例2個(gè)CH347,示例如下

#?CH347?Mode?0
KERNEL=="ttyCH343USB*",?ATTRS{idVendor}=="1a86",?ATTRS{idProduct}=="55da",?ATTRS{product}=="CH347UART0001",?MODE="0666",?GOTO="WCH-CH347-A1"
SUBSYSTEMS=="usb",?GOTO="A1-END"

LABEL="WCH-CH347-A1"
ATTRS{bInterfaceNumber}=="00",?SYMLINK+="ttyCOM0"
ATTRS{bInterfaceNumber}=="02",?SYMLINK+="ttyCOM1"
LABEL="A1-END"

KERNEL=="ttyCH343USB*",?ATTRS{idVendor}=="1a86",?ATTRS{idProduct}=="55da",?ATTRS{product}=="CH347UART0002",?MODE="0666",?GOTO="WCH-CH347-A2"
SUBSYSTEMS=="usb",?GOTO="A2-END"

LABEL="WCH-CH347-A2"
ATTRS{bInterfaceNumber}=="00",?SYMLINK+="ttyCOM2"
ATTRS{bInterfaceNumber}=="02",?SYMLINK+="ttyCOM3"
LABEL="A2-END"

? ?b. 在不同模式(CH347-模式1、3)下單個(gè)或者多個(gè)CH347串口spacer.gif號(hào)的固定方法,示例如下:

#?CH347?Mode?1
KERNEL=="ttyCH343USB*",?ATTRS{idVendor}=="1a86",?ATTRS{idProduct}=="55db",?ATTRS{product}=="CH347UART0001",?MODE="0666",?SYMLINK+="ttyCOM0"
KERNEL=="ttyCH343USB*",?ATTRS{idVendor}=="1a86",?ATTRS{idProduct}=="55db",?ATTRS{product}=="CH347UART0002",?MODE="0666",?SYMLINK+="ttyCOM1"

#?CH347?Mode?3
KERNEL=="ttyCH343USB*",?ATTRS{idVendor}=="1a86",?ATTRS{idProduct}=="55dd",?ATTRS{product}=="CH347UART0001",?MODE="0666",?SYMLINK+="ttyCOM0"
KERNEL=="ttyCH343USB*",?ATTRS{idVendor}=="1a86",?ATTRS{idProduct}=="55dd",?ATTRS{product}=="CH347UART0002",?MODE="0666",?SYMLINK+="ttyCOM1"

您可綜合以上描述,集成一個(gè)rules文件使用即可。

? ??



只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频