I’m trying to run the basic atServerHelloWorld example on a WP7607-1 running firmware R17.1 / Legato 21.05.2.
The app builds and deploys successfully. Logs confirm AT+HELLOWORLD is registered with atServerDaemon:
atServerDaemon[1260]/atServer | le_atServer.c le_atServer_Create() | Create command 'AT+HELLOWORLD'
atHelloWorldTest | atHelloWorld.c | AT+HELLOWORLD registered
But when I type AT+HELLOWORLD on ttyUSB2 (the AT port), I get ERROR back immediately.
Investigation revealed that a process called port_bridge (started by /etc/rcS.d/S25port_bridge) has at_usb0 open and bridges it directly to the modem AT parser, bypassing Legato’s atServerDaemon entirely:
port_bridge fd3 → /dev/at_mdm1
port_bridge fd4 → /dev/at_usb0
port_bridge fd5 → /dev/at_usb1
port_bridge fd6 → /dev/at_mdm0
Additionally there is a restart_swi_app watchdog that restarts port_bridge if killed.
Questions:
-
Is
port_bridgesupposed to be stopped before Legato’satService/portServicecan ownat_usb0? -
What is the correct way to disable
port_bridgepermanently soportServicetakes over the USB AT port? -
Is there a
PortConfigurationFile.jsonconfiguration needed forportDaemonto openat_usb0?
Any guidance on the correct R17.1 setup for custom AT commands via le_atServer would be appreciated.