Why my app can not communicate with an Ledger Embedded App?
For a wallet app to communicate with an Embedded App through a device, the same mode of transport must be implemented on each side. If the communication does not work, it may be because the transport is not implemented in the Embedded App. It happens rarely because the Makefile is inherited from the SDK which contains the transport declarations.
However, you may want to check what type of transport has been implemented in an Embedded App you can check in the Embedded App source code. For example, the Bitcoin App enables WebUSB transport and it is declared at the 277th line of the Makefile (opens in a new tab).
DEFINES += HAVE_WEBUSB WEBUSB_URL_SIZE_B=0 WEBUSB_URL=""