Mikrotik Router Operating System "GOTCHAs" 
by Joe Mehaffey    (updated 12/23/2003)

I have received comments from users (and experienced myself) a number of things in setting up a Mikrotik OS HotSpot router that cause a lot of wasted time.  I have documented the worst here so as to (hopefully) help keep others from falling into the same traps.

1)  The Mikrotik OS is only modestly well documented and Mikrotik has less technical support than many users expect for a production software product.  The 400+ page manual is detailed,  but more of a reference guide for the knowledgable router programmer than a tutorial.   They are getting a little better with more and more applications guides and examples in the manual,  but getting detailed answers to most any technical question directly from Mikrotik is can be difficult at times.  Yet, the Mikrotik software is generally  well designed,  robust (more or less),  serviceable, generally reliable (but not well tested at the factory), and inexpensive.  For these  reasons I have written my HOTSPOT SETUP PROCEDURE to assist users in getting an initial system up and running..  I am hopeful that Mikrotik will soon realize that a quality product like the Mikrotik OS will sell A LOT better if it is accompanied by quality support.  The other side of the coin is that their support costs will go down when they get good documentation.    Several users say they  would not mind paying double the price Mikrotik charges IF they would improve software stability and quality and improve their technical support.  
2) Mikrotik's "ChangeLog" is cryptic and apparently includes only a fraction of the changes actually made from version to version.  Mikrotik tells me that it would be too much effort to make the changelog accurate.  (Sounds like some software engineers I have known!)   Sometimes command syntax changes are made which are not chronicled until users ask why a command will not work.  If a command syntax fails to work, Check the ChangeLog on the Mikrotik website.  If the answer is not there,  you may have to contact Mikrotik Tech Support to get the correct syntax.
3) Related to #2 is the problem of incomplete command syntax information in either the manual or in the OS command listing.  Commands often have "unpublished" features and options that turn out to be very useful but that are (seemingly) documented nowhere but in the Mikrotik programmer's memory.  The moral of this story is:  If you cannot figure out how to do something,  ASK.  You likely have a 75% chance that there is a feature to do what you want even if it is not addressed in the manual.
3) If you use FIXED IP ADDRESSES for IP/Gateway/DNS server on the Mikrotik Router port going to the internet,  you MUST point to some actual DNS server or to a router that offers DNS Caching.  The Mikrotik OS fails to resolve DNS requests sent to some routers which offer "DNS Relay" services (such as the Hawking FR24).  This can result in confusion in new users who cannot figure out why they can PING the internet but cannot get a URL to come up in their browser unless they put in an explicit IP address for a URL.
4) If you use the Mikrotik UNIVERSAL CLIENT so as to be able to allow visitors with "ANY" IP address/gateway/dns setup to log into your Hotspot without making networking IP changes (a very nice feature!),  then simple 802.11 REPEATERS such as in the Dlink DWL-900AP+ will not work.  You get to pick which operational feature you like best.
5) Mikrotik software versions below 2.7.11  and 2.8beta1 through 2.8beta4 do not support the Mikrotik HotSpot unless you are a PAID license holder.  Versions 2.7.11 and up and 2.8beta5 and up DO support the Mikrotik Hotspot with a DEMONSTRATION license.

