Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rosserial not working with service start #81

Open
Druv98 opened this issue May 14, 2019 · 5 comments
Open

rosserial not working with service start #81

Druv98 opened this issue May 14, 2019 · 5 comments

Comments

@Druv98
Copy link

Druv98 commented May 14, 2019

I have written a launch file to launch a publisher node and rosserial. When I launch the file using roslaunch it gets connected to the Arduino and the led starts blinking but when I use robot_upstart it didn't connect to Arduino. Although it launched the node which was supposed to be launched. So I can see the topics and nodes when I do rostopic/node list but the led on Arduino doesn't blink

@Patrick-Lascombe
Copy link

Any update concerning this issue ?

@lyeemax
Copy link

lyeemax commented May 18, 2020

me too~

@mikepurvis
Copy link
Contributor

This may be permissions. If you sudo chmod 666 /dev/ttyACM0 (or whatever your Arduino is coming up as), does it then work? If so, you'll need to make sure that you either open up the permissions permanently for that device (using a udev rule) or that whatever user is running the service job is in the dialout group (and be careful because setuidgid doesn't carry over group memberships).

@kledom
Copy link

kledom commented May 26, 2020

I'm also having this issue (closely related to #18). I closed my pull request for this at #92 because this is probably not the right way to fix this. It worked as a workarround for me though.

The problem is as follows:
The setuidgid command used for dropping root privileges does not carry over the sublementary groups, meaning that even though the user was added to dialout, it will have no effect on robot_upstart, because the process in only executed as user robot:robot. I don't know the proper way to fix this. I couldn't find any easy method...it seems like envuidgid somehow works, although it shouldn't according to the documentation.

@shu-qing
Copy link

shu-qing commented Jul 28, 2020

All my usb virtual com port (/dev/ACM* with udev rules) can not launch properly when using robot_upstart.
But my usb serial port(/dev/ttyUSB*) works fine.
It seems that usb vcp communication depends some kind of service which didn't start before robot_upstart services.
I solved it by delaying roslaunch my nodes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants