Giter Club home page Giter Club logo

Comments (5)

rct avatar rct commented on August 19, 2024

So I haven't been paying close attention lately. Is this data available from one of the md380 transactions? (if you wanted to create an .rdt code plug that would match the vendor's software?)

from md380tools.

travisgoodspeed avatar travisgoodspeed commented on August 19, 2024

Apologies. I was trying to clear stale github issues and closed this one by mistake.

from md380tools.

marrold avatar marrold commented on August 19, 2024

Would this help with users flashing the wrong firmware on their radio? Hopefully the serial number or unique ID correlates in GPS or non GPS models.

from md380tools.

travisgoodspeed avatar travisgoodspeed commented on August 19, 2024

A few notes from IRC with Phr3ak, who is also playing with the serial numbers.

The USB device serial number seems to be laser-etched in STM32's mask ROM starting at 0x1FFF7A10. This is after the bootloader ROM.

Reference code for reading this serial number is available in usb_desc.c in many of the STM32Cube examples like the following:

/**                                                                                                                                                                            
  * @brief  Create the serial number string descriptor                                                                                                                         
  * @param  None                                                                                                                                                               
  * @retval None                                                                                                                                                               
  */
static void Get_SerialNum(void)
{
  uint32_t deviceserial0, deviceserial1, deviceserial2;

  deviceserial0 = *(uint32_t*)DEVICE_ID1;
  deviceserial1 = *(uint32_t*)DEVICE_ID2;
  deviceserial2 = *(uint32_t*)DEVICE_ID3;

  deviceserial0 += deviceserial2;

  if (deviceserial0 != 0)
  {
    IntToUnicode (deviceserial0, (uint8_t*)&USBD_StringSerial[2] ,8);
    IntToUnicode (deviceserial1, (uint8_t*)&USBD_StringSerial[18] ,4);
  }
}

I've not checked whether this is the same serial number that is used in the codeplug file.

from md380tools.

marrold avatar marrold commented on August 19, 2024

Thanks Travis

from md380tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.