Raspberry pi 如何在raspberry pi上找到USB调制解调器的tty?

Raspberry pi 如何在raspberry pi上找到USB调制解调器的tty?,raspberry-pi,usb,modem,Raspberry Pi,Usb,Modem,我想把AT命令发送到连接到raspberry pi的USB调制解调器。我发现一些帮助提到USB调制解调器通常作为ttyACM或ttyUSB设备连接,但我没有ttyACM或ttyUSB设备。我有从tty1到tty63的设备,但我不知道如何识别调制解调器使用的设备 我试图通过在调制解调器未连接的情况下存储设备列表,然后在插入调制解调器后比较设备列表来查找设备: ls /dev/ > dev_list_1.txt (plug the modem in) ls /dev/ | diff --sup

我想把AT命令发送到连接到raspberry pi的USB调制解调器。我发现一些帮助提到USB调制解调器通常作为ttyACM或ttyUSB设备连接,但我没有ttyACM或ttyUSB设备。我有从tty1到tty63的设备,但我不知道如何识别调制解调器使用的设备

我试图通过在调制解调器未连接的情况下存储设备列表,然后在插入调制解调器后比较设备列表来查找设备:

ls /dev/ > dev_list_1.txt
(plug the modem in)
ls /dev/ | diff --suppress-common-lines -y - dev_list_.txt
返回给我:

bsg                               <
sda                               <
sg0 
但两者都有回报:

cu: open (/dev/sg0): Permission denied
cu: sg0: Line in use
因此,我还尝试使用minicom并将串行通信配置为/dev/sg0或/dev/sda,但它也不起作用


因此,我认为我需要找到调制解调器使用的正确tty设备,以便能够与之通信。但是如何找到它呢?

您可以查找
/sys/class/tty/*/device
条目并忽略指向serial8250的所有链接,因为它们不是USB设备

使用shell脚本:

for device in /sys/class/tty/*/device
do
    case $(readlink $device) in
        *serial8250)    # e.g. ../../../serial8250
            ;;
        *)              # e.g. ../../../1-3:3.1
            echo $device | rev | cut -d/ -f2 | rev
            ;;
    esac;
done | sed 's@^@/dev/@'
产生

/dev/ttyACM0
/dev/ttyACM1
/dev/ttyS0
我的电话接通了。您可能会得到更多的usb设备(例如ttyS0),但至少这会提供内核所知道的所有usb串行设备(如果设备没有填充/sys/class/tty/it,几乎可以肯定它不是串行设备)


这是基于中的
列表\u端口
功能逻辑。

您可以查找
/sys/class/tty/*/device
条目并忽略指向serial8250的所有链接,因为这些不是USB设备

使用shell脚本:

for device in /sys/class/tty/*/device
do
    case $(readlink $device) in
        *serial8250)    # e.g. ../../../serial8250
            ;;
        *)              # e.g. ../../../1-3:3.1
            echo $device | rev | cut -d/ -f2 | rev
            ;;
    esac;
done | sed 's@^@/dev/@'
产生

/dev/ttyACM0
/dev/ttyACM1
/dev/ttyS0
我的电话接通了。您可能会得到更多的usb设备(例如ttyS0),但至少这会提供内核所知道的所有usb串行设备(如果设备没有填充/sys/class/tty/it,几乎可以肯定它不是串行设备)


这是基于中的
列表\u端口
功能逻辑。

使用命令
lsusb-vvv
将显示与正在运行的机器连接的USB设备相关的许多信息。此外,您可以
物理USB设备层次结构作为树。如手册页面所示,使用v选项可以将详细程度提高两倍…
。谢谢,它提供了许多信息,但遗憾的是,它没有在/dev/tty附近提供任何信息。我已经试过lsusb-t了,它告诉我调制解调器正在端口4,Dev 6上运行。我也知道调制解调器的供应商和产品。但我不知道它是否可以用于和调制解调器的串行通信,因为网络上的每个手册都说“write to/dev/ttyACM0”您已经使用了
sudo raspi config
并启用了界面?您是否尝试过
ls-l/dev/serial/by id
?使用命令
lsusb-vvv
将向您显示与正在运行的机器连接的USB设备相关的许多信息。此外,您可以
物理USB设备层次结构作为树。如手册页面所示,使用v选项可以将详细程度提高两倍…
。谢谢,它提供了许多信息,但遗憾的是,它没有在/dev/tty附近提供任何信息。我已经试过lsusb-t了,它告诉我调制解调器正在端口4,Dev 6上运行。我也知道调制解调器的供应商和产品。但是我不知道它是否可以用于与调制解调器的串行通信,因为网络上的每一本手册都说“write to/dev/ttyACM0”。您使用了
sudo raspi config
并启用了该接口?您是否尝试过
ls-l/dev/serial/by id