First Steps
Host Connection
The MDB-USB interface is connected to the host via a USB 2.0 interface OR (MDB-USB plus or ultra only) via an RS-232 serial port.
To use the serial interface on the MDB-USB plus or ultra, you must first connect via the USB interface and set a baudrate for it. For details, check the configuration setting 'Serial' in the API docs.
USB
The MDB-USB Interface will be recognized by the USB-Host with:
- Vendor ID: 16d0
- Product ID: 0bd7
This devices use an ASCII based protocol (see API section) and to communicate with them, one must open a serial port by means of a standard terminal program (putty, minicom, termite...) or, if you are developing an application, use some library to do this for you. NO binary handling of data is required.
Since software version 2.0, we have implemented an "advanced communication modem" (ACM) and this devices work driverless with most common operating systems, including MacOS, Windows and Linux (and Variants like Raspbian and even Win10 IoT Core).
To communicate with the MDB USB interface on Android devices, it is necessary to import/include the CDC Library.
Windows 7 was discontinued by Microsoft and unfortunately did not possess any driver for ACM devices, which means MDB-USB Interfaces are not compatible with Windows 7.
Linux
On a typical Linux system the device should work driverless, without any manipulation of the OS and show up as a /dev/ttyACMx device (x being 0,1...) automatically. You can check which port was assign to your device by issuing the following command:
$ ls /dev/tty*
If there is no ACM driver loaded and if you want to address the device via the common usb serial generic driver, you could assign the serial driver to the PID/VID of the device as following:
sudo echo "16d0 0bd7" > /sys/bus/usb-serial/drivers/generic/new_id
sudo modprobe usbserial vendor=0x16d0 product=0x0bd7
Then the device will typically show up as /dev/ttyUSBx.
Make sure to run the above commands with root privileges.
Disable Modem Manager
Since the MDB-USB is recognized as an ACM (Abstract Control Model) device, the host may think it is a modem and will start sending AT commands which may mislead the communication with the device. Therefore, one should send one of the following command to stop that native feature.
If you have no modem installed in your system, the easiest thing to do is to stop or remove Modem Manager service:
sudo systemctl stop ModemManager.service #Must be issued at each boot
sudo apt-get purge modemmanager #completely removes modem manager and its configuration
If you do have such a modem, then you can add an udev rule to signal to ModemManager that this device is not a modem and that it shouldn't even probe it:
1) In your host machine go to /etc/udev/rules.d
2) Create a file called 98-mdbusb.rules
2.1) Content of the file:
ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0bd7", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0bd7", ENV{ID_MM_TTY_BLACKLIST}="1"
ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0bd7", ENV{MTP_NO_PROBE}="1"
ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0bd7", ENV{ID_MM_PORT_IGNORE}="1"
ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0bd7", ENV{ID_MM_TTY_MANUAL_SCAN_ONLY}="1"
3) Save the file
4) sudo udevadm control --reload-rules
5) sudo systemctl restart ModemManager.service
MacOS
The only difference from what was mentioned above is that in a standard macOS computer, the MDB-USB appears as /dev/ttyusb.modem
Also, to stop or remove modem manager service:
sudo launchctl stop ModemManager.service #Must be issued at each boot
sudo purge modemmanager #completely removes modem manager and its configuration
Windows
In Windows, the device will also work driverless and should be detected as an "COM" device, so it will automatically be shown as a USB serial port !
Recent versions of the MDB Toolchest will support that method, and it is the recommended interface method for you if you want to write your own software.
ONLY if you have a device with version 2.0 or older and wish to continue with and old version, you will need to follow those instructions below, nevertheless, consider upgrading the firmware (see Firmware section).
We strongly advise to always have the latest firmware version on our MDB devices! Moreover, we will not support provide support for versions prior to 3.3.X .
Zadig Driver Installation (Windows only, not mandatory)
This section is not part of the usual device setup. As stated above, our devices typically do not need any driver installation to be recognized by Windows. This section should only be considered if:
1 - By any reason the wrong driver has been installed (windows does not do that on its own).
2 - The MDB-USB is running Firmware Version 2.0 or older.
1.Download Zadig tool from https://zadig.akeo.ie/

2. Run Zadig (make sure you run it as an administrator) with device connected to the PC. Select Options in the top bar and then click on List All Devices

3.Now you will just select MDB-USB in the top drop-down and select USB Serial (CDC) from the spinner underneath. Then the only thing you need to do is hit Replace Driver and let Zadig do its magic.

4. Finished! Just start MDB Toolchest (or any other application that you want to use with the device) now and the device should work as expected!