JyiJyi,
The firmware is different between the old and the new.
The old is: Release R14.1.1.002 + Legato 19.11.5
And the new is: Release R15.1.0.004 + Legato 21.05.0
I tried the code you suggested, but no success. Here’s the logs:
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | app.c app_Create() 3376 | Creating app 'UART_Test1'
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | proc.c GetFaultAction() 325 | No fault action specified for process 'uart'. Assuming 'ignore'.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | app.c app_Start() 3589 | Starting app 'UART_Test1'
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | app.c CreateFileLink() 2202 | Skipping file link '/legato/systems/current/apps/UART_Test1/read-only/lib/libComponent_UART_Test1Component.so' to '/legato/systems/current/appsWriteable
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | app.c CreateFileLink() 2202 | Skipping file link '/legato/systems/current/apps/UART_Test1/read-only/bin/uart' to '/legato/systems/current/appsWriteable/UART_Test1/bin/uart': Already
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | app.c CreateFileLink() 2272 | Created file link '/dev/ttyMSM0' to '/legato/systems/current/appsWriteable/UART_Test1/dev/ttyMSM0'.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | resourceLimits.c GetCfgResourceLimit() 206 | Configured resource limit maxStackBytes is not available. Using the default value 0.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | proc.c proc_Start() 1419 | Starting process 'uart' with pid 2717
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | supervisor.c SigChildHandler() 885 | Reaping unconfigured child process 2714.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[2717]/supervisor T=main | proc.c proc_Start() 1379 | Execing 'uart'
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[2717]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxCoreDumpFileBytes to value 524288.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[2717]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxFileBytes to value 524288.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[2717]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxLockedMemoryBytes to value 8192.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[2717]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxFileDescriptors to value 256.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[2717]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxMQueueBytes to value 512.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[2717]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxThreads to value 20.
Feb 7 17:18:33 fx30s user.info Legato: INFO | supervisor[2717]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxQueuedSignals to value 100.
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | _UNKNOWN_[2717]/framework T=main | mem.c InitPool() 402 | Memory pool name 'framework.PositionalCallbackRecPool' is truncated to 'framework.PositionalCallbackRec'
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | _UNKNOWN_[2717]/framework T=main | mem.c InitPool() 402 | Memory pool name 'framework.MessagingClientInterfaces' is truncated to 'framework.MessagingClientInterf'
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | _UNKNOWN_[2717]/framework T=main | mem.c InitPool() 402 | Memory pool name 'framework.hashMap_MessagingServices' is truncated to 'framework.hashMap_MessagingServ'
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | _UNKNOWN_[2717]/framework T=main | mem.c InitPool() 402 | Memory pool name 'framework.hashMap_MessagingClients' is truncated to 'framework.hashMap_MessagingClie'
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | _UNKNOWN_[2717]/framework T=main | fs.c fs_Init() 907 | FS prefix path "/data/le_fs/"
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | _UNKNOWN_[2717]/<invalid> T=main | _componentMain.c _UART_Test1Component_Init() 30 | Initializing UART_Test1Component component library.
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | uart[2717]/framework T=main | mem.c InitPool() 402 | Memory pool name 'framework.msgs-LogControlProtocol' is truncated to 'framework.msgs-LogControlProtoc'
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | uart[2717]/framework T=main | messagingSession.c le_msg_SetSessionRecvHandler() 2077 | SetSessionRecv: Unix socket session
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | uart[2717]/framework T=main | mem.c le_mem_ForceAlloc() 1183 | Memory pool 'framework.SigMonitor' overflowed. Expanded to 1 blocks.
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | uart[2717]/framework T=main | mem.c le_mem_ForceAlloc() 1183 | Memory pool 'framework.SigHandler' overflowed. Expanded to 1 blocks.
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | uart[2717]/uart_exe T=main | _main.c main() 59 | == Starting Event Processing Loop ==
Feb 7 17:18:33 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c _UART_Test1Component_COMPONENT_INIT() 234 | UART_TCP_DEMO
Feb 7 17:18:33 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c OpenPort() 61 | Opening serial /dev/ttyMSM0^M
Feb 7 17:18:33 fx30s user.debug Legato: DBUG | uart[2717]/framework T=main | timer.c fa_timer_Start() 384 | localThreadRecPtr->timerFD=9
Feb 7 17:18:36 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c tmrHandler() 202 | arg=0x164 ,CTS = 32, RTS = 4, DSR = 256, DTR = 0 DCD =64
Feb 7 17:18:36 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 138 | wrote 30
Feb 7 17:18:36 fx30s user.info kernel: [ 370.435962] uart_tiocmget(), state->uart_port->mctrl=0x0004.
Feb 7 17:18:36 fx30s user.info kernel: [ 370.436439] tty_tiocmset: UART 2 is NOT Linux APP
Feb 7 17:18:36 fx30s user.info kernel: [ 370.436457] tty_tiocmset(): set=0x0000, val=0x0160, clear=0xE006.
Feb 7 17:18:36 fx30s user.info kernel: [ 370.436472] uart_tiocmset: state->uart_port->mctrl=0x0004, set=0x0000, clear=0xE006
Feb 7 17:18:36 fx30s user.err kernel: [ 370.436640] [smd_pkt_ioctl]: unrecognized ioctl command 0x5402
Feb 7 17:18:36 fx30s user.err kernel: [ 370.437103] [smd_pkt_ioctl]: unrecognized ioctl command 0x5409
Feb 7 17:18:37 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 177 | RTS =1
Feb 7 17:18:39 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c tmrHandler() 202 | arg=0x164 ,CTS = 32, RTS = 4, DSR = 256, DTR = 0 DCD =64
Feb 7 17:18:39 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 138 | wrote 30
Feb 7 17:18:39 fx30s user.info kernel: [ 373.534671] uart_tiocmget(), state->uart_port->mctrl=0x0000.
Feb 7 17:18:39 fx30s user.info kernel: [ 373.534960] tty_tiocmset: UART 2 is NOT Linux APP
Feb 7 17:18:39 fx30s user.info kernel: [ 373.534977] tty_tiocmset(): set=0x0004, val=0x0164, clear=0xE002.
Feb 7 17:18:39 fx30s user.info kernel: [ 373.534993] uart_tiocmset: state->uart_port->mctrl=0x0000, set=0x0004, clear=0xE002
Feb 7 17:18:39 fx30s user.err kernel: [ 373.535159] [smd_pkt_ioctl]: unrecognized ioctl command 0x5402
Feb 7 17:18:39 fx30s user.err kernel: [ 373.535402] [smd_pkt_ioctl]: unrecognized ioctl command 0x5409
Feb 7 17:18:40 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 177 | RTS =1
Feb 7 17:18:42 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c tmrHandler() 202 | arg=0x164 ,CTS = 32, RTS = 4, DSR = 256, DTR = 0 DCD =64
Feb 7 17:18:42 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 138 | wrote 30
Feb 7 17:18:42 fx30s user.info kernel: [ 376.635385] uart_tiocmget(), state->uart_port->mctrl=0x0004.
Feb 7 17:18:42 fx30s user.info kernel: [ 376.635672] tty_tiocmset: UART 2 is NOT Linux APP
Feb 7 17:18:42 fx30s user.info kernel: [ 376.635689] tty_tiocmset(): set=0x0000, val=0x0160, clear=0xE006.
Feb 7 17:18:42 fx30s user.info kernel: [ 376.635705] uart_tiocmset: state->uart_port->mctrl=0x0004, set=0x0000, clear=0xE006
Feb 7 17:18:42 fx30s user.err kernel: [ 376.635871] [smd_pkt_ioctl]: unrecognized ioctl command 0x5402
Feb 7 17:18:42 fx30s user.err kernel: [ 376.636112] [smd_pkt_ioctl]: unrecognized ioctl command 0x5409
Feb 7 17:18:43 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 177 | RTS =1
Feb 7 17:18:45 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c tmrHandler() 202 | arg=0x164 ,CTS = 32, RTS = 4, DSR = 256, DTR = 0 DCD =64
Feb 7 17:18:45 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 138 | wrote 30
Feb 7 17:18:45 fx30s user.info kernel: [ 379.735386] uart_tiocmget(), state->uart_port->mctrl=0x0000.
Feb 7 17:18:45 fx30s user.info kernel: [ 379.735674] tty_tiocmset: UART 2 is NOT Linux APP
Feb 7 17:18:45 fx30s user.info kernel: [ 379.735692] tty_tiocmset(): set=0x0004, val=0x0164, clear=0xE002.
Feb 7 17:18:45 fx30s user.info kernel: [ 379.735708] uart_tiocmset: state->uart_port->mctrl=0x0000, set=0x0004, clear=0xE002
Feb 7 17:18:45 fx30s user.err kernel: [ 379.735875] [smd_pkt_ioctl]: unrecognized ioctl command 0x5402
Feb 7 17:18:45 fx30s user.err kernel: [ 379.736117] [smd_pkt_ioctl]: unrecognized ioctl command 0x5409
Feb 7 17:18:46 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 177 | RTS =1
Feb 7 17:18:48 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c tmrHandler() 202 | arg=0x164 ,CTS = 32, RTS = 4, DSR = 256, DTR = 0 DCD =64
Feb 7 17:18:48 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 138 | wrote 30
Feb 7 17:18:48 fx30s user.info kernel: [ 382.835391] uart_tiocmget(), state->uart_port->mctrl=0x0004.
Feb 7 17:18:48 fx30s user.info kernel: [ 382.835681] tty_tiocmset: UART 2 is NOT Linux APP
Feb 7 17:18:48 fx30s user.info kernel: [ 382.835698] tty_tiocmset(): set=0x0000, val=0x0160, clear=0xE006.
Feb 7 17:18:48 fx30s user.info kernel: [ 382.835714] uart_tiocmset: state->uart_port->mctrl=0x0004, set=0x0000, clear=0xE006
Feb 7 17:18:48 fx30s user.err kernel: [ 382.835882] [smd_pkt_ioctl]: unrecognized ioctl command 0x5402
Feb 7 17:18:48 fx30s user.err kernel: [ 382.836122] [smd_pkt_ioctl]: unrecognized ioctl command 0x5409
Feb 7 17:18:49 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 177 | RTS =1
Feb 7 17:18:51 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c tmrHandler() 202 | arg=0x164 ,CTS = 32, RTS = 4, DSR = 256, DTR = 0 DCD =64
Feb 7 17:18:51 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 138 | wrote 30
Feb 7 17:18:51 fx30s user.info kernel: [ 385.935389] uart_tiocmget(), state->uart_port->mctrl=0x0000.
Feb 7 17:18:51 fx30s user.info kernel: [ 385.935678] tty_tiocmset: UART 2 is NOT Linux APP
Feb 7 17:18:51 fx30s user.info kernel: [ 385.935696] tty_tiocmset(): set=0x0004, val=0x0164, clear=0xE002.
Feb 7 17:18:51 fx30s user.info kernel: [ 385.935711] uart_tiocmset: state->uart_port->mctrl=0x0000, set=0x0004, clear=0xE002
Feb 7 17:18:51 fx30s user.err kernel: [ 385.935879] [smd_pkt_ioctl]: unrecognized ioctl command 0x5402
Feb 7 17:18:51 fx30s user.err kernel: [ 385.936119] [smd_pkt_ioctl]: unrecognized ioctl command 0x5409
Feb 7 17:18:52 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 177 | RTS =1
Feb 7 17:18:54 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c tmrHandler() 202 | arg=0x164 ,CTS = 32, RTS = 4, DSR = 256, DTR = 0 DCD =64
Feb 7 17:18:54 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 138 | wrote 30
Feb 7 17:18:54 fx30s user.info kernel: [ 389.035391] uart_tiocmget(), state->uart_port->mctrl=0x0004.
Feb 7 17:18:54 fx30s user.info kernel: [ 389.035680] tty_tiocmset: UART 2 is NOT Linux APP
Feb 7 17:18:54 fx30s user.info kernel: [ 389.035698] tty_tiocmset(): set=0x0000, val=0x0160, clear=0xE006.
Feb 7 17:18:54 fx30s user.info kernel: [ 389.035714] uart_tiocmset: state->uart_port->mctrl=0x0004, set=0x0000, clear=0xE006
Feb 7 17:18:54 fx30s user.err kernel: [ 389.035877] [smd_pkt_ioctl]: unrecognized ioctl command 0x5402
Feb 7 17:18:54 fx30s user.err kernel: [ 389.036117] [smd_pkt_ioctl]: unrecognized ioctl command 0x5409
Feb 7 17:18:56 fx30s user.info Legato: INFO | uart[2717]/UART_Test1Component T=main | UART_Test1.c get_RTS_status() 177 | RTS =1
Feb 7 17:18:56 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | app.c app_Stop() 3714 | Stopping app 'UART_Test1'
Feb 7 17:18:56 fx30s user.crit Legato: *CRT* | uart[2717]/framework T=main | signals.c TermSignalHandler() 449 | Terminated
Feb 7 17:18:56 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | app.c app_StopComplete() 4881 | app 'UART_Test1' has stopped.
Feb 7 17:18:56 fx30s user.info Legato: INFO | supervisor[1259]/supervisor T=main | apps.c DeactivateAppContainer() 374 | Application 'UART_Test1' has stopped.
Like I mentioned before, my same code works perfectly in the previous FX30S version but not in the latest.
I checked the release notes to see if there was any mention of the CTS/RTS signal change and didn’t find any, so I don’t know why the CTS signal is not now coming on high.
Any other thoughts?
Eddie