Home AMX User Forum AMXForums Archive Threads AMX Hardware

Just a idea

Just a thought but I have noticed that AMX puts the serial number, MAC address etc on the bottom of there units(NI2000/3000 etc). Often the installers will forget to take the info or lose it etc and you end up having to remove the device from the rack to get to the info. Would it be possible to move the label to the back of the units?

Comments

  • Spire_JeffSpire_Jeff Posts: 1,917
    I'm not positive, but aren't you able to get the info from the processor either via telnet or via programming?

    Also, if the unit is not responding to connections or programming, chances are you will have to take it out anyway.

    I am not opposed to just moving the sticker, but once all of the wires are connected to the processor and it's surrounded by other equipment, it can be difficult enough to see which IR port I'm plugging an emitter into, let alone trying to read a MAC address or serial number. Plus, I'm lazy and doing it through the network means I don't have to get up :)

    Jeff
  • viningvining Posts: 4,368
    You can get the mac by telnet "get ip", the serial number from the label or coding and unique id from coding. I think you can get all or some of this information from the master's webserver. I tried to check but sometimes the webserver just won't load and even when it does it's generally extremely slow which is insane for a server on your local 10/100 network.
  • GSLogicGSLogic Posts: 562
    if you use "device_info(0, holdInfo)", it will return a structure with all the info from the NI.

    sDeviceInfo.MANUFACTURER_STRING
    sDeviceInfo.MANUFACTURER
    sDeviceInfo.DEVICE_ID_STRING
    sDeviceInfo.DEVICE_ID
    sDeviceInfo.VERSION
    sDeviceInfo.FIRMWARE_ID
    sDeviceInfo.SERIAL_NUMBER
    sDeviceInfo.SOURCE_TYPE
    sDeviceInfo.SOURCE_IP
  • viningvining Posts: 4,368
    The serial number is supposed to return a 16 character string but on my system it spits out a 12 char string with 4 nulls appended to the end. These nulls do weird things and in the below send_string 0's everything after the variable containing the S/N wouldn't print while the nulls were in the string and when doing a comparison if VAR = SerialNumber didn't match because of the nulls. It took me a while to figure out they were there and compared the returned string length to the actuall number of visible characters.

    I check another system and that returned a 16 chars string with 15 alpha/numeric chars and 1 null.

    I decided it would be easier to install the code below in all my systems so when I want to retrieve the serial number or unique ID I can remotely connect to the system and in NS2 debug set the global var nSysDeBug_Numbers to 1 and watch for the numbers in diagnostics.

    Not that I ever plan on buying modules but if I do I can get the serial number with out it being a major under taking to get the serial number should the seller of the module require it.

    I should probably add a routine to test for non printing chars and remove anything that is not alpha/numeric.

    When doing comparisons it's more reliable to do:
    if(find_string(SN_Var,"'2105X5040209'",1)) then if(SN_Var == '2105X5040209'). The find_string allows non printing chars that may get by.
    // in DEFINE_PROGRAM or FeedBack Time_Line. I prefer the time line.
    if(nSysDeBug_Numbers)
    	  {
    	  STACK_VAR CHAR cSerialNum[16] ;
    	  STACK_VAR CHAR cUniqueID[6] ;
    	  STACK_VAR CHAR cTempString[16] ;
    	 
    	  GET_SERIAL_NUMBER(0,cSerialNum) ;//Returns the 16-character serial number of the specified device.
    	  //Found 4 nulls at end of string "DECIMAL 0", why? supposed to return 16 chars.  Early SN's ??
    	  cSerialNum = UPPER_STRING(LEFT_STRING(cSerialNum,12)) ;//remove 4 nulls at end of string!!
    	  cUniqueID = GET_UNIQUE_ID() ;
    	  for(i = 1 ; i <= 6 ; i ++)
    	       {
    	       if(length_string(cTempString))
    		    {
    		    cTempString = "cTempString,',',itohex(get_buffer_char(cUniqueID))" ;
    		    }
    	       else
    		    {
    		    cTempString = "itohex(get_buffer_char(cUniqueID))" ;
    		    }
    	       }
    	  SEND_STRING 0,"'Masters Serial Number: "',cSerialNum,'" Line-<',ITOA(__LINE__),'>',crlf" ;
    	  SEND_STRING 0,"'Masters Unique ID (HEX Values): "',cTempString,'" Line-<',ITOA(__LINE__),'>',crlf" ;
         	  nSysDeBug_Numbers = 0 ;
    	  }
    
    Diagnostics:
    Line    271 :: Masters Serial Number: "2105X5040209" Line-<2191>$0D$0A - 16:19:06
    Line    272 :: Masters Unique ID (HEX Values): "0,5,57,95,7,1" Line-<2192>$0D$0A - 16:19:06
    
  • GSLogicGSLogic Posts: 562
    I display the NI's serial number when you start the module and/or click on the trial button. Some of the older NIs have some strange serial numbers.

    If you go to http://www.gslogic.net and click on the AMX programming link, you can download a few of the modules in trial mode. The new US State Capitals game can be challenging, I made it for my son who is going in to 6th grade and has to know all the State Capitals.
  • viningvining Posts: 4,368
    GSLogic wrote:
    Some of the older NIs have some strange serial numbers.
    The master I'm using (NI4000) is fairly old. When I tried to increase Duet Momory I was given the option of between 2-8M most newer system allow up to 32M. If I do increase it above 2M (the current default setting) the master stops working.
  • Thomas HayesThomas Hayes Posts: 1,164
    Yes, I often will pull the info from the 'program port' but if I don't have my laptop on or the such, I just end up looking the info up off the box.
Sign In or Register to comment.