Can't read AT responses on ttyUSB2 (X750, v.3.009)

Using firmware 3.009 on an X750, I’m having trouble getting cat /dev/ttyUSB2 to read AT command responses issued on the same port. I am able to open up cat on the other ttyUSB* ports, but when I try on ttyUSB2, nothing happens, I’m just served another shell prompt (instead of blank line break and stream of content being written).

I notice AT command and response works fine on ttyUSB2 right after a fresh firmware install, but not once I’ve configured the device as needed. I’ve attempted to isolate a package or config setting that’s causing the issue but so far have been unsuccessful. Perhaps someone here has already figured this one out or has a tip on what to look for in my logs to determine where there might be a conflict (already tried searching for messages about ttyUSB2 being locked by another process, etc.).

I tried writing AT commands and listening for responses on all /dev/ttyUSB* but was unsuccessful. The LTE module is an EP06-A and ttyUSB2 AT command/response with cat works using the same firmware, configuration and installed packages on a MiFi.

Is there a different port to issue/listen for AT commands on the X750? Thanks in advance.

~# dmesg

[ 0.000000] Linux version 4.9.120 (lancer@gl-inet) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7258-5eb055306f) ) #0 Thu Aug 16 07:51:15 2018
[ 0.000000] MyLoader: sysp=d7375fa8, boardp=3dfa5fd5, parts=b6eaedf7
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[ 0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 08000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] On node 0 totalpages: 32768
[ 0.000000] free_area_init_node: node 0, pgdat 804dd074, node_mem_map 81000020
[ 0.000000] Normal zone: 256 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 32768 pages, LIFO batch:7
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=132768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: board=GL-X750 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),64k(art)ro,-(firmware) console=null,115200 rootfstype=squashfs noinitrd
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] Memory: 124352K/131072K available (3533K kernel code, 182K rwdata, 884K rodata, 320K init, 220K bss, 6720K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:51
[ 0.000000] Clocks: CPU:650.000MHz, DDR:597.119MHz, AHB:216.666MHz, Ref:25.000MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[ 0.000008] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[ 0.008240] Calibrating delay loop… 432.53 BogoMIPS (lpj=2162688)
[ 0.071099] pid_max: default: 32768 minimum: 301
[ 0.076079] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.083054] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.093213] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.103602] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.111234] NET: Registered protocol family 16
[ 0.117410] MIPS: machine is GL.iNet GL-X750
[ 0.604561] registering PCI controller with io_map_base unset
[ 0.627809] usbcore: registered new interface driver usbfs
[ 0.633710] usbcore: registered new interface driver hub
[ 0.639372] usbcore: registered new device driver usb
[ 0.645006] PCI host bridge to bus 0000:00
[ 0.649327] pci_bus 0000:00: root bus resource [mem 0x10000000-0x11ffffff]
[ 0.656597] pci_bus 0000:00: root bus resource [io 0x0000]
[ 0.662465] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[ 0.669627] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[ 0.678001] pci 0000:00:00.0: [168c:0050] type 00 class 0x028000
[ 0.678011] pci 0000:00:00.0: invalid calibration data
[ 0.683459] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[ 0.683513] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[ 0.683583] pci 0000:00:00.0: supports D1
[ 0.683592] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[ 0.683784] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[ 0.683812] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x101fffff 64bit]
[ 0.691536] pci 0000:00:00.0: BAR 6: assigned [mem 0x10200000-0x1020ffff pref]
[ 0.699184] pci 0000:00:00.0: using irq 40 for pin 1
[ 0.708081] clocksource: Switched to clocksource MIPS
[ 0.714462] NET: Registered protocol family 2
[ 0.719975] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.727336] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.734089] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.740895] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.747064] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.753945] NET: Registered protocol family 1
[ 0.758606] PCI: CLS 0 bytes, default 32
[ 0.761265] Crashlog allocated RAM at address 0x3f00000
[ 0.767813] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[ 0.781578] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.787726] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.806994] io scheduler noop registered
[ 0.811180] io scheduler deadline registered (default)
[ 0.816990] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[ 0.846274] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a 16550A
[ 0.861416] m25p80 spi0.0: found w25q128, expected m25p80
[ 0.876377] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.881374] 4 cmdlinepart partitions found on MTD device spi0.0
[ 0.887603] Creating 4 MTD partitions on “spi0.0”:
[ 0.892664] 0x000000000000-0x000000040000 : “u-boot”
[ 0.899737] 0x000000040000-0x000000050000 : “u-boot-env”
[ 0.907226] 0x000000050000-0x000000060000 : “art”
[ 0.914183] 0x000000060000-0x000001000000 : “firmware”
[ 0.943447] 2 uimage-fw partitions found on MTD device firmware
[ 0.949721] 0x000000060000-0x0000001e0000 : “kernel”
[ 0.956299] 0x0000001e0000-0x000001000000 : “rootfs”
[ 0.963165] mtd: device 5 (rootfs) set to be root filesystem
[ 0.969223] 1 squashfs-split partitions found on MTD device rootfs
[ 0.975740] 0x000000b00000-0x000001000000 : “rootfs_data”
[ 0.984405] libphy: Fixed MDIO Bus: probed
[ 1.011424] libphy: ag71xx_mdio: probed
[ 1.641013] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd042, driver=Generic PHY]
[ 1.651328] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
[ 2.280625] ag71xx-mdio.1: Found an AR934X built-in switch
[ 2.333933] eth1: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
[ 2.340566] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 2.347438] ehci-pci: EHCI PCI platform driver
[ 2.352329] usbcore: registered new interface driver usbtest
[ 2.358385] usbcore: registered new interface driver usb_ehset_test
[ 2.365044] usbcore: registered new interface driver lvs
[ 2.372303] NET: Registered protocol family 10
[ 2.381588] NET: Registered protocol family 17
[ 2.386317] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 2.400116] 8021q: 802.1Q VLAN Support v1.8
[ 2.406267] hctosys: unable to open rtc device (rtc0)
[ 2.411698] Warning: unable to open an initial console.
[ 2.422994] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[ 2.432206] Freeing unused kernel memory: 320K
[ 2.436878] This architecture does not have kernel memory protection.
[ 2.588098] random: fast init done
[ 3.081253] init: Console is alive
[ 3.085035] init: - watchdog -
[ 5.099641] kmodloader: loading kernel modules from /etc/modules-boot.d/

