标签: usb

Linux 上 USB3 外部存储的连接问题(UAS 驱动程序问题)

在 Ubuntu 15.10 上,当我想使用 NTFS 文件系统格式化通过 USB3 连接的外部 4TO 磁盘(在 StarTech USB/eSATA 硬盘底座上)时,我有很多I/O 错误,并且格式化失败。

我在最新的 live CD 上尝试了 GParted v 0.19 和 GParted,但遇到gparted-live-0.23.0-1-i586.iso了同样的问题。

之后,在 Ubuntu 15.10 和相同的 USB3 连接上使用 GParted,我尝试格式化为ext4,没有问题。这真的很奇怪。

因为不知道mkfs.ext4GParted用来格式化磁盘的工具是不是对磁盘进行了像(或不像)这样的测试mkntfs,所以首先假设问题出在新磁盘上。也许这个新磁盘引起了问题。所以我尝试e2fsck -c在这个硬盘上运行。在 Ubuntu 15.10 上,e2fsck -c冻结在 0.45%,我不知道为什么。

因此,在同一台 PC 上使用另一个版本的 Ubuntu (15.04),我尝试使用 StarTech HDD 扩展坞的 eSATA 连接来连接同一个 4TO 磁盘。这一次,e2fsck -c运行正确。

几个小时后,您可以看到结果:

sudo e2fsck -c /dev/sdc1
e2fsck 1.42.12 (29-Aug-2014)
ColdCase : récupération du journal
Vérification …
Run Code Online (Sandbox Code Playgroud)

drivers kernel usb external-hdd e2fsck

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

如何安全地将 U 盘/设备插入 Linux 计算机?

将 U 盘或设备插入计算机时,始终存在设备是恶意的风险,将充当 HID 并可能对计算机造成一些损害。我怎样才能防止这个问题?在特定 USB 端口上禁用 HID 是否足够?我怎么做?

security usb hid usb-device

26
推荐指数
2
解决办法
3182
查看次数

挂载无法识别的 U 盘

使用 Arch Linux / XFCE,我经常遇到未正确安装的 USB 驱动器问题。有时它们会自动出现在 Thunar 中,我可以一键安装它们。但是,在其他时候(大约是五十/五十),只是无法识别驱动器。我在使用 USB 外置硬盘、USB 记忆棒和相机时遇到过这个问题。如果无法识别外部驱动器,则是这种情况:

  • 驱动器根本不显示fdisk -l(它只显示我的硬盘驱动器)
  • 驱动器没有出现在 /dev/disk
  • 驱动DOES运行时出现lsusb

所以有某种认识,但我不明白为什么,也不知道发生这种情况时如何安装驱动器。我只是重新启动并希望下次可以正常工作,这显然不方便......

更新

当我监控时/var/log/everything.log(系统日志中没有信息),然后我在插入 USB 时看到这种情况:

Dec 14 15:36:32 localhost kernel: [ 6591.042911] usb 1-3: new high speed USB device number 9 using ehci_hcd
Dec 14 15:36:32 localhost mtp-probe: checking bus 1, device 9: "/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-3"
Dec 14 15:36:32 localhost mtp-probe: bus: 1, device: 9 was not an MTP device
Run Code Online (Sandbox Code Playgroud)

这是另一个请求的输出:

$udevadm monitor
monitor will print the received …
Run Code Online (Sandbox Code Playgroud)

arch-linux usb mount usb-drive

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

无法使用基于USB转串口芯片的USB dongle

我有 USB Zigbee 加密狗,但无法连接到它。它短暂地出现在 中/dev/ttyUSB0,但很快就消失了。我在控制台中看到以下输出:

$ dmesg --follow
...
[  738.365561] usb 1-10: new full-speed USB device number 8 using xhci_hcd
[  738.607730] usb 1-10: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
[  738.607737] usb 1-10: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[  738.607739] usb 1-10: Product: USB Serial
[  738.619446] ch341 1-10:1.0: ch341-uart converter detected
[  738.633501] usb 1-10: ch341-uart converter now attached to ttyUSB0
[  738.732348] audit: type=1130 audit(1632606446.974:2212): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=brltty-device@sys-devices-pci0000:00-0000:00:01.3-0000:03:00.0-usb1-1\x2d10 …
Run Code Online (Sandbox Code Playgroud)

linux usb

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

插入 USB 驱动器时会发生什么?

USB 事件从内核空间到用户空间的流程是怎样的?当我插入 USB 驱动器时,我的桌面上会出现一个弹出窗口——从检测到新的 USB 驱动器到安装它并显示该弹出窗口的事件顺序是什么?

usb hot-plug

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

如何解释“lsusb”的输出——所有这些 Linux Foundation 根集线器是什么?

我最近在解决耳机问题时发现了 lsusb 命令。

