USRobotics USR5637 USB modem
Note
The USR 56K USB Modem, now with voice+, delivers the performance and reliability USR is known for, in a compact, flexible form factor. This controller-based modem integrates powerful communications processing functions into the modem itself, for assured performance without sapping your computer’s processing power. It is also broadly compatible across major operating systems including Linux, Windows and Macintosh (including Windows Server 2016, Windows 10+, Sierra, El Capitan, and Yosemite).
Documentation
- Datasheet, mirror.
- Install Guide, mirror.
- Mac 10.5 Configuration, mirror.
- USR 56K USB Modem Voice Commands
- USR 56K USB Modem Data and General Commands
Features
- Data: V.92, V.90, V.34, V.32bis, V.32, V.22bis, V.22, V.23, and V.21
- Data Error Control/Compression: V.44/V.42/V42bis and MNP2-4/5
- Fax: EIA 578 (Class 1) with V.17, V.29, V.27ter, Group 3
- ITU-T V.253 Command Set
- V.80 video conferencing support
- DTE interface: USB Version 2.0
- USB powered
- Typical current from USB supply = 240 mA (1.2W)
- Maximum current from USB supply = 360 mA (1.8W)
- Hayes Compatible
- 2 LEDs: Power, Data
- Phone line interface: One RJ-11 socket
Requirements
- Windows Server 2019, Server 2016, Server 2012 R2/Win 10+/Win 10+ 64 bit/Server 2012/Win 8/Server 2011/Win 7/Server 2008/Vista/Server 2003/XP/2000 (Unimodem TSP/TAPI compliant), Mac 10.4-10.12, and Linux 2.4.20 kernel or higher
- Intel Pentium III 600 MHz or equivalent, 128 MB RAM, 5 MB hard drive space
- USB port
- 2x or better CD-ROM drive
- Analogue phone line
Installation
Considering the modem is an external USB device, you just need to plug it into an empty USB port on your Nokia Booklet (or netbook of choice).
[1312209.305745] usb 4-2: new high-speed USB device number 8 using ehci-pci
[1312209.464946] usb 4-2: New USB device found, idVendor=0baf, idProduct=0303, bcdDevice= 2.00
[1312209.464966] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=10
[1312209.464977] usb 4-2: Product: USB Modem
[1312209.464987] usb 4-2: Manufacturer: U.S.Robotics
[1312209.464996] usb 4-2: SerialNumber: [REDACTED]
[1312209.472281] cdc_acm 4-2:2.0: ttyACM0: USB ACM device
To check if the Linux actually detects it and has a driver for it, run the following command:
$ lsmod | grep cdc
cdc_acm 32768 0
To identify the COM port associated with the modem, some more digging around is required:
# start by listing all the USB devices (list will be longer depending on the actual devices)
$ lsusb
Bus 004 Device 006: ID 0baf:0303 U.S. Robotics USR5637 56K Faxmodem
# so it's device 6 on bus 4
$ lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
|__ Port 2: Dev 6, If 0, Class=Communications, Driver=cdc_acm, 480M
|__ Port 2: Dev 6, If 1, Class=CDC Data, Driver=cdc_acm, 480M
# the driver for the bus 4 device 6 is cdc_acm
$ sudo dmesg | grep tty
[1312209.472281] cdc_acm 4-2:2.0: ttyACM0: USB ACM device
# and the COM port for the cdc_acm driver is /dev/ttyACM0. BINGO!
Now you can use any application that can interact with the COM ports and test your modem connection, I will use minicom
to test the connection with the USR5637 modem using the “AT” commands. Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems.
# First, make sure minicom is installed
$ sudo apt install minicom
# configure it
$ sudo minicom -s
# run it
$ sudo minicom
Welcome to minicom 2.8
OPTIONS: I18n
Port /dev/ttyACM0, 19:10:25
Press CTRL-A Z for help on special keys
AT
OK
In the configuration stage of minicom
, make sure you select the Serial port setup menu and change Serial Device to your actual device COM port (the one we discovered above, /dev/ttyACM0
in this case), also change Bps/Par/Bits to 9600 8N1
(baud rate is 9600, 8 bits per bytes, no parity, 1 stop bit).
The AT
command checks if the modem is alive and kicking.
Integrated circuits
- Macronix MX29LV040CTC-70G : FLASH - NOR Memory IC 4Mbit Parallel 70 ns 32-TSOP, datasheet
- LSI CV92-F100B : Complete Embedded Data Modem
Resetting the COM port
Sometimes, the modem becomes unresponsive, doesn’t respond anymore to the issued commands and most likely you have to reboot the OS to fix the problem. Or, you can use this small Python script to reset the COM port of the modem.
import subprocess
import os
import fcntl
def reset_device():
usb_dev_path = ""
proc = subprocess.Popen(['lsusb'], stdout = subprocess.PIPE)
cmd_output = proc.communicate()[0]
usb_device_list = cmd_output.split('\n')
for device in usb_device_list:
if 'U.S. Robotics' in device:
print device
usb_dev_details = device.split()
usb_bus = usb_dev_details[1]
usb_dev = usb_dev_details[3][:3]
usb_dev_path = '/dev/bus/usb/%s/%s' % (usb_bus, usb_dev)
try:
if usb_dev_path != "":
print "Trying to reset USB Device: " + usb_dev_path
usb_dev_file = os.open(usb_dev_path, os.O_WRONLY)
fcntl.ioctl(usb_dev_file, ord('U') << (4 * 2) | 20, 0)
print "USB Device reset successfully."
else:
print "Device not found."
except:
print "Failed to reset the USB Device."
finally:
try:
os.close(usb_dev_file)
except:
pass
reset_device()
Save the code to a reset_usb_device.py
file and run it with sudo.
$ sudo python reset_usb_device.py
Bus 004 Device 005: ID 0baf:0303 U.S. Robotics USR5637 56K Faxmodem
Trying to reset USB Device: /dev/bus/usb/004/005
USB Device reset successfully.
Drivers
Make sure you compare the SHA-256 hashes to make sure the files were not tampered with.
Windows
- USR5637Voice64bit.exe
SHA-256: c8dde2e8df3905231e53e653c7b30464a9254b05b227b54d855ed6b033521f14
Size: 433KB
64 Bit Driver for Windows XP, 2003, Vista, 2008, Win 7, Win 8, Server 2011, Server 2012, Win 10+, Server 2012 R2, Server 2016, and Server 2019 - USR5637Voice32bit.exe
SHA-256: b4039df3e1e5c811a8b34e61b22fe3a3d87f09ac15544877b692f3376829532e
Size: 429KB
32 Bit Driver for Windows XP, 2003, Vista, 2008, Win 7, and Win 8, and Win 10+ - USR5637_2K.zip
SHA-256: 4ab423d5f36c819b1f82bf9cd882f5db5350256f9f68b53e4fcd39325ea7ec15
Size: 9KB
Windows 2000 Driver
Mac
- USRobotics56KUSBModem.dmg
SHA-256: 9e8e836269ed9bdb0cdbb6f8b5c00d9cdb42f730d6c49e79497c6929888b9179
Size: 108KB
Mac OS X: Mac 10.4-10.12+ Modem Script
Firmware
- USRFlash_1.2.23.exe
SHA-256: 8fce5d9b22a7a6b551e43187a71115c8dd07f1e1ddcaf9ca15eaeef3a6f70983
Size: 427KB
Firmware Version 1.2.23, Windows flasher - USRFlash_1.2.23.zip
SHA-256: c8c7b3663015b089ffba20d85ed393610faa411675a903ef2d514f1b28a5d21e
Size: 281KB
Firmware Version 1.2.23, Linux flasher - USRFlash_1.2.23.dmg
SHA-256: b49a201186f27514597f885c3d4ee9ae0eb776e25f259582fcce6d0722919469
Size: 373KB
Firmware Version 1.2.23, Mac flasher