Go Down

Topic: "ON" LED is red (Read 2020 times) previous topic - next topic

retrolefty

#15
Feb 03, 2013, 05:53 am Last Edit: Feb 03, 2013, 06:36 am by retrolefty Reason: 1


I vaguely recall that a serial number is programmed into EEPROM.  Bit later I'll dumped my Uno's EEPROM and report the results.



Maybe in the USB serial converter chip as part of the USB identification/enumeration thing? Seems to me the older boards that used the FTDI chip seemed to know what com port number was assigned to each board I've ever attached to it, as each board would always attach as the same com port number and never were two boards ever assigned the same com port number, always seemed magic to me. But I'm pretty certain that the 328P's EEPROM is not used for anything other then by users.

LEfty

JimboZA



I vaguely recall that a serial number is programmed into EEPROM.  Bit later I'll dumped my Uno's EEPROM and report the results.



CB, back in this thread, CrossRoads said this:

Quote
EEPROM starts as 0xFF (255 DEC).


(Even if there was a serial number in there, since EEPROM is EE, that would only help if part of it could be made read-only. What we really need is a globally unique number like a MAC, kindof thing.)
Arduino ethernet server here.... http://jimboza.gotdns.com:8085/

No PMs for help please

Coding Badly

Maybe in the USB serial converter chip as part of the USB identification/enumeration thing?


Ah yes.  It is possible to include a serial number in the USB header stuff.  Thanks for the tip.  I'll check that too.

Coding Badly

CB, back in this thread, CrossRoads said this:

Quote
EEPROM starts as 0xFF (255 DEC).


Indeed it does...

Code: [Select]
#include <EEPROM.h>

static char HexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };

static void Serial_printhex( unsigned Value, int Digits )
{
  const unsigned Size = 2*sizeof(unsigned)+1;
  char Buffer[Size];
  int8_t Tail;
 
  Tail = Size - 1;
  Buffer[Tail] = 0;
 
  while ( Value != 0 )
  {
    --Tail;
    Buffer[Tail] = HexDigits[ Value & 0xF ];
    --Digits;
    Value = Value >> 4;
  }
 
  while ( (Digits > 0) && (Tail > 0) )
  {
    --Tail;
    Buffer[Tail] = '0';
    --Digits;
  }
 
  Serial.print( &Buffer[Tail] );
}

void setup( void )
{
  Serial.begin( 115200 );
 
  unsigned Address;
  unsigned Bytes;
  uint8_t Value;
 
  Serial.println();

  Address = 0;
 
  while ( Address <= E2END )
  {
    Serial_printhex( Address, 4 );
    Serial.print( F( "  " ) );
   
    Bytes = 0;
    while ( (Address <= E2END) && (Bytes < 16) )
    {
      Value = EEPROM.read( Address );
      Serial_printhex( Value, 2 );
      Serial.write( ' ' );

      ++Bytes;
      ++Address;
    }
    Serial.println();
  }

  Serial.println();
}

void loop( void )
{
}


Code: [Select]

0000  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0010  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0020  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0030  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0040  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0050  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0060  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0070  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0080  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0090  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00A0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00B0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00C0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00D0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00E0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0100  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0110  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0120  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0130  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0140  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0150  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0160  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0170  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0180  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0190  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
01A0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
01B0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
01C0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
01D0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
01E0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
01F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0200  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0210  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0220  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0230  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0240  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0250  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0260  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0270  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0280  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0290  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
02A0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
02B0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
02C0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
02D0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
02E0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
02F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0300  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0310  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0320  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0330  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0340  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0350  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0360  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0370  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0380  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0390  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
03A0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
03B0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
03C0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
03D0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
03E0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
03F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF




Quote
(Even if there was a serial number in there, since EEPROM is EE, that would only help if part of it could be made read-only. What we really need is a globally unique number like a MAC, kindof thing.)


The theory is that the counterfeiter is too lazy or ignorant to program the EEPROM when they program the bootloader.  Doesn't matter.  There is no serial number.

Macro206

Should I report this to Arduino? If so, how?

Coding Badly


Grumpy_Mike


Should I report this to Arduino? If so, how?

You should report it to Amazon and to you local trading standards officer. It is those that can take action.
As I said their web site is down, it says they are revamping it but it sounds like they have already been rumbled but I would report them anyway.

Go Up