I have programmed Arduino to respond simple commands via USB. Unfortunately, I can't find it and can't communicate with it.

My usbconfig returns following:

ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen4.1: <EHCI root HUB Intel> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen3.1: <UHCI root HUB Intel> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen3.2: <USB-Serial Controller Prolific Technology Inc.> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen2.2: <USB2.0-Serial vendor 0x1a86> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (96mA)

Is there Arduino among above?

When I try something like

screen /dev/ugen2.2

I have screen exiting immediatedly.


Experimentally I found that

ugen3.3: <USB2.0-Serial vendor 0x1a86> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (96mA)

appears and disappears according to whether I have connected arduino or not.

Unfortunately command

screen /dev/ugen2.3 9600

exits with saying

'/dev/ugen3.3' is not a tty                                                                                                                                     Sorry, could not find a PTY or TTY.
  • 1
    Are you using serial over USB? Then the device node you need is /dev/ttyU0 – arrowd Jan 6 '18 at 17:57
  • I don't know what I am using. Arduino has USB socket and while programming on windows, it was visible as COM5 port. No software was unstalled on FreeBSD. When connecting to ttyU0 I see garbage constantly printing. This is probably USB GPS device working which is probably connected to first port. Is it possible to identify connected devices in FreeBSD programmatically? – Dims Jan 6 '18 at 18:03
  • You may see garbage because you chose wrong port speed. As for identifying devices, try using usbconfig utility. – arrowd Jan 7 '18 at 9:09

Try kldload uftdi (according to internet research arduino uses FTDI serial chips) or kldload uplcom (Your output reported an Prolific serial adapter) to get a tty. Later use screen on /dev/ttyU0 as written in the comments

Another choice is to install uarduno if it is an arduino Uno


An Arduino Uno will show as /dev/cuaU0. You might have to change the board ID in ids.txt to 0x0043. You need to add yourself (the user) to the dialer group for this to work, too. Don't forget to login/logout for that to take effect.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.