LTO墨盒内存读卡器

时间:2013-11-20 10:55:04

标签: c# memory rfid

我可以在C#中无故障地阅读LTO磁带。

每个墨盒中还有一个墨盒内存(LTO-CM)。 http://en.wikipedia.org/wiki/Linear_Tape-Open

我想读/写这个芯片中的一些字节......我怎么能用C#做什么?

3 个答案:

答案 0 :(得分:2)

看起来在C#.NET和其他编程语言/框架中都没有通用/通用方法来读取LTO盒式磁带存储器。

为此目的,只能使用.NET编写的特定驱动器型号特定工具。您可以在制造商的网站上找到它。

根据this发布的ADSM.ORG帖子:

  

为了读取CM [ Cartridge Memory ]内容,我们需要访问   它通过特定的驱动器接口,而不是CM的API   本身。

     

访问该信息的方法可能使用专有   每个驱动器制造商的扩展。我的是惠普驱动器,惠普有一个   磁带工具包。

尽管如此 - 根据来自ADSM.ORG网站的thisRichard Sims回复 - 您仍然可以使用SCSI命令访问盒式磁带内存:

  

供应商不认为客户应该需要   访问中型辅助内存 MAM ) - 行业通用名称   盒内非易失性存储器芯片,用于跟踪使用情况和其他信息。

     

手册“IBM TotalStorage LTO Ultrium磁带机 - SCSI参考”   ( GA32-4050 )完整地描述了他们的MAM以及如何通过SCSI读取和写入它   命令。

     

设备驱动程序编程手册(在本例中为“IBM Ultrium   设备驱动程序 - 编程参考( GC35-0483 ))提供了许多 ioctl   这些函数使程序员更容易调用对SCSI的解析   命令;但在这种情况下,我看不到获取MAM数据的现成操作。

     

那些ioctl操作就是那些方便的 ntutil tapeutil 命令   调用以获取信息,我在他们的文档中没有看到他们可以说的任何内容   返回它(虽然它可能会从其他操作中隐式返回)。

答案 1 :(得分:1)

这个项目在C:https://github.com/scangeo/lto-cm

用于读取和写入"文本属性"应该由应用程序或用户使用。大多数其他领域是为驱动器和磁带供应商和制造商保留的。

它通过SCSI命令使用集成在磁带机中的阅读器。

目前它已经过HP和IBM LTO-4驱动器的测试,可能需要对其他硬件进行一些调整。出于某种原因,它也只适用于某些SCSI卡。

我们使用它来编写标识磁带的磁带标签,并提供磁带的完整MD5校验和,以便将来完整性检查,我们在写完整个磁带后计算。

答案 2 :(得分:0)

正如Victor在上一篇文章中所建议的那样,“ lto-cm”允许我们通过SCSI命令与LTO盒带存储器进行通信。

Here是另一个用于读取LTO盒式存储器的Linux bash脚本:LTO-CM-Read

基本上,LTO盒式存储器中有许多属性,例如介质制造商,序列号等,并且“ lto-cm”可以将数据写入/读取到“ USER MEDIUM TEXT LABEL”属性字段(属性标识符的0803h )。此特定属性是主机类型属性,客户端可以在其中使用它来存储特定于应用程序的数据。另一方面,“ LTO-CM-Read”可以从LTO盒式存储器中读取所有属性。但是,没有写数据的功能。

我们还有一个software:LTO-CM-Analyzer

此开源软件利用独立的RFID读卡器直接将数据读/写到LTO盒式存储芯片。您不需要昂贵的磁带机。该软件的概念是使用Proxmark3(= RFID读卡器)从芯片中转储数据,然后使用脚本将其转换为人类可读的数据。另外,Proxmark3支持读/写。有关更多详细信息,请访问this链接。