EM7430 send AT command no response

ason0821

I’d suggest you to try the legacy linux generic usbserial driver.
Before this, you have to unbind qcserial from your AT port, of course.
I’ve tried to do this myself, just for verification. See how it works in my example:

[root@yrgw ~]# lsusb
Bus 001 Device 002: ID 1199:9071 Sierra Wireless, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation
[root@yrgw ~]# lsusb -t
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
    |__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 2: Dev 2, If 2, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 2: Dev 2, If 3, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 2: Dev 2, If 12, Class=Communications, Driver=cdc_mbim, 480M
    |__ Port 2: Dev 2, If 13, Class=CDC Data, Driver=cdc_mbim, 480M
[root@yrgw ~]# ls /sys/bus/usb/drivers/qcserial
1-2:1.0  1-2:1.2  1-2:1.3  bind  uevent  unbind
[root@yrgw ~]# echo -n "1-2:1.3" > /sys/bus/usb/drivers/qcserial/unbind
[root@yrgw ~]# lsusb -t
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
    |__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 2: Dev 2, If 2, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 2: Dev 2, If 3, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 2: Dev 2, If 12, Class=Communications, Driver=cdc_mbim, 480M
    |__ Port 2: Dev 2, If 13, Class=CDC Data, Driver=cdc_mbim, 480M
[root@yrgw ~]# echo 1199 9071 > /sys/bus/usb-serial/drivers/generic/new_id
[root@yrgw ~]# lsusb -t
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
    |__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 2: Dev 2, If 2, Class=Vendor Specific Class, Driver=qcserial, 480M
    |__ Port 2: Dev 2, If 3, Class=Vendor Specific Class, Driver=usbserial_generic, 480M
    |__ Port 2: Dev 2, If 12, Class=Communications, Driver=cdc_mbim, 480M
    |__ Port 2: Dev 2, If 13, Class=CDC Data, Driver=cdc_mbim, 480M
[root@yrgw ~]# ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2
[root@yrgw ~]# cat /dev/ttyUSB2 &
[1] 15226
[root@yrgw ~]# echo 'ate0' > /dev/ttyUSB2
[root@yrgw ~]#

OK


[root@yrgw ~]# echo 'at!image?' > /dev/ttyUSB2
[root@yrgw ~]#

TYPE SLOT STATUS LRU FAILURES UNIQUE_ID   BUILD_ID

FW   1    GOOD   1   0 0      ?_?         02.08.02.00_?

FW   2    GOOD   127 0 0      ?_?         02.14.03.00_?

FW   3    EMPTY  0   0 0

FW   4    EMPTY  0   0 0

Max FW images: 4

Active FW image is at slot 1



TYPE SLOT STATUS LRU FAILURES UNIQUE_ID   BUILD_ID

PRI  FF   GOOD   0   0 0      002.007_000 02.08.02.00_GENERIC

Max PRI images: 50





OK


[root@yrgw ~]# echo 'at+gmr' > /dev/ttyUSB2
[root@yrgw ~]#

SWI9X30C_02.08.02.00 r5428 CARMD-EV-FRMWR2 2016/01/06 20:38:53



OK


[root@yrgw ~]#

Hi vve,

Thanks for your suggestion.
I found qcserial and GobiSerial that can be used to AT command, and I am porting 2.35 GobiNet work well.

The root cause is our hardware team mistake that TX & RX are reversed.