Open gcmurray1990 opened 1 month ago
Hi @gcmurray1990 thanks for bring this issue to our attention.
About the warning you can fix using: %"PRIx32"
@SPRESENSE @masayuki2009 any idea why this error is happening?
@acassis Thank you for the quick reply. I understand that you all are busy, but is there anything I can do to help, or something I can clarify?
@gcmurray1990 I never used that LTE API, so I'm not much useful here, however looking the function lte_send_atcmd_sync() at apps/lte/lapi/src/lapi_other.c is seems like it doesn't apply directly to a serial line (this is way you saw -25 error: NOTTY). Look at lapi_req() it communicates with some socket, that is really strange.
I suspect this LTE is not a generic LTE libray, but something specific for Sony ALT1250. If that is the case I think we need to move apps/lte to apps/modem/alt1250.
@SPRESENSE since you are the author of that library, could you please help here?
Hi, @gcmurray1990 The LTE API is a method to request some to the user-sock daemon which is supporting LTE, like WAPI(Wireless API) of NuttX. And the user-sock daemon is provided for each network devices which is supporting TCP/IP protocol layer. Now, the LTE Usersock daemon in NuttX is only for Alt1250. So, as @acassis said, currently the lapi is only for Sony Alt1250 device.
Please see document below to find a network stack structure in NuttX. https://github.com/apache/nuttx/blob/master/Documentation/components/net/index.rst
With some changes, LTE lib works also with nrf91 (you just need to get rid of alt1250 specific code).
@raiden00pl did you get it working?
yes, but this lib is designed to work with socket interface, not a simple serial device. To make this work you have to implement usersock device with LTE_CMDID ioctls like here https://github.com/apache/nuttx/blob/07f0e0c166b8bf3c65561531c8ea7f87a1bb9b53/arch/arm/src/nrf91/nrf91_modem_sock.c#L479 (in this case lte_send_atcmd_sync() that uses LTE_CMDID_SENDATCMD is not supported)
Nice! Thank you @raiden00pl !!! Maybe it could be a reference for @gcmurray1990 !!!
Maybe we need some board profile example to nRF91, when I git grep CONFIG_LTE_LAPI it only returns boards/arm/cxd56xx/spresense/configs/lte/defconfig
@raiden00pl , @acassis , and @SPRESENSE Thank you all for being so helpful and looking into this. I appreciate everyone's time very much.
You are welcome, if you face some issue integrating usrsocket to support SIM7600G-H please let us know
I am using NuttX 12.2.1 on an stm32 nucleo f103rb with a SIM7600G-H to try to use an AT command (via the LTE library).
This is how I am using the AT command: int customhello_main(int argc, char *argv[]) { char respbuff[15]; int x = lte_send_atcmd_sync("AT\r", 3, respbuff, 15, 15); printf("%s", respbuff); printf("%d",x);
return 0; }
In summary I am just sending an AT command hoping to get “OK”, but instead am getting the error code -25 (inappropriate i/o for device). I tried finding more info on this error but it is very general.
How do I set up IO appropriately for AT commands and avoid these issues?
More details:
For configuration: I have GPIO debug features enabled. Under stm32 peripheral support, I have USART2 enabled for the SIM . Under I/O I have FILE stream enabled. Under networking, I have late driver init, udp, and tcp enabled. Under LTE I have deprecated API enabled.
I have tried using USART1 instead of USART2, but I am getting the same error.
Also, when running make, I am seeing this:
~~~~~~~~~~~ 111~~