atServerHelloWorld not working

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:

  1. Is port_bridge supposed to be stopped before Legato’s atService/portService can own at_usb0?

  2. What is the correct way to disable port_bridge permanently so portService takes over the USB AT port?

  3. Is there a PortConfigurationFile.json configuration needed for portDaemon to open at_usb0?

Any guidance on the correct R17.1 setup for custom AT commands via le_atServer would be appreciated.

you can see my application here:

It is using USB data port for communication.