Hello Tomasz and Petter,
Thank you for your replies. Still working on this:
I installed the arduino package on an 11.3-RELEASE system. When
it comes up, the Tools/Serial Port menu item is greyed out,
apparently because it doesn't know USB ports serve as com ports,
or for some reason it can't find them. Is this something I need
to configure somehow? Is this something that should be filed as
a bug?
...
Did you check the permissions on /dev/usb/XXX ?
These are all set to crw-------
I tried changing all to crw-rw-rw- but still no arduino success
And output from usbconfig
# usbconfig -d ugen6.2 dump_device_desc
ugen6.2: <Arduino www.arduino.cc product 0x0043> at usbus6, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON (100mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0110
bDeviceClass = 0x0002 <Communication device>
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0008
idVendor = 0x2341
idProduct = 0x0043
bcdDevice = 0x0001
iManufacturer = 0x0001 <Arduino (www.arduino.cc)>
iProduct = 0x0002 <retrieving string failed>
iSerialNumber = 0x00dc <75833353934351E05231>
bNumConfigurations = 0x0001
...
As HPS noted in the first place check if you have valid permissions
that allow you to read/write from/to usb device. I did a hint at the
OpenOCD port:
/usr/ports/devel/openocd/pkg-message
To allow an ordinary user to acces any of the the hotplug USB
interface add him/her to the operator group (pw groupmod operator -m
username), then setup the devfs subsystem by adding these lines to
the following files:
***/etc/devfs.rules: [localrules=10] add path 'ugen*' mode 0660 group
operator add path 'usb/*' mode 0660 group operator add path 'usb'
mode 0770 group operator
***/etc/rc.conf: devfs_system_ruleset="localrules"
$ cat /etc/rc.conf | grep devfs
# allow local rules as specified in /etc/devfs.rules (5)
devfs_system_ruleset="localrules"
$ cat /etc/devfs.rules
# Allow operator group to mount USB devices
[localrules=5]
add path 'da*' mode 0660 group operator
# for arduino hotplug USB
add path 'ugen*' mode 0660 group operator
add path 'usb/*' mode 0660 group operator
add path 'usb' mode 0770 group operator
Do I need to restart after changing devfs.rules?
That would be a bit painful at the moment; already works for
devices like camera and usb sticks but they are da* devices.
I use MINICOM as the Terminal emulator. Type Ctrl+A then Z for
command menu. Note that you will have to create a configuration for a
given port in the first place (as root type `minicom -s /dev/cuaU0`
set valid port name and parameters then save as the default
configuration for that port).
I don't understand the need for MINICOM. I currently use xterm.
Will that work for the print output?
I did not use that particular Arduino utility, but there may be a
chance that it was written for Linux and it may suggest port name
like /dev/ttyUSB0 instead /dev/cuaU0 as it is used in FreeBSD.
The "Serial Port" menu item is greyed out, as if it found none.
When I plug in the arduino, there are 7 new entries in /dev:
$ diff dev_noarduino.txt dev_arduino.txt
29a30,32
cuaU0
cuaU0.init
cuaU0.lock
81a85,87
ttyU0
ttyU0.init
ttyU0.lock
106a113
ugen6.2
In general on FreeBSD COM port over USB (aka Virtual-COM-Port) is
handled by `ucom` kernel module (type `kldstat` to list loaded
kernel modules), also it may use `umodem` or even `u3g` module. Those
modules are loaded by `devd` system daemon based on USB descriptors
when you plug a device. I just found a bug in pyOCD (Python module
for ARM CPU debug) that prevents running GDB Server when `ucom`
module is loaded for the VCP port on that board. pyOCD tries to
unload the kernel module by default to gain access to the VCP using
LibUSB but it lacks permissions to do so and the whole program stops
with an exception. In that case simply unload selected modules and
`service devd stop` for the time of testing. This may be also the
case for you: 1. You lack permissions to access a resource so
temporary try run as root and see if that works. 2. You may require
some component that is already taken by other service/application.
$ kldstat
Id Refs Address Size Name
1 13 0xffffffff80200000 206c860 kernel
2 1 0xffffffff8226e000 15cf0 fuse.ko
3 1 0xffffffff82421000 2408 ums.ko
4 1 0xffffffff82424000 76cc tmpfs.ko
5 1 0xffffffff8242c000 1bc0 umodem.ko
6 1 0xffffffff8242e000 3c58 ucom.ko
I don't think I can run arduino as root as I can't connect to X as root;
do I need to reboot for the /etc/devfs.rules to take effect?
(will have to do some cleanup before trying that)
Thanks,
Gary
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"