[ 5.256416] exFAT: Version 1.2.9
[ 5.297972] SCSI subsystem initialized
[ 5.307067] ehci-platform: EHCI generic platform driver
[ 5.312723] ehci-platform ehci-platform: EHCI Host Controller
[ 5.318990] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[ 5.329468] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
[ 5.358118] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[ 5.364890] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 5.372070] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 5.379683] usb usb1: Product: EHCI Host Controller
[ 5.384816] usb usb1: Manufacturer: Linux 4.9.120 ehci_hcd
[ 5.390605] usb usb1: SerialNumber: ehci-platform
[ 5.396361] hub 1-0:1.0: USB hub found
[ 5.400629] hub 1-0:1.0: 1 port detected
[ 5.407751] ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI) Driver
[ 5.415809] ohci-platform: OHCI generic platform driver
[ 5.423867] uhci_hcd: USB Universal Host Controller Interface driver
[ 5.434892] usbcore: registered new interface driver usb-storage
[ 5.442021] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 5.452332] init: - preinit -
[ 6.000266] usb 1-1: new high-speed USB device number 2 using ehci-platform
[ 6.369344] usb 1-1: New USB device found, idVendor=05e3, idProduct=0618
[ 6.376432] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 6.383987] usb 1-1: Product: USB2.0 Hub
[ 6.389142] random: procd: uninitialized urandom read (4 bytes read)
[ 6.418378] hub 1-1:1.0: USB hub found
[ 6.422831] hub 1-1:1.0: 4 ports detected
[ 6.725194] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 6.848251] usb 1-1.1: new high-speed USB device number 3 using ehci-platform
[ 7.013778] usb 1-1.1: New USB device found, idVendor=05e3, idProduct=0752
[ 7.021089] usb 1-1.1: New USB device strings: Mfr=3, Product=4, SerialNumber=0
[ 7.028813] usb 1-1.1: Product: USB Storage
[ 7.033216] usb 1-1.1: Manufacturer: Generic
[ 7.062428] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[ 7.080194] scsi host0: usb-storage 1-1.1:1.0
[ 7.178164] usb 1-1.2: new high-speed USB device number 4 using ehci-platform
[ 7.342628] usb 1-1.2: New USB device found, idVendor=2c7c, idProduct=0306
[ 7.349930] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 7.357643] usb 1-1.2: Product: LTE-A Module
[ 7.362149] usb 1-1.2: Manufacturer: Quectel
[ 7.366640] usb 1-1.2: SerialNumber: 0123456789ABCDEF
[ 8.123399] scsi 0:0:0:0: Direct-Access Generic STORAGE DEVICE 0233 PQ: 0 ANSI: 0
[ 8.386881] sd 0:0:0:0: [sda] 1966080 512-byte logical blocks: (1.01 GB/960 MiB)
[ 8.401329] sd 0:0:0:0: [sda] Write Protect is off
[ 8.406427] sd 0:0:0:0: [sda] Mode Sense: 0b 00 00 08
[ 8.412108] sd 0:0:0:0: [sda] No Caching mode page found
[ 8.417748] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 8.442347] sda: sda1
[ 8.450917] sd 0:0:0:0: [sda] Attached SCSI removable disk
[ 8.842172] eth0: link up (100Mbps/Full duplex)
[ 8.846983] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 9.100832] jffs2: notice: (853) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[ 9.119252] mount_root: switching to jffs2 overlay
[ 9.204010] urandom-seed: Seeding with /etc/urandom.seed
[ 9.336695] eth0: link down
[ 9.351844] procd: - early -
[ 9.354967] procd: - watchdog -
[ 10.025224] random: jshn: uninitialized urandom read (4 bytes read)
[ 10.039345] procd: - watchdog -
[ 10.042809] procd: failed to set stdio: No such device
[ 10.110431] procd: - ubus -
[ 10.355949] random: ubusd: uninitialized urandom read (4 bytes read)
[ 10.508223] random: ubusd: uninitialized urandom read (4 bytes read)
[ 10.541172] procd: - init -
[ 12.325021] kmodloader: loading kernel modules from /etc/modules.d/*
[ 12.374255] ntfs: driver 2.1.32 [Flags: R/O MODULE].
[ 12.415365] tun: Universal TUN/TAP device driver, 1.6
[ 12.420744] tun: (C) 1999-2004 Max Krasnyansky maxk@qualcomm.com
[ 12.464418] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 12.495689] Netfilter messages via NETLINK v0.30.
[ 12.510724] ip_set: protocol 6
[ 12.611062] u32 classifier
[ 12.613909] input device check on
[ 12.617760] Actions configured
[ 12.634990] Mirror/redirect action on
[ 12.659096] nf_conntrack version 0.5.0 (2048 buckets, 8192 max)
[ 12.742763] fuse init (API version 7.26)
[ 12.764333] usbcore: registered new interface driver cdc_acm
[ 12.770361] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 12.806859] usbcore: registered new interface driver cdc_wdm
[ 12.819109] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[ 12.827543] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[ 12.861963] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 12.879261] usbcore: registered new interface driver ipheth
[ 13.308177] usbcore: registered new interface driver usbserial
[ 13.314406] usbcore: registered new interface driver usbserial_generic
[ 13.321405] usbserial: USB Serial support registered for generic
[ 13.358054] wireguard: WireGuard 0.0.20180718 loaded. See www.wireguard.com for information.
[ 13.367013] wireguard: Copyright (C) 2015-2018 Jason A. Donenfeld Jason@zx2c4.com. All Rights Reserved.
[ 13.489702] xt_time: kernel timezone is -0000
[ 13.507861] usbcore: registered new interface driver cdc_ether
[ 13.531598] usbcore: registered new interface driver cdc_ncm
[ 13.739647] usbcore: registered new interface driver cp210x
[ 13.745645] usbserial: USB Serial support registered for cp210x
[ 13.769351] usbcore: registered new interface driver huawei_cdc_ncm
[ 13.894046] PPP generic driver version 2.4.2
[ 13.919746] PPP MPPE Compression module registered
[ 13.930245] NET: Registered protocol family 24
[ 13.948517] qmi_wwan 1-1.2:1.4: cdc-wdm0: USB WDM device
[ 13.954161] qmi_wwan 1-1.2:1.4: QuectelEC25&EC21&EG91&EG95&EG06&EP06&EM06&BG96&AG35 work on RawIP mode
[ 13.979199] qmi_wwan 1-1.2:1.4 wwan0: register ‘qmi_wwan’ at usb-ehci-platform-1.2, WWAN/QMI device, 3a:47:b0:76:7d:62
[ 13.990672] usbcore: registered new interface driver qmi_wwan
[ 14.017767] usbcore: registered new interface driver rndis_host
[ 14.069606] usbcore: registered new interface driver sierra
[ 14.075555] usbserial: USB Serial support registered for Sierra USB modem
[ 14.100263] usbcore: registered new interface driver sierra_net
[ 14.178876] PCI: Enabling device 0000:00:00.0 (0000 → 0002)
[ 14.185011] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[ 14.508654] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:00:00.0.bin failed with error -2
[ 14.519968] ath10k_pci 0000:00:00.0: Falling back to user helper
[ 37.332020] firmware ath10k!pre-cal-pci-0000:00:00.0.bin: firmware_loading_store: map pages failed
[ 37.425603] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA9887/hw1.0/firmware-6.bin failed with error -2
[ 37.436934] ath10k_pci 0000:00:00.0: Falling back to user helper
[ 37.570422] firmware ath10k!QCA9887!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed
[ 37.782586] ath10k_pci 0000:00:00.0: qca9887 hw1.0 target 0x4100016d chip_id 0x004000ff sub 0000:0000
[ 37.792358] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[ 37.806452] ath10k_pci 0000:00:00.0: firmware ver 10.2.4-1.0-00033 api 5 features no-p2p,ignore-otp,skip-clock-init,mfp,allows-mesh-bcast crc32 c232a0c3
[ 37.855562] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA9887/hw1.0/board-2.bin failed with error -2
[ 37.866589] ath10k_pci 0000:00:00.0: Falling back to user helper
[ 37.945476] firmware ath10k!QCA9887!hw1.0!board-2.bin: firmware_loading_store: map pages failed
[ 37.967288] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32 546cca0d
[ 39.021204] ath10k_pci 0000:00:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal file max-sta 128 raw 0 hwcrypto 1
[ 39.159637] ath: EEPROM regdomain: 0x0
[ 39.159646] ath: EEPROM indicates default country code should be used
[ 39.159649] ath: doing EEPROM country->regdmn map search
[ 39.159660] ath: country maps to regdmn code: 0x3a
[ 39.159665] ath: Country alpha2 being used: US
[ 39.159668] ath: Regpair used: 0x3a
[ 39.289899] usbcore: registered new interface driver option
[ 39.295855] usbserial: USB Serial support registered for GSM modem (1-port)
[ 39.303683] option 1-1.2:1.0: GSM modem (1-port) converter detected
[ 39.310568] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[ 39.317940] option 1-1.2:1.1: GSM modem (1-port) converter detected
[ 39.324847] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[ 39.332266] option 1-1.2:1.2: GSM modem (1-port) converter detected
[ 39.339146] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[ 39.346516] option 1-1.2:1.3: GSM modem (1-port) converter detected
[ 39.353425] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB3
[ 39.469582] usbcore: registered new interface driver rt2800usb
[ 39.497351] ath: EEPROM regdomain: 0x0
[ 39.497360] ath: EEPROM indicates default country code should be used
[ 39.497364] ath: doing EEPROM country->regdmn map search
[ 39.497378] ath: country maps to regdmn code: 0x3a
[ 39.497383] ath: Country alpha2 being used: US
[ 39.497386] ath: Regpair used: 0x3a
[ 39.508293] ieee80211 phy1: Selected rate control algorithm ‘minstrel_ht’
[ 39.512405] ieee80211 phy1: Atheros AR9531 Rev:2 mem=0xb8100000, irq=47
[ 39.534045] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 56.928246] br-lan: port 1(eth1) entered blocking state
[ 56.933774] br-lan: port 1(eth1) entered disabled state
[ 56.939681] device eth1 entered promiscuous mode
[ 56.947153] br-lan: port 1(eth1) entered blocking state
[ 56.952725] br-lan: port 1(eth1) entered forwarding state
[ 56.958581] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[ 57.381914] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 57.410501] IPv6: ADDRCONF(NETDEV_UP): br-lan_unsec: link is not ready
[ 57.878227] br-lan: port 1(eth1) entered disabled state
[ 58.471772] eth0: link up (100Mbps/Full duplex)
[ 58.496995] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 59.556659] random: crng init done
[ 59.560251] random: 6 urandom warning(s) missed due to ratelimiting
[ 63.492985] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
[ 63.553761] br-lan: port 2(wlan1) entered blocking state
[ 63.559532] br-lan: port 2(wlan1) entered disabled state
[ 63.565582] device wlan1 entered promiscuous mode
[ 65.262518] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[ 65.269472] br-lan: port 2(wlan1) entered blocking state
[ 65.275105] br-lan: port 2(wlan1) entered forwarding state
[ 65.337633] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[ 65.347076] br-lan_unsec: port 1(wlan3) entered blocking state
[ 65.353324] br-lan_unsec: port 1(wlan3) entered disabled state
[ 65.359896] device wlan3 entered promiscuous mode
[ 65.418729] IPv6: ADDRCONF(NETDEV_UP): wlan3: link is not ready
[ 65.425045] br-lan_unsec: port 1(wlan3) entered blocking state
[ 65.431249] br-lan_unsec: port 1(wlan3) entered forwarding state
[ 65.438958] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan_unsec: link becomes ready
[ 66.278253] br-lan_unsec: port 1(wlan3) entered disabled state
[ 66.772028] IPv6: ADDRCONF(NETDEV_CHANGE): wlan3: link becomes ready
[ 66.779063] br-lan_unsec: port 1(wlan3) entered blocking state
[ 66.785249] br-lan_unsec: port 1(wlan3) entered forwarding state
[ 189.948405] nf_conntrack: default automatic helper assignment has been turned off for security reasons and CT-based firewall rule not found. Use the iptables CT target to attach helpers instead.

Is the modem connected to carrier network?

Yes, in fact if I install minicom, I’m able to send and receive on /dev/ttyUSB2 without a problem (though, strangely, local echo needs to be enabled or the command below produces an “ERROR” response).

Welcome to minicom 2.7.1

OPTIONS:
Port /dev/ttyUSB2, 13:48:05

Press CTRL-A Z for help on special keys

AT+CUSD=1,"#932#",15

OK

OK

+CUSD: 0,"You have used 59.43 GB of your data plan, 59.64 GB of total on-network data at 01/30/19 5:48AM PST.     ",15

The problem seems to be that the cat command is not opening up the port on /dev/ttyUSB2 to read output. It seems to open up on the other ttyUSB ports (though no responses are written to these by the modem).

Well, I have no idea why this is the case, but if I use tail -F instead of cat to read the AT command responses on /dev/ttyUSB2, it works just fine. I’ve just made this substitution in my shell script and it provides identical functionality.

cat typically stops at EOF. tail -f will not stop when EOF is reached, but waits for more data as it becomes available.

Setting the port to “raw” mode often is needed for use of cat to “follow” the data stream.