arcress0 / ipmiutil

ipmiutil is an easy to use set of IPMI server management utilities. It can get/set sensor readings & thresholds, automate SEL management, do SOL console, etc. Supports Linux, Windows, BSD, Solaris, MacOSX. The only IPMI project tool that runs natively on Windows. See http://ipmiutil.sf.net for rpms, etc. (formerly called panicsel). It can run driverless in Linux for use on boot media or embedded environments.
BSD 3-Clause "New" or "Revised" License
34 stars 6 forks source link

discover doesn't recognize asf pong from arduino #4

Open ganghuang opened 2 years ago

ganghuang commented 2 years ago

I am trying to make an arduino together with an ethernet shield board to enable ipmi turn a PC power on/off etc.

I can use the ipmiutil discover to send out ASF ping and my board does return ASF pong as the wireshark captured below.

But the ipmituil does not recognize the pong as a response, so still report back 0 response.

image

image

I even copied the mac address of a supermicro board over but the ipmiutil still says 0 responses. What else does the discover waiting for?

ganghuang commented 2 years ago

Instead of broadcasting, if I give the ip range or the specific ip address by -b -e, the idiscover can recognize the returned pong. image

The two packets seems pretty similar from wireshark, but the one with specific ip (-b, -e) can reach idiscover and identified as a response, while the other one with broadcasting doesn't. image

arcress0 commented 2 years ago

Interesting. The problem could be either something unique about the broadcast reply, or something with the IPMI LAN configuration on the Arduino system. A few bits of information would help to determine that:

  1. Results of ipmiutil discover with a range (will probably work), example:

    ipmiutil discover -b 192.168.1.50 -e 192.168.1.250

  2. traceroute from 192.168.1.103 to 192.168.1.244 (verify that they are on the same subnet, probably so)

  3. Output of 'ipmiutil lan' run on the Arduino system. (perhaps the netmask is wrong?)

Andy

On Tue, Feb 22, 2022 at 10:03 AM ganghuang @.***> wrote:

Instead of broadcasting, if I give the ip range or the specific ip address by -b -e, the idiscover can recognize the returned pong. [image: image] https://user-images.githubusercontent.com/7526459/155159602-0c708709-6d08-4199-90d8-67ab6a844c05.png I don't know why so?

— Reply to this email directly, view it on GitHub https://github.com/arcress0/ipmiutil/issues/4#issuecomment-1047887296, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO3NLW3EXVTS3R5SVKZK4PLU4OQTLANCNFSM5PAUTZCQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you are subscribed to this thread.Message ID: @.***>

ganghuang commented 2 years ago

@Andy Thank you for the reply, please see below:

  1. Results of ipmiutil discover with a range (will probably work), example: # ipmiutil discover -b 192.168.1.50 -e 192.168.1.250 This runs much slower as it seems ping each ip in sequence. But at the end, it does got the result. image

  2. traceroute from 192.168.1.103 to 192.168.1.244 (verify that they are on the same subnet, probably so) Seems it just go there directly image

  3. Output of 'ipmiutil lan' run on the Arduino system. (perhaps the netmask is wrong?) The arduino system does not have a OS, so I can not run ipmiutil on that system. But I can check the netmask for the arduino network shield and it give me 255.255.255.0

ganghuang commented 2 years ago

Another test with root: ipmiutil discover -a -m -x > /tmp/t1 I got the t1 attached as t1.txt. It got 33 responses, but most of them are not pong. I don't know why there are so many responses on my network, but the pong response does recognized at line 42. image t1.txt

And if I do ipmiutil discover -m, I can get the response, but if I don't do the -m, there is 0 response image

arcress0 commented 1 year ago

This is an issue specific to the arduino platform, and using idiscover -m (raw mode) does get a response. The fact that arduino does not respond to normal broadcast pings seems to be an error with the platform, not ipmiutil.