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
Help please
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
’
Can anybody help me what is the issue?
Thanks in advance
Looks like line 28 is passing a number somewhere rather than a string.
On Tue, Mar 19, 2013 at 7:58 AM, Chandra S. [email protected]
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 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.
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
try:
varbind = VarBind.new(“1.3.6.1.2.1.69.1.1.3.0”, Integer.new(1))