Forum: Ruby ruby-snmp annoying problem :(

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
mj-usunto (Guest)
on 2005-11-18 17:55
(Received via mailing list)
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 :)
kozlov.y (Guest)
on 2005-11-21 12:21
(Received via mailing list)
>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!!)
Chandra S. (Guest)
on 2013-03-19 14:58
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
Joel P. (Guest)
on 2013-03-19 15:11
Looks like line 28 is passing a number somewhere rather than a string.
tamouse mailing lists (Guest)
on 2013-03-21 03:43
(Received via mailing list)
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 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.
Jeff W. (Guest)
on 2013-03-22 20:20
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))
This topic is locked and can not be replied to.