标签: usb

我的 USB 2.0 设备是否全速运行?

如何判断我的 USB 闪存驱动器是否以全速 USB 2.0 运行?目前我只想验证驱动器是否插入了 480 Mbps 端口,但过去我一直不确定给定的设备是 USB 2.0 还是旧版本。除了测试读/写速度之外,我想要一种识别其功能的方法。

usb hardware

13
推荐指数
3
解决办法
3万
查看次数

如何从 USB 安装 Debian?(使用全尺寸图像而不是 netinstall)

我学到了一种使用 netinstall 映像从 USB 安装 Debian 的方法,这很好。但是,这意味着我必须花费数小时和数小时下载软件包才能进行安装。有没有办法可以简单地下载(例如)大多数 gnome 的 CD1 然后使用它?使用此方法的 netinstall 方法不起作用,因为空间不足。(我有足够的空间,是方法有局限性)。我手头很少有 CD,而且有些机器无论如何都没有 CD/DVD 驱动器。

我将研究这个主题并在需要时回答我自己的问题,但同时感谢任何帮助。

usb debian system-installation

13
推荐指数
2
解决办法
6万
查看次数

如果我连接一个物理设备,我怎么知道哪个设备文件属于它?

假设我插入了几个不会自动安装的 USB 驱动器。如何找出哪个设备文件属于哪个物理设备,以便我可以挂载它?

我正在运行 Mac OS X,但我更喜欢一个适用于所有(或至少是最流行的)Unix 系统的答案。我过去在 Linux 上遇到过这个问题。

linux osx bsd usb devices

13
推荐指数
1
解决办法
6552
查看次数

为什么移除设备时不触发此 udev 规则?

我有两只鼠标,其中一只存在鼠标中键和 button6 同时触发的问题。所以我配置~/.Xmodmap了禁用这个按钮。然而,与此同时,我希望我的另一只鼠标仍然可以使用此按钮。所以我写了一个udev规则,xmodmap根据连接的鼠标来改变按钮布局。


设置

这是我目前的设置:

/etc/udev/rules.d/logitech-g7.rules

# deactivate MB 6 when mouse 1 is connected
ACTION=="add", ENV{DEVTYPE}=="usb_device", ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="c51a", RUN+="/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher_wrapper 1", OWNER="user"
# restore defaults when mouse 1 is disconnected
ACTION=="remove", ENV{DEVTYPE}=="usb_device", ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="c51a", RUN+="/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher_wrapper 0", OWNER="user"
Run Code Online (Sandbox Code Playgroud)

/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher_wrapper

#!/bin/bash
/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher "$1"&
Run Code Online (Sandbox Code Playgroud)

/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher

#!/bin/bash
sleep 1
DISPLAY=":0.0"
HOME=/home/user/
XAUTHORITY=$HOME/.Xauthority
export DISPLAY XAUTHORITY HOME

if [[ "$1" == 1 ]] #differentiate between ADD (1) event and REMOVE (0) event
  then
      /usr/bin/xmodmap /home/user/.XmodmapG7 > /dev/null …
Run Code Online (Sandbox Code Playgroud)

usb udev mouse xmodmap

13
推荐指数
1
解决办法
2万
查看次数

如何转储 USB 流量?

我有一个 USB 游戏手柄,我想查看并检查该外围设备实际发送到我的 PC/内核的信号和命令:我该怎么做?

我假设像

cat /dev/bus/usb/006/003
Run Code Online (Sandbox Code Playgroud)

足够了,但显然这个命令会立即返回并打印一些不可读的编码字符。

有没有办法“调试”这样的 USB 设备?

linux debugging usb

13
推荐指数
2
解决办法
2万
查看次数

Linux 上的 USB 转 VGA

2012 年年中我收到了一台 Macbook Pro。虽然它不是我的首选,但它仍然是一个很棒的硬件,对我来说唯一的问题是它只有一个 Thunderbolt 端口,默认情况下我只能插入一个外部显示器。

我在其上使用 Debian 64 位,并且一直在寻找添加第二个外部显示器(总共第三个)的解决方案。我唯一的选择似乎是使用USB 转 DVI/VGA适配器。我知道这些限制,它将用于基本的课程作业和办公用品。

我一直在谷歌搜索一段时间,似乎无法找到任何关于在 Linux 上使用这类设备的可靠信息。我喜欢冒险,所以我不介意弄脏配置文件,尽管我在 Linux 上对这些东西没有太多经验。

有没有人有让这些工作的经验?你会推荐哪种设备?任何帮助/指示/个人经验。

