Diamond Supra Express 56i-Sp modem setup for Linux

Disclaimer: The content of this web site is provided for information purposes only. No claim is made as to the accuracy or authenticity of the content of the web site. The author does not accept any liability to any person for the information or advice (or the use of such information or advice) which is provided on this web site or incorporated into it by reference. The information on this web site is provided on the basis that all persons accessing the site undertake responsibility for assessing the relevance and accuracy of its content.
Trademarks: If certain words are trademarks, the context should make it clear to whom they belong. For example "MS Windows" (or jusDiamond Supra Express 56i-Sp Modem Setup for Linuxt "Windows") implies that "Windows" belongs to Microsoft.

This web page is intended to help people trying to set up a Diamond Supra Express 56i Sp modem from the Linux operating system running on IBM or compatible Personal Computers. This page is based on my own experience in setting up such a modem (FCC ID 4V4USA-24801-M5-E, Model 2084, SupraExpress 56i Sp). These instructions might equally well apply to ISA PnP modems other than the one mentioned.

Assumptions: There are a couple of assumptions I have made about the modem and the computer on which the modem is installed :

  • The Modem is configured to support Plug And Play (PnP) : This is ensured by checking that the corresponding jumper on the modem is in the position to enable PnP. The manual which is supplied with the modem specifies the jumper number and position (open or closed) for the modem to be in PnP mode. Please make sure that the modem is configured to be PnP compatible before proceeding with this guide.

  • The modem works from Windows : I also assume that the modem resides in a computer which also runs Windows (in addition to Linux), and that the modem works perfectly from Windows. If that is not the case, i.e. the computer has no Windows partition, then you could try the values from my /etc/isapnp.conf file, which might or might not work on your computer.

  • BIOS PnP Configuration is turned OFF : For PnP compatible BIOSes, there is an option in the BIOS setup (in a menu like PnP/PCI Settings, Advanced or Chipset settings) to turn PnP configuration from BIOS off. Please ensure that this is set to OFF (or Manual, or Disabled, or None etc. as applicable). This will leave the initialization of PnP devices on your system to the operating system, instead of the BIOS coming in and initializing the devices before booting the the operating system. We want Linux to configure the PnP devices on your system, not the BIOS.

Procedure: Follow these steps to configure your SupraExpress 56i Sp modem to work from Linux.

  • Note down the Base IO Address, IRQ and DMA Channel number of all devices from Windows Control Panel -> System -> Device Manager

  • Note down which COM port Windows uses for the modem (e.g COM3) from Windows Control Panel -> System -> Device Manager -> Modem

  • Boot into Linux

  • Log in as root

  • Execute the command
    pnpdump > /etc/isapnp.conf

  • Edit the file /etc/isapnp.conf and uncomment the lines corresponding to the values of I/O address, IRQ and DMA for the devices noted down from Windows. Also uncomment the lines reading (ACT Y) for each device. To uncomment a line, delete the pound (hash) symbol ("#") at the beginning of the line.

  • RedHat 5.2, Linux-Mandrake 5.2 and later users : Add the following line at the top of the file below the line reading (ISOLATE CLEAR) :
    If you cannot see the line (ISOLATE CLEAR) but there is a line (ISOLATE PRESERVE), change the PRESERVE to CLEAR first. This will cause all the Pnp devices to reset while booting.

  • Execute the command
    isapnp /etc/isapnp.conf
    to initialize your PnP devices according to the information provided in /etc/isapnp.conf

  • Execute the setserial command to configure the COM port on which the Modem is connected. Possible COM port names are /dev/cua0 (COM1), /dev/cua1 (COM2), /dev/cua2 (COM3), /dev/cua3 (COM4) etc. The syntax of the setserial command is :
    setserial <device> port <IO Port Address> irq <IRQ number> uart <UART chip ID>
    where device is the COM port /dev/cuan, Port Address is the IO Address which can be expressed in decimal or in hex with prefix 0x, IRQ is the IRQ used by the modem, and UART chip ID is the number of the chip used for serial communication by the PC hardware, typically 16550A. As an example, the setserial command I use is
    setserial /dev/cua2 port 0x03e8 irq 12 uart 16550A

  • Set a link to the serial port device /dev/cuan from the device /dev/modem :
    ln -s /dev/cuan /dev/modem

  • Execute
    minicom -s
    and configure minicom to use the device /dev/modem. Then try the AT command in the minicom terminal. Your modem should respond with OK.

  • Add the setserial command to the end of the file /etc/rc.d/rc.local so that it executes each time you boot Linux.


More Information

JavaScript DHTML Menu Powered by Milonic (License)