我的笔记本电脑运行 debian,目前没有任何东西插入 USB,但是当我运行“lsusb”命令时,我仍然得到相当多的输出:

root@t500:~# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 0a5c:2145 Broadcom Corp. Bluetooth with Enhanced Data Rate II
Bus 004 Device 002: ID 08ff:2810 AuthenTec, Inc. AES2810
Bus 004 Device 001: ID …
Run Code Online (Sandbox Code Playgroud)

usb debian

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

通过 cli 断开并重新连接 USB 端口

我有一个鼠标会随机停止工作。解决办法很简单,拔掉再重新插上。有没有办法通过命令行来做到这一点?通过命令行执行有一些优点。

  1. 不会磨损连接器。
  2. 快点。
  3. 省去了我在桌子底下爬行的麻烦。
  4. 最重要的是:防止我不小心拔掉其他东西。

另外我很好奇如何做到这一点。

操作系统是 Debian 8。

谢谢!

usb

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

USB 总线编号和设备编号是如何分配的?

使用时 lsusb,我发现一个USB设备的总线号和设备号会时不时的发生变化。据我了解,总线编号可以在每次重新启动时更改。设备编号将在每次重新连接时更改。

我的问题是系统使用什么算法来获取总线号和设备号?尤其是设备号,是不是单调的?是否会出现在不重新启动操作系统的情况下,一个重新连接的设备正在使用另一个重新连接的设备的旧总线号和设备号的情况?

usb

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

我应该如何配置 grub 以从 USB 硬盘驱动器启动 linux 内核?

我在外部机箱中有一个笔记本电脑硬盘驱动器,用作大型笔式驱动器。另外,我在其上安装了 Linux,因此我可以使用我选择的发行版启动任何机器(例如,用于数据恢复或修复 b0rked 系统或仅使用借来的笔记本电脑而不破坏预装的 Windows)。

问题是,根据硬件配置,USB 硬盘驱动器可能在不同路径下可见。对于 grub 配置,我只是使用(hda0,0)它,因为它与启动 grub 的设备相关。我在/etc/fstab. 我还在rootwait内核参数中指定,以便它在尝试挂载设备之前等待 USB 子系统稳定下来。

我应该将什么传递给内核root=?目前,从 pendrive 启动一次,检查调试消息以查看/dev/sdX内核已将哪些设备分配给 USB 驱动器,然后重新启动并编辑 grub 配置。除了Boot from USB hard drive在 BIOS 中启用并将其设置为比内部硬盘驱动器更高的优先级之外,我无法更改 PC 上的任何内容。

有多种 initrd 生成脚本在根设备路径中包含对 UUID 的支持,不幸的是,Gentoo 原生脚本(genkernel)不支持rootwait,我没有运气尝试使用其他脚本。

启动过程是这样的(在 Windows 中非常相似):

  1. BIOS 选择引导设备并加载其 MBR(恰好是 grub stage-1)。
  2. Grub 从它设置为的设备加载它的配置和第 2 阶段文件root,使用(hd0)它从 BIOS 加载的设备。
  3. Grub 加载并启动内核(仍然是相同的编号,所以我可以(hd0,0)再次使用)。
  4. 内核初始化所有内置设备(rootwait现在是不是很神奇)。
  5. 内核挂载它作为传递的分区root(这是一个内核参数,而不是 grub …

linux boot kernel usb grub2

22
推荐指数
2
解决办法
4362
查看次数

将带有自定义 PID 的 USB 串行设备连接到嵌入式上的 ttyUSB0

我试图让一个带有自定义 PID 的 FTDI USB 串行设备自动(甚至手动)连接到 ttyUSB%n,但没有取得多大成功。设备的正常 VID/PID 为 0403/6001。以这种方式编程时,它可以完美运行并在插入时自动将自身连接到 ttyUSB0。即使重新编译驱动程序以尊重我们的新 PID,当使用自定义的 ttyUSB0 编程时,也不会出现,但它确实将其识别为 ftdi_sio 设备并且加载驱动程序。

我已将我们的 PID 添加到标题和源代码中:

// in ftdi_sio_ids.h
#define FTDI_CUSTOM_PID 0xABCD // not the actual pid
Run Code Online (Sandbox Code Playgroud)
// then in ftdi_sio.c
static struct usb_device_id id_table_combined [] = {
    // devices....
    { USB_DEVICE(FTDI_VID, FTDI_CUSTOM_PID) },
    // ....
Run Code Online (Sandbox Code Playgroud)

重新编译整个内核并刷新设备。当我插入设备时,我得到:

usb 1-1: new full-speed USB device number 2 using at91_ohci
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device …
Run Code Online (Sandbox Code Playgroud)

drivers embedded usb serial-port

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