EzDevInfo.com

modem interview questions

Top modem frequently asked interview questions

Virtualbox: "USB device in use by someone else" error, how to make (mac) host let go? [closed]

I'm trying to set up a USB Fax Modem in Ubuntu through Virtual Box but I'm not sure how to do so.

Host OS = Mac OS X
Virtual Box Guest OS = Ubuntu 12.04
56k USB Fax/Modem = Lenovo 43R1786 (43R1815) by Conexant

On the host os, I can see /dev/tty.usbmodem24680241. I enabled USB Controller, and found my modem as "Conexant USB Modem", so I enabled that. Now, when I run the guest OS, and from the Virtual Box menu for that OS, I go to Devices > USB Devices > Conexant USB Modem, it says:

Failed to attach the USB device Conexant USB modem to the virtual machine Ubuntu32. USB device is in use by someone else. Looks like it means that the host (mac) grabbed the device first. How can I get it to let go so the guest can use it? Am I setting it up the right way?

Thanks!


Source: (StackOverflow)

Programming huawei E220

I have a 3G Huawei E220 modem. How can I programme or interact with the modem from c# or vb.net. I've tried looking if there's some sort of sdk or api but have not been able to find anything. Can someone tell me how to get started with this. I'd like to able to inisiate a connection and then log tranfer statistics. There's a network connection setup for the modem in "Network and Sharing Center" in windows, so could I somehow use that or do I have to send the commands to the modem?

Thanks


Source: (StackOverflow)

Advertisements

How to communicate with USB 3G modem?