6) If you setup your IP DHCP address pool to less than the full domain range (such as 10.5.50.2-10.4.50.199) then later versions (maybe all??) of Mikrotik OS will not allow clients with fixed IP addresses outside this range (say 10.5.50.223) to login UNLESS the Hotspot system is setup with the Universal Client feature.  I hope they fix this!  It does not seem that failing to recognize clients who happen to have a fixed IP address outside the DHCP range is a desirable "feature".
7) If you setup Hotspot Clients with FIXED IP addresses and use the universal client,  then these addresses are NOT pinged by the HotSpot "keep-alive" timer.  As a result, and regardless of the Hotspot inactivity timeout setting,  these FIXED IP address clients will be removed from the Hotspot's ACTIVE list after about 5 minutes of inactivity (or whatever you set) .  (Inactivity means no data packets have been sent to/from this client.)  This means that these clients will have to be relogged in frequently.  The solution?  Use DHCP in the client machines.  This has been reported and hopefully it will be fixed in some version beyond 2.7beta6.
8) A related problem to #7 is that if you decide turn Universal Client OFF and  to have FIXED IP addresses which are INSIDE the hotspot DHCP range,  then you will find that "occasionally" the hotspot's DHCP Server passes out these FIXED AND OPERATING ON THE LAN IP addresses to some client requesting that  DHCP furnish an IP address.   Apparently this is because the hotspot's DHCP server only considers an address "leased" if a user has logged in.  (Or maybe things are more complicated.)  But in any case,  it is currently not possible to insure that IP address conflicts will not occur if you use fixed IP addresses on a hotspot's wireless LAN INSIDE the DHCP server's IP pool range.  Unfortunately, some wireless clients and bridges REQUIRE a fixed IP address so you can easily find them for maintenance services.  Hopefully,  Mikrotik will come up with a fix  for this soon.   

Often,  for administrative reasons,  it is desirable to have APs, bridges,  repeaters, and such have fixed IP addresses.  You can do this as long as you use DHCP for all client machines which require DNS and gateway services.  Be SURE that your root APs connected to the Mikrotik use DHCP -or-  have a fixed IP address INSIDE the Mikrotik Hotspot's DHCP server's IP range.  Otherwise,  clients cannot always get DNS services. 
9) Another DHCP related problem in hotspot is that (in version 2.8beta6)  if you set up the DHCP address range of 10.5.50.50-10.5.50.254 and have fixed IP addresses in the range below 10.5.50.50,  -and- you have Universal Client turned ON,  then you will find that some people attempting to login cannot get service.  This may be somehow related to #8. 

