RFID Hacking/usrp/

From Noisebridge
Jump to: navigation, search

notes about the install procedure for Gen2 RFID USRP Project (modified gnuradio library)


This software/hardware allows the operator to read Gen2 RFIDs in the 900Mhz range.
This project has not yet been publicly distributed but the author tells us
it will be released soon. These notes are not an install recipe... rather they are
clarification to help describe the install procedure.

According to the README, this project was tested with gnuradio subversion changeset 10532...

$ svn co -r 10532 http://gnuradio.org/svn/gnuradio/trunk gnuradio

step #1
Copy gen2_reader/gnuradio/misc_files/grc_gr_gen2_rfid.m4 to gnuradio/config

cp gen2_reader/gnuradio/misc_files/grc_gr_gen2_rfid.m4 gnuradio/config

step #2

cp -a gen2_reader/gnuradio/gr-gen2-rfid gnuradio/

step #4
add the following to line 304ish: GRC_GR_GEN2_RFID




This here are software dependencies from a different gnuradio project so it should contain most gnuradio dependencies :

apt-get install -y python python2.5-dev libfftw3-dev swig sdcc-nf libusb-dev guile-1.8-dev libcppunit-dev libosip2-dev libortp7-dev asterisk

gnuradio dependencies:

  • built/installed the latest libboost and then install libgsl :
apt-get install libgsl0-dev

gnuradio build:

./configure --prefix=/usr/local/gnuradio-rfid --enable-gr-gen2-rfid --enable-gnuradio-core --enable-gr-audio-oss

make

make install

step #8

cp gen2_reader/gnuradio/misc_files/gen2_reader.rbf /usr/local/gnuradio-rfid/share/usrp/rev4

step #9

cd gnuradio/gr-gen2-rfid/src/lib
make clean

apply this patch:

gnuradio/gr-gen2-rfid/src/lib/rfid_gen2_reader.cc

42,48d41
< // FIXME NB
< inline float min(float a, float b)
< {
<   return a <= b ? a : b;
< }
< 
< 
645,647c638,639
<    //FIXME NB
<     //int mm = std::min((tx_msg->length() - d_msg_count) / sizeof(gr_complex), (long unsigned int) noutput_items - nout);
<     int mm = min((tx_msg->length() - d_msg_count) / sizeof(gr_complex), (long unsigned int) noutput_items - nout);
---
>     
>     int mm = std::min((tx_msg->length() - d_msg_count) / sizeof(gr_complex), (long unsigned int) noutput_items - nout);
make
make install



[edit] And finally run the program

sudo -s

PYTHONPATH=/usr/local/gnuradio-rfid/lib/python2.5/site-packages GR_SCHEDULER=STS nice -n -20 ./gen2_reader.py
Personal tools