USB Dial Up Modem for Raspberry Pi

For the first time in probably 15 years, I find myself needing to use a modem. This time on a Raspberry PI.

I have a few old modems in the junk bin, but they need an RS232 serial interface which would be a pain to replicate on an RPI. So without much research I purchased a Hiro USB modem.

What I received was a USB “winModem”. It’s been so long since I have used modems I completely forgot about WinModems. To make these modems as cheap as possible, much of the signal processing was pushed off onto the host PC. These winModems require fairly sophisticated drivers.

Realizing this after I purchased a winModem, I tried unsuccessfully to find any kind of driver that might work.  The Hiro modem uses the Agere/Lucent chipset and there appears to be no Linux drivers for it anywhere.

Still wanting a USB modem, I did a little more exhaustive research. I’ve found two USB modems that are advertised to work under Linux: the TrendNet TFM-561U and the US Robotics model 5637 modem.

The tendnet modem is $20 verses $41 for the USR, so I went with the Trendnet. Plus I saw one very short blurb that someone had the trendnet working on a RPI.

Note, the Trendnet modem ends up not having a speaker in it. I cannot verify if the USR has one or not. Fortunately, I don’t care for my project.

Before trying the modem on a Raspberry Pi, I tried it on a laptop running linux Mint just to make sure everything worked properly before moving on to the RPI.

I plugged in the modem, verified it was seen in dmesg, lsusb, and the /dev directory. I then used putty to connect to serial port /dev/ttyACM0 it connected perfect on the first try and I was typing AT commands (note that echo is turned off by default on this modem and there is an invisible ATE1 command that got echo running for me).

(Click on this pic to make it big enough to read)


 Will the Modem Work on a Raspberry Pi?

I repeated the process, plugging the modem into my Raspberry Pi. The onboard power supply provided enough power to supply the modem.

Checking dmesg the modem is seen:


Checking lsusb, the modem is there:


and finally checking for the device:


I couldn’t get putty to work properly with my RPI because I access it via VNC. Turns out minicom is installed on the RPI by default, so I used that by typing:

sudo minicom -d /dev/ttyACM0

It brought up the modem and I was able to enter AT commands:


There you have it. Dial up modem access for a Raspberry Pi.

This entry was posted in c-rpi and tagged . Bookmark the permalink.

3 Responses to USB Dial Up Modem for Raspberry Pi

  1. Marlou Jasmin Madrio says:


    I’m very interested with this

    May I know what version OS you loaded to the Pi?

    I want to access the Pi remotely via Dial-up then do Telecontrol

    Marlou M.

    • Dan TheMan says:

      It has been so many years since I tried to connect 2 linux systems via dial-up I couldn’t possibly remember the trick. I’m sure you can find it somewhere on google, though. You need to create a PPP dial-up link between the machines so they are passing TCP. Once that is working, then remote control would work as it would over a LAN/WAN, just a lot slower.

  2. Michael Abel says:

    Awesome. I have a similar need to what Marlou describes. I have a need to be able to access computers on a remote LAN as backup in case Internet access is interrupted. So my plan was to place a Pi on that remote LAN with a dialup modem. If I need to access a PC on the remote LAN and regular Internet access there is down, I would dial into the Pi and connect to it. From there I could theoretically jump to any other computer on the remote LAN. Since they are all Linux and not Windows, I have no need for a GUI Remote Desktop – a terminal is sufficient for my needs. So now that you have shown the Pi can use a modem, I now just have to figure out how to implement RAS on the Pi so it will answer and connect a call into it. It has been decades since doing this and simply cannot remember how.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s