I wrote an email to Mikrotik support a few months ago about this topic and answered me back it was a known issue that will be fixed on future versions, i recently have seen about it and they don't have issue fixed yet. So at this point we have 2 options.
1st option.- We can use a router with old router os version 6.39 or less where the dude snmp discovery devices works good, but if you choose this you must be careful because that version is vulnerable, i have experience some friends hacked my CHR for kidding me, Mikrotik sent an email with the advertise and i forgot to update i feel too lucky because they were friends so thanks for the lesson guys!!, well you can try this option but you should block the Winbox public access or you can have a good restrict firewall access to the router.
2nd option .- I did 2 scripts as an alternative solution to this issue the "script 1" for pppoe customer service, takes information from "ppp - active connections" just "names and addresses parameter" and "script 2" for static ip customers takes information from "ip - neighbors", identity and addresses parameters, then both scripts do a comparison with the dude devices name those were discovered on "the dude" and named with ip addresses, finally if match condition the dude devices are named with the information gotten by the scripts described at the begin.
I leave the scripts and an example below, hope to be helpful enjoy it!!!
#SCRIPT 1 BY MIGUEL FELIX - MERCADO WISP MEXICO
{
:foreach pppuser in=[/ppp active find service=pppoe] do={\
:foreach pppip in=[/ppp active get $pppuser address] do={\
:foreach pppname in=[/ppp active get $pppuser value-name=name] do={\
:foreach dudedev in=[/dude device find] do={\
:foreach dudedevname in=[/dude device get $dudedev value-name=name] do={\
if ($dudedevname = $pppip) do={\
[/dude device set $dudedev name=$pppname]
}
}
}
}
}
}
}
}
#SCRIPT 2 BY MIGUEL FELIX - MERCADO WISP MEXICO
{
:foreach neighbor in=[/ip neighbor find] do={\
:foreach identity in=[/ip neighbor get $neighbor value-name=identity] do={\
:foreach neighboradd in=[/ip neighbor get $neighbor address] do={\
:foreach dudedev in=[/dude device find] do={\
:foreach dudedevname in=[/dude device get $dudedev value-name=name] do={\
if ($dudedevname = $neighboradd) do={\
[/dude device set $dudedev name=$identity]
}
}
}
}
}
}
}
#EXAMPLE
Thanks!!!