2

我正在开发一个使用专用上网本作为硬件平台的移动应用程序,该软件在 arch linux 上运行。为了启用移动互联网访问,我想在设置中集成一个 gsm 调制解调器,调制解调器通过 USB 连接。由于我的软件需要调制解调器的固定设备名称,因此我尝试使用自定义 udev 规则在调制解调器设备插入时创建符号链接。我当前的 udev 规则如下所示:

SUBSYSTEM=="tty", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="140c", MODE="0666", SYMLINK+="gsm"

问题是,当我插入调制解调器时,似乎创建了两个设备,如下所示dmesg

[ 3955.586471] option 1-1:1.2: GSM modem (1-port) converter detected
[ 3955.587286] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 3955.587946] option 1-1:1.3: GSM modem (1-port) converter detected
[ 3955.588637] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2

与调制解调器通话似乎只能在ttyUSB2. 但是,udev 创建的符号链接似乎总是指向ttyUSB1,因此,它不能用于与调制解调器通信。谁能解释这种行为并告诉我如何改变它?

我已经尝试使用 udevadm info 来查找可区分的属性,以使规则更加明确。这些设备似乎只是它们的 . 不同bInterfaceNumber,但我无法成功地将该属性包含在 udev 规则中。

4

0 回答 0