# MODBUS over usb

**URL:** <https://forum.universal-robots.com/t/modbus-over-usb/1047>\
**Category:** Robot Communication\
**Created:** [August 9, 2017, 9:12am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047 "2017-08-09T09:12:23Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon28553715](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@anon28553715](https://forum.universal-robots.com/u/anon28553715)\
**Post date:** [August 9, 2017, 9:12am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/1 "2017-08-09T09:12:23Z")

</div>

Hello,

I understand one can use modbus over ethernet in UR, but I’m just wondering why there is no “native” (io) modbus support ?

How about using USB modbus dongle/adapter, is it supported and/or recommended ?

Thank you for your kind response.

- an UR newbie

---

<div class="post-metadata">

**Author:** ![mmi](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/mmi/32/691_2.png) [@mmi](https://forum.universal-robots.com/u/mmi)\
**Post date:** [August 14, 2017, 8:44am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/2 "2017-08-14T08:44:30Z")

</div>

Natively modbus protocol is supported over Ethernet TCP/IP only. You either need modbus TCP/IP to serial converter or you have to write URCap with driver, and protocol implementation yourself.

---

<div class="post-metadata">

**Author:** ![anon28553715](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@anon28553715](https://forum.universal-robots.com/u/anon28553715)\
**Post date:** [August 25, 2017, 1:15am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/3 "2017-08-25T01:15:06Z")

</div>

Thank you for your reply.

In case I need to compile linux kernel driver for UR, where can I get the necessary kernel-sources and/or its related header to compile kernel module ?  
(Inside/outside kernel tree module compilation is fine for me.)

---

<div class="post-metadata">

**Author:** ![mmi](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/mmi/32/691_2.png) [@mmi](https://forum.universal-robots.com/u/mmi)\
**Post date:** [August 25, 2017, 8:25am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/4 "2017-08-25T08:25:08Z")

</div>

By “driver” I assumed native or python daemon that actually uses existing linux drivers for USB dongle. I suppose that most USB dongles will show up as ttySxx device. Then you can use udev rules to symlink your dongle VID:PID to specific device names that you can later enumerate from daemon.

Modifying kernel is not supported or encouraged.

---

<div class="post-metadata">

**Author:** ![anon28553715](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@anon28553715](https://forum.universal-robots.com/u/anon28553715)\
**Post date:** [August 25, 2017, 9:22am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/5 "2017-08-25T09:22:57Z")

</div>

Thank you for your information.

Nevertheless I have USB-modbus device that needs ch341 kernel module.

> <https://github.com/torvalds/linux/blob/master/drivers/usb/serial/ch341.c>

Any suggestion how I can do that ?

Update:  
I just saw your references to all the kernel sources and its related patches as general references, but kernel (patched) sources specifically to reproduce the linux kernel used in UR Robots are not available to end users, are they ?

---

<div class="post-metadata">

**Author:** ![m.firdausza](https://avatars.discourse-cdn.com/v4/letter/m/dbc845/32.png) [@m.firdausza](https://forum.universal-robots.com/u/m.firdausza)\
**Post date:** [November 1, 2017, 7:30am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/6 "2017-11-01T07:30:14Z")

</div>

Hi everyone. I would like to ask regarding external connection to UR robot. Does UR robot allow communication to external device using RS232? If yes can i use an external USB to serial converter cable. Thank you.

---

<div class="post-metadata">

**Author:** ![anon28553715](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@anon28553715](https://forum.universal-robots.com/u/anon28553715)\
**Post date:** [November 1, 2017, 7:57am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/7 "2017-11-01T07:57:09Z")

</div>

USB Serial based on FTDI chips seem to be supported by linux kernel in CB3.  
You can access the serial port just like under usual linux using urcap daemon .

---

<div class="post-metadata">

**Author:** ![m.firdausza](https://avatars.discourse-cdn.com/v4/letter/m/dbc845/32.png) [@m.firdausza](https://forum.universal-robots.com/u/m.firdausza)\
**Post date:** [November 2, 2017, 1:03am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/8 "2017-11-02T01:03:31Z")

</div>

Hi Effendi, thanks for your feedback. Can you further explain on how to access the serial port using URcap? Is there any available file/driver for that? Thank you.

---

<div class="post-metadata">

**Author:** ![anon4322926](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@anon4322926](https://forum.universal-robots.com/u/anon4322926)\
**Post date:** [November 2, 2017, 3:09am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/9 "2017-11-02T03:09:54Z")

</div>

It can be done via python using XMLRPC, installing of pyserial library is needed.

---

<div class="post-metadata">

**Author:** ![anon94763411](https://avatars.discourse-cdn.com/v4/letter/a/3e96dc/32.png) [@anon94763411](https://forum.universal-robots.com/u/anon94763411)\
**Post date:** [February 7, 2019, 10:18am UTC](https://forum.universal-robots.com/t/modbus-over-usb/1047/10 "2019-02-07T10:18:34Z")

</div>

Hello Colin,

I am new to this concept of using Pyserial. Can you please put an example and explain how you have done communication?  
Thank you
