问题标签 [firewire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
24 浏览

windows - 无需拆卸即可完全访问硬盘

我一边做电脑维修一边工作。标准操作程序是弹出 HDD/SSD,将其安装到备份机器上,然后提取客户端的数据(即,如果驱动器发生故障/出现严重错误,他们的数据会受到保护)。越来越多的情况是,我的办公室看到 SSD 直接焊接到主板上,这使得这种技术变得不可能。

我想知道你们中是否有人知道某种方法可以在不移除驱动器的情况下直接访问磁盘。我想,模拟设备会在大容量存储设备模式下安装手机。这可能已经可以通过使用 Linux LiveUSB 来实现,但我不确定如何。考虑到我们看到的计算机数量和所涉及的数据量,从 LiveUSB 启动并通过网络传输文件的速度慢得令人无法接受。

在 Apple 计算机上,这很简单——插入 Thunderbolt/Firewire 连接器并使用目标磁盘模式直接从驱动器中提取。

tl;博士:在不打开 Windows 计算机的情况下对其进行备份:怎么做?

0 投票
0 回答
186 浏览

python - python QThread 和 pydc1394

我正在开发一个图像采集应用程序。我在 MacOS sierra 上使用 PyQt4、pydc1394(用于火线相机的 libdc1394 Python 包装器),相机是 AVT Marlin F131B。我设法编写了一个可以从相机获取图像的程序,但是,该程序在 10 分钟后崩溃(这个时间可能因不同的计算机而异)返回Segmentation Fault

最初,我怀疑 pydc1394 中存在内存泄漏。但是,当我在停用 QThread.emit 的情况下运行代码时,代码运行得非常好。当我尝试将主窗口连接到 Qthread 对象时,问题就出现了。

附上我的代码。你知道发生了什么吗?

谢谢

0 投票
1 回答
945 浏览

macos - kdp_poll:无调试器设备,带两机调试器

在目标具有 IP 地址之前,我必须使用火线作为我的内核扩展加载。

我的内核扩展在其启动例程中调用 PE_enter_debugger()。

我看到“等待调试器”两次,然后控制台说“kdp_poll:没有调试器设备”。

我认为这意味着 nvram 引导参数是错误的,但我已按照说明进行操作:

主机是 2012 年末的 Mac Mini,macOS 10.12.4 build 16E195。

目标是具有相同 macOS 版本的 2010 年中期 Mac Pro。

我的内核调试套件与 macOS 版本匹配。

谷歌没有任何乐趣。你有我的线索吗?

0 投票
3 回答
224 浏览

linux - 使用 libraw1394 访问内存

我发现 Linux SANE不支持我的 Nikon LS-9000 ED 扫描仪,因此决定使用 Linux Firewire 内核 API libraw1394制作我自己的驱动程序。

尼康最近发布了扫描仪的库程序和命令 API 规范。扫描仪使用串行总线协议 2 (SBP-2) 和IEEE Std 1394-1995标准。

我用 libraw1394 做了一个简单的测试程序,发现我无法读取(或写入)大多数特定于串行总线的寄存器。阅读测试程序如下:

输出(缩写形式)是:

这些偏移不包括最重要的 MANAGEMENT_AGENT 寄存器,对于尼康 LS9000 ED,该寄存器位于 0x30000。我也无法写入该寄存器。

内核中必须有一种内存访问限制。如何将命令写入 MANAGEMENT_AGENT 寄存器,例如查询登录 ORB?

连接扫描仪之前:

扫描仪连接后:

似乎内核模块 firewire_sbp2 在扫描仪连接时启动并且显然进行了登录。firewire_sbp2 中的函数可以在应用程序中使用吗?

0 投票
0 回答
440 浏览

macos - 关于通过火线调试 macOS 内核

有人对通过火线进行 macOS 内核调试有很好的经验吗?

我有两台机器,Mac mini 2014 用于目标,MacBook Pro 2017 用于主机。我按照内核调试工具包自述文件中的说明进行操作,但在主机上它总是显示

错误:当我发出“kdp-remote localhost”时,KDP_REATTACH 失败

在目标机器上,我按照以下说明进行操作。

  1. 禁用 SIP
  2. cp /Library/Developer/KDKs/KDK_10.13.6_17G65.kdk/System/Library/Kernels/kernel.development /Systems/Library/Kernels
  3. sudo nvram boot-args="debug=0x147 kdp_match_name=firewire fwkdp=0x8000 kcsuffix=development pmuflags=1 -v keepsyms=1"
  4. sudo kextcache -invalidate /
  5. sudo reboot

重新启动后,我没有看到“等待调试器...”的信息,它在显示一些系统信息后直接进入登录屏幕。这正常吗?

在主机上,我按照以下说明进行操作。

  1. fwkdp在终端执行命令
  2. 启动lldb并执行kdp-remote localhost

但它总是显示

错误:KDP_REATTACH 失败。

这个错误的任何线索?有人有一些建议来解决这个问题吗?谢谢!

0 投票
0 回答
61 浏览

virtual-machine - 裸机上的硬件物理行为与使用 IOMMU 直通的 VM 有什么区别?

我有一些过时的设备用于运行实验装置。不幸的是,该设备只能在使用 FireWire/IEEE1394 的 WinXP 上运行,这对我们来说越来越难以维护硬件。不幸的是,我们也没有钱来更换这些设备。我们讨论了可能尝试在较新的操作系统上虚拟化 XP 环境。我一直在阅读有关 VFIO/IOMMU 的信息,并想也许我可以通过 FireWire PCI 卡并这样做。

再加上 - 我让它工作。我用 QEMU-KVM 管理程序安装了 XP。设置好,通过火线卡,所有都在VM中被识别,包括当我将设备连接到FW卡时。XP 设备管理器看到它就在那里。

不幸的是,我发现与硬件的实际交互充其量似乎是敏感的。事情以奇怪的、无法解释的方式出现。其中一些让我认为来宾操作系统没有与通过卡正确通信。这令人惊讶,因为我的印象是通过卡直接由客户操作系统使用,无需主机操作系统干预。

我的问题基本上是 - 如果我正在虚拟化一个较旧的系统并通过所需的各种端口/卡,它是否应该表现得像裸机一样?或者在某些情况下,来宾操作系统尝试做的事情与裸机不同(即,当指令离开 VM 时,主机操作系统会改变某些东西)?正如我所说 - 我的印象是客户操作系统直接与硬件交互,但经验让我怀疑这是否真的如此。

我想知道这一点的部分原因是,如果使用其他硬件接口的行为异常(电源由计算机控制的 IE 激光器),其他设备会更危险或导致设备损坏。因此,如果来宾操作系统认为它正在做的事情与实际现实脱节,这是一个安全风险,我想在继续之前了解它。