尝试与司机合作模拟900a。使用 FTDI232 将其连接到运行 Ubuntu 22.04 LTS 的笔记本电脑的 USB 端口。但是,当我 时dmesg
,我识别到了 FTDI,但没有识别到调制解调器。
[ 5456.623485] usb 1-4: new full-speed USB device number 7 using xhci_hcd
[ 5456.777992] usb 1-4: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[ 5456.778010] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5456.778018] usb 1-4: Product: FT232R USB UART
[ 5456.778025] usb 1-4: Manufacturer: FTDI
[ 5456.778030] usb 1-4: SerialNumber: 00000000
[ 5456.795621] usbcore: registered new interface driver usbserial_generic
[ 5456.795632] usbserial: USB Serial support registered for generic
[ 5456.800110] usbcore: registered new interface driver ftdi_sio
[ 5456.800136] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 5456.800243] ftdi_sio 1-4:1.0: FTDI USB Serial Device converter detected
[ 5456.800318] usb 1-4: Detected FT232RL
[ 5456.800789] usb 1-4: FTDI USB Serial Device converter now attached to ttyUSB0
Sim900a 的独立电源由另一个 USB 端口使用带有面包板调节器的简单电缆(公对公)提供。没有插入SIM卡。 Sim900a 正常闪烁(每秒一次,没有 SIM 时应该如此)。
连接:
Sim900a TX (3VT) -> FTDI RX
Sim900a RX (3VR) -> FTDI TX
Sim900a VCC -> FTDI VCC
Sim900a GND -> FTDI GND
尝试使用 atcom 执行 AT 命令:
atcom --port /dev/ttyUSB0 AT
给出
[ERR] Timeout, couldn't get response
我希望 ttyUSB0-3 将其检测为调制解调器,如下所示:
option 2-3:1.0: GSM modem (1-port) converter detected
usb 2-3: GSM modem (1-port) converter now attached to ttyUSB0
option 2-3:1.1: GSM modem (1-port) converter detected
usb 2-3: GSM modem (1-port) converter now attached to ttyUSB1
option 2-3:1.2: GSM modem (1-port) converter detected
usb 2-3: GSM modem (1-port) converter now attached to ttyUSB2
option 2-3:1.3: GSM modem (1-port) converter detected
usb 2-3: GSM modem (1-port) converter now attached to ttyUSB3
我缺少什么?
答案1
ftdi 芯片只是 PC 的串行接口。通过 USB 连接,它会自动识别自己,并自动使其在串行端口可以运行时可用。
与 USB 不同,串行端口无法对设备进行自我识别。您需要知道有一个调制解调器,而不是说,一个化工厂的紧急关闭控制器或一个连接到串行端口的安全气囊控制器。您不想向后者发送调制解调器命令!
因此,您要么需要明确地告诉您的调制解调器管理器,是的,该特定端口上有一个调制解调器,要么需要软件非常积极地只接受串行宠物并假设那里有一个调制解调器。
您还需要确保为设备正确设置波特率、停止位、帧 - 也没有协议可以协商这些!如果没有可见的反应,则第一个猜测是波特率错误。通常,您会将逻辑分析仪连接到串行端口,并希望它以正确的波特率响应“抱歉,不明白您的意思”。