0

An Arduino Uno uses for the default USB communication either an FTDI chip in early versions or a microcontroller that emulates/replicates the FTDI chip communication.

Is this type of USB communications the same as the Conexxant CX930xx modems use as well?

What I want to achieve is to emulate the nessesary AT commands using the ATCommand library to replicate the modem's AT command instruction set. The things that I want to emulate are:

  1. The modem USB communication
  2. The subset of AT commands required for enabling/disabling an incomming call with Caller id
  3. Returning a "fake" incoming call with or without CallerId depending on the provided options from the PC via the AT commands

For the last two I can somehow manage. But I don't know whether the existing FTDI chip/USB microcontroller uses the nessesary protocols that modems use as well. I mean would it be enough if I just replace the hardware and vendor ID or do I need to emulate another type of USB communication as well?

The modem that I want to emulate is the: https://support.lenovo.com/us/en/solutions/pd003647-lenovo-usb-modem-overview

What I want to achieve is to fake an incomming call instead of using the actual modem. The reason why is, because I want to provide my own data towards modem-interfacing desktop application that use CallerId. Instead of using the actual modem I would love to have a fake one where I can emulate various scenarios.

asked Aug 11, 2022 at 19:31
3
  • What modem are you talking about. They also make modems that are RS232 which would be a bit easier to interface with. I would suggest using a Mega because it has a second serial port, other boards will work as well. Try these links they may have something you may like: radi.com/modular29.htm or radi.com/modular51.htm Commented Aug 11, 2022 at 20:15
  • I am talinkg for this modem easytechnology.gr/plerophorike-kai-tablet/upologistes/diktuaka/… It is a USB one and is used for CallerId applications. I want to emulate it and send to the PC fake incomming calls like a normal modem would do. Commented Aug 11, 2022 at 20:56
  • to the OS, the arduino looks like a serial port without a connected modem Commented Aug 11, 2022 at 21:40

1 Answer 1

1

Commonly USB modems use two layers of communication that are relevant for your issue.

  1. A virtual serial communication device, known as CDC/ACM, Communication Device Class, and Abstract Control Model, respectively.

  2. Modem control protocol, known as Hayes command set, vulgo "AT command set", on top of this.

Both layers are generally independent of each other. You can use the virtual serial communication for any other purpose. And you can transport the Hayes commands and replies over any other communication stream.

Most Arduino compatible devices reveal themselves as CDC/ACM to a PC, you can check this for example on Windows in the Hardware Manager. Therefore, the underlying transport layer exists for you.

But to answer your concrete question: No, the second layer (AT commands) is missing. It is not necessary for the upload process or the serial monitoring.

But you can write a sketch that implements that set of commands you would like use use for your application.

answered Aug 12, 2022 at 6:48
4
  • So I need to change the Vendor Id at Uno's Mega 16u2/8U2 and just make it to be seem as any modem I want to and via the sketch on MEGA 328p to emulate the AP command instruction set right; Commented Aug 12, 2022 at 7:10
  • In the comment above assume that I already have a sketch that emulates the hayes command set. Commented Aug 12, 2022 at 7:23
  • Yes, that should work. Does the PC application or the PC driver need this specific VID/PID to accept the device? CDC/ACM was meant to be VID/PID independent... Commented Aug 12, 2022 at 7:40
  • Well some applications that I need to use may require that (eg. during modem detection) Commented Aug 12, 2022 at 8:00

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.