注意:我不是在询问链接的特定设备的信息,我的问题主要是,有没有人有让任何 USB 转 VGA 设备在 Linux 上工作的经验,如果有,是哪个设备?也许对所使用的特定配置进行评论,因为在 Linux 上设置它们似乎很重要。

usb debian multi-monitor macintosh vga-cable

13
推荐指数
3
解决办法
3万
查看次数

蓝牙鼠标断开连接

我正在使用 Debian Jessie(测试)。我有一个蓝牙鼠标(Microsoft Sculpt Comfort),我可以配对并使用它,但是在一段时间不活动(大约 10 分钟)后它停止工作,我必须手动触摸鼠标上设置的可发现按钮并重新-在命令行上配对。

我在 OS X 上试过的同一个鼠标,它可以工作,所以这不是硬件问题

内核 3.14.12-1 (2014-07-11)

我将鼠标与此命令配对:

sudo hidd --connect 30:59:B7:72:A5:A7
Run Code Online (Sandbox Code Playgroud)

正确配对后,这是/var/log/syslog输出

Jan  7 15:22:42 desktop hidd: New HID device 30:59:B7:72:A5:A7 (Microsoft Bluetooth Mouse        )
Jan  7 15:22:42 desktop kernel: [103877.102083] hid-generic 0005:045E:07A2.0009: unknown main item tag 0x0
Jan  7 15:22:42 desktop kernel: [103877.102481] input: Microsoft Bluetooth Mouse         as /devices/pci0000:00/0000:00:02.0/usb2/2-3/2-3:1.0/bluetooth/hci0/hci0:42/0005:045E:07A2.0009/input/input51
Jan  7 15:22:42 desktop kernel: [103877.102884] hid-generic 0005:045E:07A2.0009: input,hidraw3: BLUETOOTH HID v1.29 Mouse [Microsoft Bluetooth Mouse        ] on …
Run Code Online (Sandbox Code Playgroud)

usb debian mouse bluetooth

13
推荐指数
1
解决办法
2万
查看次数

如何通过 bash cd 进入已安装的三星手机

根据 Gnome / Nautilus,这些文件位于: mtp://[usb:001,007]

但:

$ cd mtp://[usb:001,007]
bash: cd: mtp://[usb:001,007]: No such file or directory
Run Code Online (Sandbox Code Playgroud)

并且df -h不一一列举。

虽然lsusb暗示它在那里:

Bus 001 Device 008: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)

bash usb samsung

12
推荐指数
2
解决办法
5763
查看次数

“usb:端口电源管理可能不可靠”实际上是什么意思?

尝试调试以太网 USB-C 适配器的问题时,我发现dmesg报告如下:

usb: port power management may be unreliable
Run Code Online (Sandbox Code Playgroud)

这是什么意思?在哪里可以找到有关此消息的可靠文档?

usb dmesg

12
推荐指数
1
解决办法
6066
查看次数

是否有必要显式刷新 HDD 磁盘写入缓存?

抽象的

有时,Linux 内核不知道外部 USB 存储设备的驱动器写入缓存。在这种情况下是否有必要在分离这些设备之前显式刷新这些缓存?

例子

我使用 WD Elements 外置 USB 硬盘,上面hdparm -I写着

...
Commands/features:
    Enabled Supported:
       ...
       *    Write cache
...
Run Code Online (Sandbox Code Playgroud)

hdparm -W

...
 write-caching =  1 (on)
Run Code Online (Sandbox Code Playgroud)

另一方面,当我插入驱动器时,我收到以下内核消息:

... No Caching mode page found
... Assuming drive cache: write through
Run Code Online (Sandbox Code Playgroud)

根据Kyle Jones 的这个回答,这些内核消息表明内核假设它的写操作将直接进入盘片。

Linux 内核文档中的文件Documentation/block/queue-sysfs.txt 的“write_cache (RW)”部分描述了内核假设通过缓存写入模式的含义(感谢Wayne Conrad):

...“直写”,...还将消除内核发出的缓存刷新。

问题

到目前为止,我从 Linux 系统分离外部 USB 存储设备的标准方法是卸载它上所有已安装的分区,等到驱动器的 LED 停止闪烁,物理拔下 USB 连接器,如果这不会关闭电源设备(有些具有单独的电源),以明确关闭电源。

这种方法是否安全,或者它是否意味着在驱动器写入缓存中丢失未刷新数据的风险,特别是如果内核不知道该缓存?

在后一种情况下,似乎建议在卸载后通过发送 SCSI 同步命令显式刷新驱动器上的写入缓存。例如sg_sync,可以使用 sg3-utils 附带的 which来完成: …

linux command-line cache usb unmounting

12
推荐指数
1
解决办法
2334
查看次数