I have a D-Link DWM-156 3G USB modem that I want to send AT-commands to from my application (C# .NET 4.0 running on Windows XP SP3).

After plug-in and installation of drivers the modem shows up like this:

In Device Manager, two serial ports are added:

  • D-Link HSPADataCard Diagnostics Interface (COM4)
  • D-Link HSPADataCard NMEA Device (COM5)

In Control Panel, Phone and Modem Options, a new modem is added:

  • D-Link HSPADataCard Proprietary USB Modem (attached to COM19)

QUESTION: Which com port should I use to send AT-commands, and at which speed?


I have tried all three ports at different speeds, but with no luck whatsoever.

In order to learn, I then installed the "Free Serial Port Monitor" sniffer app, hoping to be able to monitor the communication with the D-Link ustility as it opens and closes the internet connection (which works OK).

On start, the sniffer app asks me which port to monitor and offers me the following port names to choose from:

  • "Agere Systems HDA Modem",
  • "D-Link HSPADataCard Proprietary USB Modem",
  • "COM3",
  • "COM4",
  • "COM5"
  • ...and several more, including "COM19".

Choosing the "D-Link..." name works OK, now I can watch all the AT commands being used as they happen, but I cannot determine at which baud rate the port is used. Further, neither COM4, COM5 or COM19 works for sniffing this way (nothing seems to happen on those ports).

Now I would like to use the SerialPort class in .NET to open the "D-Link..." port and talk with the USB modem, but the SerialPort class requires the port name to start with "COM", otherwise an exception is thrown. But none of the ordinary COM-ports work. And I still don't know which baud rate to use. I'm pretty much confused and locked up here - what could I do to get to the bottom of this?


Source: (StackOverflow)

create a dialtone from 56k modem

Ok, everybody get in your wayback machine. I need to have a phone dial into my computer's 56k modem. I need my computer to have the modem "on" and have an active dialtone. Here is why: I have a sump pump alarm that will call me on a pump failure. It only works with a landline. I want to stop paying for my landline to save money and just have my cell. My idea is to intercept the outbound caLL from my sump alarm on my pc's 56k v90 modem. Then I can text message, email,etc... for free.

Does anybody know how to get started? I have found plenty of stuff on how to make outbound calls from my pc, but I want a phone (device) to dial my pc. I think the sump alarm will not dial unless it hears a dialtone.

I prefer a C# or vb6 program, but willing to go with anything. I have some experience working with serial comm devices so I just need to be pointed in the right direction.

Thanks!!!


Source: (StackOverflow)

playing WAV file over GSM modem

I want to play a WAV file over GSM modem. Here is my sample code

private final int BUFFER_SIZE = 8;
private File soundFile;
private AudioInputStream audioStream;
private AudioFormat audioFormat;
public void playSound(String filename) throws IOException{

    String strFilename = filename;

    try {
        soundFile = new File(strFilename);
    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    }

    try {
        audioStream = AudioSystem.getAudioInputStream(soundFile);
    } catch (Exception e){
        e.printStackTrace();
        System.exit(1);
    }

    audioFormat = audioStream.getFormat();

    DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);

    int nBytesRead = 0;
    byte[] abData = new byte[BUFFER_SIZE];
    while (nBytesRead != -1) {
        try {
            nBytesRead = audioStream.read(abData);
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (nBytesRead >= 0) {
            outputStream.write(abData, 0, nBytesRead);
            outputStream.flush();
        }
    }
}

But the problem is the WAV file sending through serial port is playing very fast. I don't know what's the problem . Here is my WAV file description:

ULAW 8000.0 Hz, 8 bit, mono, 1 bytes/frame, Audio Sample Rate 8Khz.

Can anyone help me to solve the issue?


Source: (StackOverflow)

Giving PHP permission to access COM port

I'm creating a php script that connects to a 3G modem connected via serial connection on COM5.

I'm getting the following error and I believe it is because php does not have r/w access to COM5:

Warning: fopen(COM5:) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\SMStest\test2.php on line 9

// mode com1: BAUD=9600 PARITY=N data=8 stop=1 xon=off
$fp = fopen ("COM5:", "w+");
if (!$fp) {
    echo "Uh-oh. Port not opened.";
} else {
    $e = chr(27);
    $string  = $e . "A" . $e . "H300";
    $string .= $e . "V100" . $e . "XL1SATO";
    $string .= $e . "Q1" . $e . "Z";
    echo $string;
    fputs ($fp, $string );
    fclose ($fp);
}

Source: (StackOverflow)

Make Phone Connected to Modem Ring

I have an old landline phone and am looking for a way to make it ring when it's connected to the modem of my home server. I want to use it as a notification when a build is broken and stuff like that. Like most modems, the one in my server has two line jacks, one for data and one for a phone. Since I can only programmatically manipulate the data line, I'm guessing I'm going to have to plug the phone into the data line and simulate a connection somehow but that's where I'm drawing a blank.

I've read up on phone phreaking and telephone ringing circuits but I'm not real sure how that would translate to code, if at all. I can't imagine I'm the only one to think about this so I'm guessing it's either not possible or too hard to be practical. Any help is great. Thanks.


Source: (StackOverflow)

Programmatically dial a series of numbers on a modem?

At work, we just got a large number exotic cellular devices that need to be programmed. To do this, you plug in a standard home telephone and dial a series of numbers, with pauses between them.

To me, this is a task that begs to be automated, and we've got one Linux desktop (a test Asterisk machine) with a modem on it.

So, how can I automate this task?


Source: (StackOverflow)

Serial communication API for Java on 64 bit systems (modem interaction)

I'm searching for an serial communication API for Java. Very important is the support of 64 bit systems. I've used rxtx with the 64 bit libs of Cloudhopper but on some Windows Server 2008 systems I got heavy problems with jvm crashes when accessing (virtual) serial ports.

The main purpose is interacting with analogue modems, maybe there is another way of modem communication in Java?

It would be very nice if the API is free of charge.


Source: (StackOverflow)

Why GPRS modem provides embedded TCP/IP stack

My colleague and I are mining the GPRS MODEM market for a module suitable for use with embedded Linux. During the market scan, we see that several vendors highlight that their MODEMs include an embedded TCP/IP stack.

This makes me wonder: when we are using embedded Linux which already contains a TCP/IP stack and connects using PPP, will it make use of the stack included in the GPRS MODEM at all?

My current assumption is that the stack is included for use with tiny microcontroller OS that do not supply their own stack. Also some of the MODEMs allow for running small applications IN the MODEM baseband processor which could explain the embedded stack...

So: is the TCP/IP stack supplied by the GPRS MODEM superfluous when using it with an HL OS or did I overlook something?


Source: (StackOverflow)

Is there a reply to AT+GCAP & co. to tell "I'm not a modem, go away"?

I'm working on the firmware of a device that is going to be connected to PCs using Bluetooth in serial port emulation mode.

During testing, I found out that modem-manager on Linux "helpfully" tries to detect it as a modem, sending the AT+GCAP command; to this, currently my device replies with something like INVALIDCMD AT+GCAP. That is the correct response for my protocol, but obviously isn't an AT reply, so modem-manager isn't satisfied and tries again with AT+GCAP and other modem-related stuff.

Now, I found some workarounds for modem-manager (see here and thus here, in particular the udev rule method), but:

  • they are not extremely robust (I have to make a custom udev rule that may break if we change the Bluetooth module);
  • I fear that not only modem-manager, but similar software/OS features (e.g. on Windows or OS X) may give me similar annoyances.

Also, having full control over the firmware, I can add a special case for AT+GCAP and similar stuff; so, coming to my question:

Is there a standard/safe reply to AT+GCAP and other similar modem-probing queries to tell "I'm not a modem, go away and leave me alone?"


Source: (StackOverflow)

Initializing COM port of USB Modem

I am using GsmComm to connect to usb modem. The com ports for the modem I am using doesn't show up in device manager when I initially connect the modem to the computer. Computer shows it as a removable drive. However, when I run the application provided with the modem the com ports show up in device manager.

So every time I want to use the device with my application, I have to first connect it to the pc, run their software to initialize the com ports, and then run my application.

But is there any way to initialize the com ports from my application with C#?

I have read something about creating virtual com ports to connect to usb devices, but I have no idea how to do it. Any help or pointers will be highly appreciated.

Update 14 Feb 2016

I followed antiduh's answer and found that the device is recognized as a cdrom when first connected.

enter image description here

After running their application the link changes to harddiskvolume -

enter image description here

and three new com links are created.

enter image description here


Source: (StackOverflow)

Suitable Android device for engineering project

I'm working on an Android application that can get low level information from a GSM modem. It depends on sending AT-Command to the modem and receive the answer. The application is done but there seems to be a problem with the device.

Most of the commands return error, that means the modem's manufacturer locked these engineering commands.

I wonder if there is a mobile device that's permit for the engineering purpose and let me send all AT-Commands I want.

note1: my mobile is Samsung Galaxy Win Duos.

note2: maybe there is an other way to get low level info. I saw this link. and it get every thing in GSM modem even L3 message.

Conclusion:

I want a mobile name that run all AT-Command (is nexus work for this app?) or an other way to get these info.


Source: (StackOverflow)

What is the best design for polling a modem for incoming data?

I have a GSM modem connected to my computer, i want to receive text messages sent to it using a python program i have written, am just wondering what is the best technique to poll for data.

Should i write a program that has a infinite loop that continuously checks for incoming sms's i.e within the loop the program sends the AT commands and reads the input data. or do modems have a way of signaling an application of an incoming data(sms).

Am trying to imagine a cellphone is just a GSM modem, and when an sms is received, the phone alerts you of the event, or does the phone software have an infinite loop that polls for incoming data.


Source: (StackOverflow)

How to get the SIM number (ICCID) of a modem using AT commands

I'm trying to get the SIM number (ICCID, not IMSI) of my 3G Huawei E5830 modem using AT commands (also called Hayes command set).

Unfortunately, it's not specified in the modem formal documentation.


Source: (StackOverflow)