10) Automatic MAC address login normally requires that you input the MAC address of the particular computer you wish to have automatically login as both the USER and the PASSWORD in the Winbox>IP>Hotspot>User> (+) Add User setup entry.  However,  if you use any sort of external wireless client device(bridge) with a particular computer and plug the wireless client into the computer's LAN card, you have to do more.  In this case, you must enter BOTH the MAC address of the computer itself AND the MAC address of the Wireless Client Bridge into the above user table or you will not get automatic login.  This applies to such devices as the LinkSys WET11, Dlink 900AP+ (operating as a client bridge), and similar.  A bug I have noticed is that "Automatic MAC logins" are not shown in the Hotspot ACTIVE list.  (2.8beta6)
11) During October/November/December 2003,  Mikrotik has gone through a period of extremely frequent software revisions caused by a steady stream of fairly serious software problems.  I installed 2.8beta6 in my working hotspot about October 2003 and it has been a pretty stable performer.  I have tried copies of 2.8beta7 through 2.8beta12 and have not found a single stable performer in the group.   Mikrotik is now recommending I drop back to 2.7.18 (which 2.7.x has had its share of problems and does not offer all the features I need) .  I plan to try this one out and I will report if it appears to offer a stable platform.
12) Mikrotik has a two piece software security ID/KEY to protect their product from theft.  This system has turned out to be extremely cumbersome and difficult to use causing a tremendous amount of time waste.  I would MUCH prefer a hardware "dongle" type key.  For example:  a) Sometimes software gets flaky and you want to reload the software (not just the configuration).  You are not allowed to do this without loading from scratch and getting a replacement key from Mikrotik.  b) The system will not allow you to DOWNGRADE to an earlier version when something is found wrong with an upgrade version unless you go install from scratch and go to Mikrotik for a replacement key.  c) If you have a paid for ID and KEY (goes with a disk drive) and you install a floppy based system to try and evaluate the new software,  you have LOST YOUR KEY and you have to go back to Mikrotik for a replacement.    d) Even if you use NETINSTALL (which requires a key to use),  and you want to load  software on a unit for test and/or use,  the software is not smart enough to go and get the key off the running system.  You have to obtain a replacement key from Mikrotik.    There are some pretty obvious and  workable solutions to these time wasters,  but Mikrotik apparently has not recognized these  customer time wasters or the difficulty these issues present in recovery from a system failure.
13) As you move from one software edition to another or between versions,  you MAY find that the particular NIC cards identified as ether1, ether2, ether3 and etc. have "changed places".  This can lead to a fair amount of confusion if you find that the NIC card that WAS ether1 (say the connection to the Internet) is ether2 (the hotspot interface to your external AP) after you upgrade your software.   To be sure,  don't fail to perform the port tests suggested in the Mikrotik Setup document EVEN IF the software is just being upgraded.
14) Mikrotik makes "running user interfaces changes" between versions without any notice to users.  The changelog generally will not mention that "so and so" command(s) have been changed/moved and the old command(s) will no longer function.  This also applies to  configuration backup file from an older configuration which can cause the backup file not to be workable when an update version is loaded.  Such changes are generally not mentioned in either the version changelog and corresponding changes in the manual may not be mentioned until the next major software edition.  This process can make a configuration file that worked fine in one software edition fail to operate at all in when you try and use the same configuration in the next software update in the same software edition.  A routing system may be extremely complex and you may not have anything to work with except the backup file which cannot be used in ANY other machine except the one it was generated on!  Couple this with the fact that when you encounter this problem, you may have just had a hardware failure.  It may be quite awhile before Mikrotik gets back to you with a fresh software key so you can back up to your prior software and you can have quite an emergency situation on your hands.
15)  So you decide that to avoid urgent problems,  you are going to make up a "clone" system IDENTICAL to your existing Mikrotik system so as to be able to maintain an identical backup system at all times.  This is a good idea,  but you had better be SURE the hardware is absolutely identical all the way down to theMAC addresses of  plug in NIC cards, wireless cards and etc.  If the computer is not identical or (for instance) the NIC cards are not identical or from different manufacturers,  then likely the systems cannot be made to work with each other's configuration files.  I believe Mikrotik must key the configuration files off the hardware MAC addresses and such instead of using the logical name (such as ether1).  And so,  I am not sure but do not believe that two systems can be made to be 100% compatible as to the backup configuration file as MAC addresses will differ between units.  I have not been able to get any scheme to allow me to overcome this problem.  Obviously the way to handle backup files to allow a user to keep a "hot standby" would be to have two configuration backup elements.  The first would backup details of hardware configuration.  This part would be "hardware specific" to the particular computer platform used.  The second would backup "non hardware specific" routing tables,  hotspot data,  and etc.   By these means,  a user could first set up his hardware configuration, save this and then be able to load his "router specific" and "hotspot specific" and "user specific"  features via a backup file which would function on any identically equipped hardware platform but with the hardware specific backup file from this second hardware system.  Mikrotik has no such capability so you must manually build and maintain any second system.  There are EXPORT/IMPORT features to assist but you must use care as sometimes it is not obvious which of these include some hardware specific items.   Perhaps Mikrotik could simply provide a script file to export/import  and thereby generate a method of "cloning" a configuration to another computer system.
16)  If a user tries to login  on (even) a (simple) 2 port hotspot system,  there is about zero troubleshooting aid.  If the MT loses the internet link,  it will not even put up the login screen but will simply give you a windows error message:  "could not connect to http://www.yahoo.com" or similar.  .  (This is supposed to be changing soon in v 2.8 so that the login screen will be capable of display even if the internet connectivity beyond the router is lost.)  Needed is a simple connectivity  and troubleshooting display screen in winbox to show the existing logical connections and at least give a hint of link defects without having to resort to detailed external testing which can be tedius and time consuming.   Many times even detecting  that problem exists where multiple incoming/outgoing links are involved can be a problem according to reports from users.