0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

新PASMO ICコード

Posted at

#はじめに
nfcpy(version 1.0.3)でよくあるサンプル
print(' ' + '\n '.join(tag.dump()))
でPASMOの内容を表示させようとすると
This is not an NFC Forum Tag.
というエラーで失敗することがあります。
古いPASMOでは成功するのに比較的新しいPASMOで失敗します。
これは新しいPASMOに搭載されているICコードを
nfcpyが認識していないために発生します。

#nfcpyへのパッチ
新しいPASMOのICコードは0x31です。ICコードテーブルは
nfcpyのインストール先(~/anaconda3/envs/pasori/lib/python3.8/site-packages/nfc/など)のtag/tt3_sony.pyのFelicaStandardクラスにあります。

 60     IC_CODE_MAP = {
 61         # IC    IC-NAME    NBR NBW
 62         0x00: ("RC-S830",    8,  8),  # RC-S831/833
 63         0x01: ("RC-S915",   12,  8),  # RC-S860/862/863/864/891
 64         0x02: ("RC-S919",    1,  1),  # RC-S890
 65         0x08: ("RC-S952",   12,  8),
 66         0x09: ("RC-S953",   12,  8),
 67         0x0B: ("RC-S???",    1,  1),  # new suica
 68         0x0C: ("RC-S954",   12,  8),
 69         0x0D: ("RC-S960",   12, 10),  # RC-S880/889
 70         0x20: ("RC-S962",   12, 10),  # RC-S885/888/892/893
 71         0x31: ("RC-??? new pasmo",     1,  1),  # new PASMO 
 72         0x32: ("RC-SA00/1",  1,  1),  # AES chip
 73         0x35: ("RC-SA00/2",  1,  1),
 74     }

上記のように0x31の行を追加します。NBRとNBW(一回で読み書きできるブロック数)は不明なので1にしておきました。
#検証
同じカードで、こんどはダンプできました。

Type3Tag 'FeliCa Standard (RC-??? new pasmo)' ID=00000000000000000 PMM=053143454682B7FF SYS=0003
  System 0003 (Suica)
  Area 0000--FFFE
    Area 0040--07FF
      Random Service 1: write with key & read with key (0x0048 0x004A)
      Random Service 2: write with key & read w/o key (0x0088 0x008B)
       0000: 00 00 00 00 00 00 00 00 20 00 00 ce 06 00 00 08 |........ .......|
      Area 00C0--00FF
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?