当前位置: 首页 > 知识库问答 >
问题:

pcsc lite:多个没有唯一序列号的ACR122T设备-linux

宇文学博
2023-03-14

我有多个ACR122T智能卡设备,没有唯一的序列号(来自ACS)。我需要知道我从pcsc lite中连接到哪个物理智能卡。我通过使用lsusb知道物理设备在哪个USB端口上,但如何将该USB端口信息映射到ScardeTAttribute(SCARD_ATTR_device_UNIT)?

似乎地图应该在操作系统级别,因为我找不到从pscs lite API中读取USB端口信息(lsusb结果)的方法

这篇文章提到了一种方法,智能卡阅读器ACR122U没有唯一的序列号,但我不明白“使用那个开发号来确保我总是使用正确的阅读器”背后的细节。

谢谢你的帮助。谢谢,菲尔

共有1个答案

洪博涛
2023-03-14

免责声明:我在Windows上工作,而不是Linux。

ACR122T(和ACR122U)设备不仅没有序列号(背面打印的序列号除外),而且也没有USB序列号,因此只能通过插入的USB端口进行区分。此外,我这里所有的ACR1226和我们(我们买了一堆)都将自己标识为Windows的“ACS ACR122”。使用专有API获取固件版本,ACR122T和ACR122U都将自己标识为ACR122U(例如“ACR122U207”或“ACR122U214”)。

这意味着操作系统本身除了插入USB端口外,无法以任何其他方式区分多个设备。

我还尝试在pcsc设备和操作系统设备之间建立连接,但除了此功能(仅在启动Windows 8时可用)之外,我还没有找到任何东西,因此在我看来,似乎没有办法通过pcsc调用实现这一点。

设备单元由pcsc层依次给出,因此您可以区分连接到的设备,但不能识别特定的设备。

 类似资料:
  • 我正在运行Postgres 9.5,并试图基于3个字段创建一个唯一的约束。我遇到的问题是,其中两列可以为NULL,因此这些字段为NULL的行不会违反唯一约束。我的目标是将其作为一个约束,因为我正在尝试更新冲突(UPSERT)。 桌子的结构是这样的 我在这里发现了另一个问题,我可以按照以下方式做一些事情 我不确定在where子句中有两个字段时这是否真的有效,但如何在冲突时调用这个唯一索引呢? 或者我

  • 问题内容: 我试图创建一个表,我需要它不允许3个字段相同的行。 当我使用SQLLite在Python中创建表时,使用了以下代码,但几乎没有得到任何结果。它通常在写入2条记录后停止,因此显然可以相信它是重复的。 因此,我希望数据库不允许在ownerID1,ownerID2,accountKey和argID1相同的记录。 谁能帮我这个忙吗? 谢谢! 问题答案: 我不确定是什么问题。它在这里工作正常:

  • 问题内容: 以下代码适用于,它是否也返回重复的笛卡尔积,如果是,如何获得唯一的笛卡尔积? 当我传递包含列表的列表时,这似乎也不起作用 问题答案: 要仅获取唯一元素,可以使用这样的set表示法( 注意: 这不能保证顺序) 或根据Paul Draper的评论,我们可以像这样 如果您也想维护订单 要使您的程序可以使用列表列表,只需将函数声明从 至

  • 问题内容: 我正在将一个小文件(8.5 Mb)上传到烧瓶测试服务器。 文件上传完成后,服务器报告: 现在,服务器具有足够的可用空间-超过3Gb。 我查看了Werkzeug github存储库,以查找Werkzeug尝试写入的位置,但无法对其进行跟踪。 我还检查了tempfile.gettempdir(),该文件将/ var / tmp用作临时文件目录,但是该文件夹实际上是空的,因此我不认为这是造成

  • 问题内容: 我正在将SEAM 2 / Hibernate与PostgreSQL 9数据库一起使用。我有下表 我想添加一个约束,以确保每个新条目都具有active_band_user和active_band_date的唯一组合。 每秒可能有许多次尝试插入,因此我需要尽可能地提高效率,是否可以在实体映射中使用SEAM /hibernate注释? 提前致谢 问题答案: 没有Hibernate注释在插入/

  • 我有一个DAG(有向无环图),它有不止一个有效的拓扑排序。我正在寻找一种方法来排序它的拓扑,并应用一个二级排序总是得到相同的,定义良好的结果。 a-->b A->C B->D