Solved Hardware serial port - cannot open?

eee2015

New Member


Messages: 16

#1
On a PC with FreeBSD 10.2 i386 I have a single hardware serial port, that seems to be detected:
Code:
grep uart dmesg.boot
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
But, when I try to connect to it with cutecom (as root), I get: Error could not open /dev/cuaU0

ls /dev shows cuau0 , cuau0.init and cuau0.lock . There are no cuaU* files.

When I plug in an FTDI USB serial adapter, ls /dev shows that the cuaU0* files appear, and I can connect to /dev/cuaU0 and communicate with the USB serial port using cutecom.

I need to use the hardware serial port, what should I do to make it work?
Thanks
 
OP
OP
E

eee2015

New Member


Messages: 16

#3
No, cutecom has the default device /dev/cuaU0 and I can't change it to /dev/cuau0 , it gets overwritten to cuaU0 in the GUI everytime. I know in UNIX the case is important, but I thought for serial ports it's equivalent... don't know how to change it in cutecom.
Actually I don't know why the USB serial port has the number 0 like the real port, maybe virtual ports are /dev/cuaU*
and real ports /dev/cuau* ?
 
OP
OP
E

eee2015

New Member


Messages: 16

#6
I would prefer a GUI because I connect to a development board to configure it, not to a normal computer -- I'm only using TX and RX pins, without any flow control.
 

chrbr

Aspiring Daemon

Thanks: 229
Messages: 634

#7
For such kind of tasks I use Tcl/Tk a lot. Using python has a more modern touch. But the GUI stuff is not as simple as with Tcl/Tk. If you often face a situation as above learning such a scripting language pays back for sure.
 
OP
OP
E

eee2015

New Member


Messages: 16

#8
Thanks for the recommendation, actually I used pyserial a few times before but it's overkill for just sending a few commands.

It seems cutecom only accepts /dev/cuaU* devices, but strangely accepts other strings, so I linked com1 to cuau0 with ln -s , entered /dev/com1 in cutecom, and now it works.
 

tobik@

Daemon
Developer

Thanks: 1,341
Messages: 1,909

#10
Thanks for the recommendation, actually I used pyserial a few times before but it's overkill for just sending a few commands.

It seems cutecom only accepts /dev/cuaU* devices, but strangely accepts other strings, so I linked com1 to cuau0 with ln -s , entered /dev/com1 in cutecom, and now it works.
:beer: Make sure to add an entry to /etc/devfs.conf, so that the link survives a reboot (see devfs.conf(5)).
 

balanga

Daemon

Thanks: 86
Messages: 2,211

#11
The /dev/cuaU? devices are created by ucom(4) whereas /dev/cuau? devices are created by uart(4).
I've just come across this thread and maybe it might explain a problem I'm having....

I've never heard of uart(4) but maybe I should be using it. The problem I'm having is being unable to communicate with an X10 device - a CM12U, using a program called heyu, but only when using FreeBSD. I can access this unit using heyu from Linux, so that indicates the program and hardware actually work. The FreeBSD maintainer of the pkg insists that the serial driver should be /dev/cuau0, but on my system /dev/cuaU0 gets assigned as soon as I plug in the USB-Serial adapter.

uart(4) says:
DESCRIPTION
The uart device driver provides support for various classes of UARTs
implementing the EIA RS-232C (CCITT V.24) serial communications inter-
face.
so Im wondering if I'm using the wrong driver.... Any thoughts?
 
Top