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.