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

How to uninstall ServoBlaster? #14

Closed
Vasiy opened this Issue Aug 21, 2013 · 7 comments

Comments

Projects
None yet
2 participants
@Vasiy

Vasiy commented Aug 21, 2013

Hi
I have 256mb Rev 2 board with Camera board. Everything was ok, until I installed Servoblaster for Pan/Tilt Device.

I comment GPIO21 (pin P1-13) from servod.c and compile it, but camera still not work. How to uninstall Servoblaster completely?
Can you make proper Serviblaster for Rev2 Board or simply select option during install process?

@richardghirst

This comment has been minimized.

Show comment
Hide comment
@richardghirst

richardghirst Aug 21, 2013

Owner

Hi,
Yes, I need to clean this up.

If you ran "make install" then you installed the servoblaster.ko
kernel module too (see the README, there is the old kernel module,
servoblaster.ko, that is installed via 'make install' and the newer user
space servod.c for which you just 'make' and not 'make install').

Anyway, to stop the system loading servoblaster.ko, you can:

rm /lib/udev/servoblaster
rm /etc/udev/rules.d/20-servoblaster.rules

and then reboot.

Following that, you can still run your modified servod, and the camera
should work.

Richard

On Wed, Aug 21, 2013 at 2:32 PM, Vasiy notifications@github.com wrote:

Hi
I have 256mb Rev 2 board with Camera board. Everything was ok, until I
installed Servoblaster for Pan/Tilt Device.

I comment GPIO21 (pin P1-13) from servod.c and compile it, but camera
still not work. How to uninstall Servoblaster completely?
Can you make proper Serviblaster for Rev2 Board or simply select option
during install process?


Reply to this email directly or view it on GitHubhttps://github.com//issues/14
.

Owner

richardghirst commented Aug 21, 2013

Hi,
Yes, I need to clean this up.

If you ran "make install" then you installed the servoblaster.ko
kernel module too (see the README, there is the old kernel module,
servoblaster.ko, that is installed via 'make install' and the newer user
space servod.c for which you just 'make' and not 'make install').

Anyway, to stop the system loading servoblaster.ko, you can:

rm /lib/udev/servoblaster
rm /etc/udev/rules.d/20-servoblaster.rules

and then reboot.

Following that, you can still run your modified servod, and the camera
should work.

Richard

On Wed, Aug 21, 2013 at 2:32 PM, Vasiy notifications@github.com wrote:

Hi
I have 256mb Rev 2 board with Camera board. Everything was ok, until I
installed Servoblaster for Pan/Tilt Device.

I comment GPIO21 (pin P1-13) from servod.c and compile it, but camera
still not work. How to uninstall Servoblaster completely?
Can you make proper Serviblaster for Rev2 Board or simply select option
during install process?


Reply to this email directly or view it on GitHubhttps://github.com//issues/14
.

@Vasiy

This comment has been minimized.

Show comment
Hide comment
@Vasiy

Vasiy Aug 22, 2013

Ok, thanks
Can you show me, how to install ServoBlaster on Rev 2 correctly?
I do this way (servoblaster.c):
static uint8_t servo2gpio[] = {
4, // P1-7
17, // P1-11
18, // P1-12
/* 21, // P1-13 */
22, // P1-15
23, // P1-16
24, // P1-18
25, // P1-22
};

Is it correct?

Vasiy commented Aug 22, 2013

Ok, thanks
Can you show me, how to install ServoBlaster on Rev 2 correctly?
I do this way (servoblaster.c):
static uint8_t servo2gpio[] = {
4, // P1-7
17, // P1-11
18, // P1-12
/* 21, // P1-13 */
22, // P1-15
23, // P1-16
24, // P1-18
25, // P1-22
};

Is it correct?

@richardghirst

This comment has been minimized.

Show comment
Hide comment
@richardghirst

richardghirst Aug 22, 2013

Owner

I'm confused; in your original email you said you'd modified servod.c, now
you say you modified servoblaster.c. Which are you trying to use? I
strongly recommend you use servod.c (the user space daemon), in which case
the modification you made is correct. Please read the README.txt for an
explanation of how to build and use servod. Pay particular attention to
the section "The user space daemon". There is no concept of a "make
install" for servod at present; you just make and run servod as per the
README. You can find the README.txt here:
https://github.com/richardghirst/PiBits/tree/master/ServoBlaster

Richard
On Thu, Aug 22, 2013 at 6:49 AM, Vasiy notifications@github.com wrote:

Ok, thanks
Can you show me, how to install ServoBlaster on Rev 2 correctly?
I do this way (servoblaster.c):
static uint8_t servo2gpio[] = {
4, // P1-7
17, // P1-11
18, // P1-12
/* 21, // P1-13 */
22, // P1-15
23, // P1-16
24, // P1-18
25, // P1-22
};

Is it correct?


Reply to this email directly or view it on GitHubhttps://github.com//issues/14#issuecomment-23069829
.

Owner

richardghirst commented Aug 22, 2013

I'm confused; in your original email you said you'd modified servod.c, now
you say you modified servoblaster.c. Which are you trying to use? I
strongly recommend you use servod.c (the user space daemon), in which case
the modification you made is correct. Please read the README.txt for an
explanation of how to build and use servod. Pay particular attention to
the section "The user space daemon". There is no concept of a "make
install" for servod at present; you just make and run servod as per the
README. You can find the README.txt here:
https://github.com/richardghirst/PiBits/tree/master/ServoBlaster

Richard
On Thu, Aug 22, 2013 at 6:49 AM, Vasiy notifications@github.com wrote:

