Ruby-snmp annoying problem :(

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:

···

--
Spock ... Earth ..

imple 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

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

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 method `encode' 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:in
`each'
  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:in
`encode_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:in
`encode'
  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:in
`block 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:in
`try_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 `<main>'

Can anybody help me what is the issue?

Thanks in advance

···

--
Posted via http://www.ruby-forum.com/.

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

···

--
Posted via http://www.ruby-forum.com/.

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))

···

--
Posted via http://www.ruby-forum.com/\.

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 method `encode' 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.

···

On Tue, Mar 19, 2013 at 7:58 AM, Chandra Sekhar <lists@ruby-forum.com> wrote: