Ruby-snmp annoying problem :(


#1

Simple script (Should set Integer=1 into device)

#!/usr/local/bin/ruby
require ‘rubygems’
require ‘snmp’
include SNMP

manager = Manager.new(:Host => ‘10.20.9.53’)
varbind = VarBind.new(“1.3.6.1.2.1.69.1.1.3.0”, Integer(1))
manager.set(varbind)
manager.close

Result:
warbird soaftp # ./lo.rb
[cut crap]
/usr/local/lib/ruby/gems/1.8/gems/snmp-0.5.1/lib/snmp/manager.rb:264:in
`set’: host 10.20.9.53 not responding (SNMP::RequestTimeout)
from ./lo.rb:8

This looks like lie to me :
warbird soaftp # ping 10.20.9.53
10.20.9.53 is alive
warbird soaftp #
Using snmpset from net-snmp package I’m able to set this value…

Get is OK but I’m not able to create working version of set :frowning:

Help please :slight_smile:


#2

manager.close

Result:
warbird soaftp # ./lo.rb
[cut crap]
/usr/local/lib/ruby/gems/1.8/gems/snmp-0.5.1/lib/snmp/manager.rb:264:in
`set’: host 10.20.9.53 not responding (SNMP::RequestTimeout)
from ./lo.rb:8

Try this:
manager = SNMP::Manager.new(:Host => ‘10.20.9.53’, :Version => :SNMPv1,
:Community => !!you community here!!)


#3

Tried to set a an Integer data type as defined above. However, SET not
sucess and getting error as

C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/varbind.rb:599:in
encode': undefined methodencode’ for 1:Fixnum (NoMethodError)
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/varbind.rb:54:in
block in encode' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/varbind.rb:53:ineach’
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/varbind.rb:53:in
encode' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/pdu.rb:181:inencode_pdu’
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/pdu.rb:204:in
encode' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/pdu.rb:110:inencode’
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/manager.rb:506:in
send_request' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/manager.rb:490:inblock in try_request’
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/manager.rb:489:in
times' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/manager.rb:489:intry_request’
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/manager.rb:293:in
set' from test2.rb:28:in

Can anybody help me what is the issue?

Thanks in advance


#4

Looks like line 28 is passing a number somewhere rather than a string.


#5

On Tue, Mar 19, 2013 at 7:58 AM, Chandra S. removed_email_address@domain.invalid
wrote:

Tried to set a an Integer data type as defined above. However, SET not
sucess and getting error as

As this is a mailing list, I have no idea what “above” is.

C:/Ruby192/lib/ruby/gems/1.9.1/gems/snmp-1.1.0/lib/snmp/varbind.rb:599:in
encode': undefined methodencode’ for 1:Fixnum (NoMethodError)

Pay attention to the above error. It says that what you are applying
the method encode to is a Fixnum, a number.

All the rest of the stacktrace is probably unnecessary to post.


#6

mj-usunto wrote in post #2768:

varbind = VarBind.new(“1.3.6.1.2.1.69.1.1.3.0”, Integer(1))
manager.set(varbind)
manager.close
Help please :slight_smile:

try:

varbind = VarBind.new(“1.3.6.1.2.1.69.1.1.3.0”, Integer.new(1))