Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tested with Imprivata branded pcProx Plus #4

Open
hackerb9 opened this issue Dec 19, 2021 · 1 comment
Open

Tested with Imprivata branded pcProx Plus #4

hackerb9 opened this issue Dec 19, 2021 · 1 comment

Comments

@hackerb9
Copy link

I tested an Imprivata HDW-IMP-80, which appears to be a rebadged RF IDeas pcProx Plus (dual band 125kHz, 13.56MHz).

It is able to read some of 13.56MHz HID cards I had laying around (although I have not checked the data yet).

I also tried a public transit stored value card (MIFARE DESFire), which partially worked. The usbtest.py script is able to read the card ID, but did not show further information. For example, the NFC sensor on my phone can read the most recent public transit trip, but usbtest.py only shows 56 bits of data. I presume there's some extra protocol required for MIFARE.

$ ./usbtest.py 
<DeviceInfo: firmware=22.7.3, device=0x0501>
/ tsIDBitCnts
iLeadParityBitCnt = 0
iTrailParityBitCnt = 0
iIDBitCnt = 16
iTotalBitCnt = 26

/ tsCfgFlags
bFixLenDsp = 0
bFrcBitCntEx = 0
bStripFac = 1
bSndFac = 0
bUseDelFac2Id = 0
bNoUseELChar = 0
bSndOnRx = 0
bHaltKBSnd = 1

/ tsIDDispParms
iFACIDDelim = 179
iELDelim = 40
iIDDispLen = 5
iFACDispLen = 3

/ tsTimeParms
iBitStrmTO = 80
iIDHoldTO = 2000
iIDLockOutTm = 1000
iUSBKeyPrsTm = 20
iUSBKeyRlsTm = 20

/ tsCfgFlags2
bUseLeadChrs = 0
bDspHex = 0
bWiegInvData = 1
bUseInvDataF = 1
bRevWiegBits = 0
bBeepID = 1
bRevBytes = 0

/ tsCfgFlags3
bUseNumKP = 0
bSndSFON = 0
bSndSFFC = 0
bSndSFID = 0
bPrxProEm = 0
bUse64Bit = 0

/ tsIDDispParms2
iLeadChrCnt = 0
iLeadChr0 = 0
iLeadChr1 = 0
iLeadChr2 = 0
iCrdGnChr0 = 0
iCrdGnChr1 = 0

/ tsIDDispParms3
iTrailChrCnt = 0

/ tsLEDCtrl
bAppCtrlsLED = 0
iRedLEDState = 0
iGrnLEDState = 0

/ tsBprRlyCtrl
iBeeperState = 0
iRelayState = 0

Waiting for a card... (red light should pulse)
Tag data: 04 68 11 52 8a 5c 80
Bit length: 56
We got a card! (blinking lights)
@micolous
Copy link
Owner

micolous commented Feb 20, 2022

Thanks for the report!

I don't have a 13.56 MHz reader, so I've never tested that. From the looks of it, "bit length 56" is probably sending the UID-7 of the card.

Reading the manual, it sounds like to a read file on a MIFARE DESFire, you'd need to specifically configure the reader (page 74) with the application ID, file ID, and any encryption keys to the reader.

Practically speaking, this means you could set it up to read a single file on a single type of transit card, but it may not give any feedback about the wrong card. A card with a single free-read file would work well for this (eg: Sydney's Opal card), but anything with more than one file wouldn't (eg: Adelaide's Metrocard).

I'm curious about what it does when that's properly set up, and if there's some extra config pages that this needs to read / write.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants