Use the Serial Opel / Vauxhall OP-COM under Linux.

The Opel / Vauxhall OP-COM clone is not recognized by default under Linux due to differences in the vendor and / or product id of the device.

Using the ftdi_sio module I was able to connect the OP-COM device over a serial interface.
Loading the module itself was not enough though, I had to pass the vendor- and product ID to the ftdi_sio module using the new_id command.

I was able to mount the device automatically using a udev rule so that the device was correctly recognized when attached.
To do this, open a terminal with root access and open the following file with your favorite editor (for simplicity nano is used as example):

sudo nano /etc/udev/rules.d/99-usb-ftdi.rules

After the editor opens, paste in the following code (shift + insert after copying).

# Add FTDI support(FT232 & FT245) for the ELM327 OP-COM USB device
# containing Vendor ID: 0x0403 and Product ID: 0x4f50.

ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="4f50", RUN+="/sbin/modprobe ftdi_sio" RUN+="/bin/sh -c 'echo 0403 4f50 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id' "

Note that it is very important to replace the Vendor and Product ID with your own.
To be able to find those out, connect the OP-COM device and check the output of lsusb.

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 04f2:b270 Chicony Electronics Co., Ltd
Bus 001 Device 003: ID 138a:003d Validity Sensors, Inc. VFS491
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0403:4f50 Future Technology Devices International, Ltd
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Carefully look at the output above.

The first stated number in my output is 0403, this means that the OP-COM vendor ID is 0x0403.
The second stated number is 4f50, this finally means that the device Product ID is 0x4f50.

Finally to apply the changes made in the /etc/udev/rules.d/ directory, the udevadm should be restarted.
To do this, run the following command or execute a regular reboot.

udevadm control --reload-rules && udevadm trigger

Once you disconnect and reconnect the Opel / Vauxhall OP-COM to your linux computer it should be recognized this time.
Sample DMESG output for my setup:

[ 3750.309319] usb 3-4: new full-speed USB device number 3 using xhci_hcd
[ 3750.455611] usb 3-4: New USB device found, idVendor=0403, idProduct=4f50
[ 3750.455617] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3750.455620] usb 3-4: Product: OP-COM USB V2
[ 3750.455623] usb 3-4: Manufacturer: AUTO-M3 Ltd.
[ 3750.455625] usb 3-4: SerialNumber: FTXKKRIK
[ 3750.488284] usbcore: registered new interface driver usbserial_generic
[ 3750.488294] usbserial: USB Serial support registered for generic
[ 3750.491884] usbcore: registered new interface driver ftdi_sio
[ 3750.491898] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 3750.494285] ftdi_sio 3-4:1.0: FTDI USB Serial Device converter detected
[ 3750.494321] usb 3-4: Detected FT232RL
[ 3750.494508] usb 3-4: FTDI USB Serial Device converter now attached to ttyUSB0

Because the OP-COM device is now read using the ftdi_sio module instead of a XHCI Host Controller (xhci_hcd) module,
a new usb serial device named ttyUSB0 is created.

Soon I will create a post containing code and information to retreive information from a connected OBD(2) interface.
As for now I am pretty sure the official software would work using WINE without any problems but I haven't tried this yet.

Kernel: 4.16.7-1-ARCH (Arch Linux) x86_64.

Feel free to ask for help.

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.