Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

RFID Question

Options
  • 07-10-2009 7:09pm
    #1
    Registered Users Posts: 8,004 ✭✭✭


    Hi Folks,

    I'm doing some tinkering with RFID and I've come up against a wall so to speak. I'm using a Mifare Ultralight and full details are here:

    http://www.wontec.com.tw/images/jpg/IC/ultralight.pdf

    Now, the program is called ACR122U and is part of a Dev kit from ACS. On page ten of the document above there is a table. Now, what I want to know is how I write data to e.g. Page 6, Byte 3?

    The program when I ask it to write asks me the following:

    Start Page Number:
    Number of Bytes to Write (Decimal):
    Data to write:

    I'm abit of a N00b so any help would be appreciated.

    ironclaw.


Comments

  • Moderators, Science, Health & Environment Moderators, Social & Fun Moderators, Society & Culture Moderators Posts: 60,098 Mod ✭✭✭✭Tar.Aldarion


    The software you are using is jsut a simple GUI like Mifarewnd? Is this in NUIG?

    Anyway, you should jsut be able to fill in the boxes to write to blocks?

    You may have to specify which port you are connecting the reader to, is there an option for this?
    Then click open port and start writing data etc.
    Not sure about your program, but this is what I did with MIFARWnd.


  • Registered Users Posts: 8,004 ✭✭✭ironclaw


    The software you are using is jsut a simple GUI like Mifarewnd? Is this in NUIG?

    Anyway, you should jsut be able to fill in the boxes to write to blocks?

    You may have to specify which port you are connecting the reader to, is there an option for this?
    Then click open port and start writing data etc.
    Not sure about your program, but this is what I did with MIFARWnd.

    Yeap, its a simple GUI but you cannot assign different bytes. You just have to write the entire page. I've never heard of MifarWnd but I will certainly look into it.

    NUIG, as in the college? No. Sorry if that's wrong, I ain't too good on abbreviations :)


  • Registered Users Posts: 5,618 ✭✭✭Civilian_Target


    Wow, RFID has advanced nicely. I remember using Wavetrend kit in 2006 and each read was 17 bytes!

    The first question is: is it all RW? From my reading of that document, until you've learnt more about it, I would ignore all memory space that isn't pages 4--15.

    You can write only one page at a time, so if you want to change just one byte of a page, you have to read the whole page, modify the one byte, and then write the whole page with that modified byte. A page seems to be 4 bytes, so in your input you're looking at:
    4,4, ff001a2b
    
    which means 'write ff001a2b' (4 bytes) to page 4.

    By the way, if this is not a college project, the best practice for RFID systems is to treat them as immutable. Depend only on the serial number of the card, the rest of the data should be used only for either caching (when there is a systems outage) or anti-corruption.


  • Registered Users Posts: 8,004 ✭✭✭ironclaw


    Wow, RFID has advanced nicely. I remember using Wavetrend kit in 2006 and each read was 17 bytes!

    The first question is: is it all RW? From my reading of that document, until you've learnt more about it, I would ignore all memory space that isn't pages 4--15.

    You can write only one page at a time, so if you want to change just one byte of a page, you have to read the whole page, modify the one byte, and then write the whole page with that modified byte. A page seems to be 4 bytes, so in your input you're looking at:
    4,4, ff001a2b
    
    which means 'write ff001a2b' (4 bytes) to page 4.

    By the way, if this is not a college project, the best practice for RFID systems is to treat them as immutable. Depend only on the serial number of the card, the rest of the data should be used only for either caching (when there is a systems outage) or anti-corruption.

    Thanks for the reply! I know the first two pages are read-only in essence. However, the interesting page to me are these ones:

    Page 2, Byte 2 and 3. These are the lock bytes. Now, I might make a fool of myself here but withing each Byte block there are 8 bits. How do I change an individual bit from a 0 to 1? e.g.

    I want to change a bit in Page 2, Byte block 3 to a "1"

    Thanks!


Advertisement