Ok, thanks
Can you show me, how to install ServoBlaster on Rev 2 correctly?
I do this way (servoblaster.c):
static uint8_t servo2gpio[] = {
4, // P1-7
17, // P1-11
18, // P1-12
/* 21, // P1-13 */
22, // P1-15
23, // P1-16
24, // P1-18
25, // P1-22
};

Is it correct?


Reply to this email directly or view it on GitHubhttps://github.com//issues/14#issuecomment-23069829
.

@Vasiy

This comment has been minimized.

Show comment
Hide comment
@Vasiy

Vasiy Aug 22, 2013

I tried it both ways with same effect.
Camera does not work until I unload servoblaster.

Vasiy commented Aug 22, 2013

I tried it both ways with same effect.
Camera does not work until I unload servoblaster.

@Vasiy

This comment has been minimized.

Show comment
Hide comment
@Vasiy

Vasiy Aug 22, 2013

So.
I update to last Hexxen firmware,
then rm /PiBits completely
then git clone PiBits again
and sudo insmod servoblaster.ko -> Error: could not insert module servoblaster.ko: Invalid module format

so, then:
make servod
gcc -Wall -g -O2 -o servod servod.c
pi@RPi ~/PiBits/ServoBlaster $ sudo ./servod
Using hardware: PWM
Number of servos: 7
Servo cycle time: 20000us
Pulse width units: 10us
Maximum width value: 284 (2840us)

and user space daemon working with camera fine.
but user space daemon haven't idle_timeout option :(
instead I use this way:
pi@RPi ~/PiBits/ServoBlaster $ echo 0=120 > /dev/servoblaster
pi@RPi ~/PiBits/ServoBlaster $ echo 0=0 > /dev/servoblaster

after every movement.

Vasiy commented Aug 22, 2013

So.
I update to last Hexxen firmware,
then rm /PiBits completely
then git clone PiBits again
and sudo insmod servoblaster.ko -> Error: could not insert module servoblaster.ko: Invalid module format

so, then:
make servod
gcc -Wall -g -O2 -o servod servod.c
pi@RPi ~/PiBits/ServoBlaster $ sudo ./servod
Using hardware: PWM
Number of servos: 7
Servo cycle time: 20000us
Pulse width units: 10us
Maximum width value: 284 (2840us)

and user space daemon working with camera fine.
but user space daemon haven't idle_timeout option :(
instead I use this way:
pi@RPi ~/PiBits/ServoBlaster $ echo 0=120 > /dev/servoblaster
pi@RPi ~/PiBits/ServoBlaster $ echo 0=0 > /dev/servoblaster

after every movement.

@richardghirst

This comment has been minimized.

Show comment
Hide comment
@richardghirst

richardghirst Aug 22, 2013

Owner

Forget about servoblaster.ko, that is the old kernel module
implementation. You are now doing the correct thing, by making servod and
running it.

True, the user space daemon does not currently have the idle timeout
option. Writing 0=0 to /dev/servoblaster is the correct thing to do, if
you don't want to continually send servo pulses - that is what the README
tells you :)

I'm glad you got it working eventually!

Richard

On Thu, Aug 22, 2013 at 3:00 PM, Vasily notifications@github.com wrote:

So.
I update to last Hexxen firmware,
then rm /PiBits completely
then git clone PiBits again
and sudo insmod servoblaster.ko -> Error: could not insert module
servoblaster.ko: Invalid module format

so, then:
make servod
gcc -Wall -g -O2 -o servod servod.c
pi@RPi ~/PiBits/ServoBlaster $ sudo ./servod
Using hardware: PWM
Number of servos: 7
Servo cycle time: 20000us
Pulse width units: 10us
Maximum width value: 284 (2840us)

and user space daemon working with camera fine.
but user space daemon haven't idle_timeout option :(
instead I use this way:
pi@RPi ~/PiBits/ServoBlaster $ echo 0=120 > /dev/servoblaster
pi@RPi ~/PiBits/ServoBlaster $ echo 0=0 > /dev/servoblaster

after every movement.


Reply to this email directly or view it on GitHubhttps://github.com//issues/14#issuecomment-23091998
.

Owner

richardghirst commented Aug 22, 2013

Forget about servoblaster.ko, that is the old kernel module
implementation. You are now doing the correct thing, by making servod and
running it.

True, the user space daemon does not currently have the idle timeout
option. Writing 0=0 to /dev/servoblaster is the correct thing to do, if
you don't want to continually send servo pulses - that is what the README
tells you :)

I'm glad you got it working eventually!

Richard

On Thu, Aug 22, 2013 at 3:00 PM, Vasily notifications@github.com wrote:

So.
I update to last Hexxen firmware,
then rm /PiBits completely
then git clone PiBits again
and sudo insmod servoblaster.ko -> Error: could not insert module
servoblaster.ko: Invalid module format

so, then:
make servod
gcc -Wall -g -O2 -o servod servod.c
pi@RPi ~/PiBits/ServoBlaster $ sudo ./servod
Using hardware: PWM
Number of servos: 7
Servo cycle time: 20000us
Pulse width units: 10us
Maximum width value: 284 (2840us)

and user space daemon working with camera fine.
but user space daemon haven't idle_timeout option :(
instead I use this way:
pi@RPi ~/PiBits/ServoBlaster $ echo 0=120 > /dev/servoblaster
pi@RPi ~/PiBits/ServoBlaster $ echo 0=0 > /dev/servoblaster

after every movement.


Reply to this email directly or view it on GitHubhttps://github.com//issues/14#issuecomment-23091998
.

@richardghirst

This comment has been minimized.

Show comment
Hide comment
@richardghirst

richardghirst Dec 31, 2013

Owner

servod.c does now have the --idle-timeout option.

Owner

richardghirst commented Dec 31, 2013

servod.c does now have the --idle-timeout option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment