我有一个关于 Linux 端口的问题。如果我通过 USB 连接我的设备并想检查它的端口,我不能使用命令 lsusb 来完成它,它只指定了该总线上的总线编号和设备编号:
[ziga@Ziga-PC ~]$ lsusb
Bus 003 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Run Code Online (Sandbox Code Playgroud)
是否有命令可以告诉我设备直接连接到的端口?到目前为止,唯一的方法是断开连接并重新连接并使用以下命令:
[ziga@Ziga-PC ~]$ dmesg | grep tty
[ 0.000000] console [tty0] enabled
[ 0.929510] 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 4.378109] systemd[1]: Starting system-getty.slice.
[ 4.378543] systemd[1]: Created slice system-getty.slice.
[ 8.786474] usb 3-4.4: FTDI USB Serial Device converter now attached to ttyUSB0
Run Code Online (Sandbox Code Playgroud)
在最后一行中,可以看到我的设备已连接到/dev/ttyUSB0。
USB 存储设备有可能在逻辑上断开连接:该设备仍处于插入状态,但在操作系统中是不可见的(例如,它未在 下列出/proc/bus/usb)。也许这也可能发生在其他类型的 USB 或其他可移动设备上。例如,这可能发生:
驱动程序或硬件中发生了什么,最重要的是,(如何)可以逻辑地重新连接设备(无需物理地将其拔出并重新插入)?
请注意,此问题与安装无关。在“逻辑断开”状态下,内核认为 USB 总线上没有任何内容(因此当然在 下没有条目/dev)。
我有一个 Arduino,有时会绑定到 ,有时会绑定/dev/ttyUSB0到/dev/ttyUSB1,使我的脚本失败。
我不想列举我的设备可能在哪里的所有可能性,但我宁愿将它绑定在某个静态的地方,例如/dev/arduino.
我如何做到这一点?
在当前的 Linux 发行版(如 Debian/CentOS/Fedora)下,在 USB 设备插件上自动执行自定义脚本的最先进方法是什么?
例如,如果您想根据 UUID(或设备 ID 等)自动挂载/复制某些文件/卸载 USB 大容量存储设备。
我已经将我的 HTPC 从内核3.7.10更新到3.10.7,似乎CONFIG_USB_SUSPEND现在从内核选项中消失并包含在 PM 中。
我面临的主要问题是我有一个外置硬盘,当挂起和唤醒 HTPC 时,系统无法使用它。HDD 唤醒(您可以听到它再次旋转),但是当您尝试访问挂载点时,您会收到以下错误:
ZOTAC ~ # ls /media
ls: reading directory /media: Input/output error
Run Code Online (Sandbox Code Playgroud)
在 dmesg 上:
[ 253.278260] EXT4-fs warning (device sdb1): __ext4_read_dirblock:908: error reading directory block (ino 2, block 0)
Run Code Online (Sandbox Code Playgroud)
在以前的内核中,设置 CONFIG_USB_SUSPEND=N 可以解决这个问题,因为 HDD 会自行处理其休眠状态,并且挂载点始终是可访问的。当 HDD 处于睡眠状态并且 HTPC 需要 HDD 安装点的某些内容时,HDD 本身会唤醒并正常运行。
现在我尝试了以下但没有成功:
但是当再次唤醒HTPC时,挂载点再次无法访问。作为解决方法,我可以卸载并重新安装挂载点,它可以再次正常工作,但我确信应该有一种方法可以避免让操作系统处理 USB 自动挂起。
知道如何在内核 3.7.10 或更高版本上禁用 USB 自动挂起吗?
我有一个通过 USB 向我的计算机发送信息的设备。Arch Linux的创建一个名为文件设置该设备ttyUSB0在/dev/。我一直在使用GTKterm接收这些传入信息并将其显示在模拟终端窗口中。
我的问题是,究竟如何GTKterm读/写这个ttyUSB0文件,我可以从哪里开始学习如何实现类似的功能?也就是说,在最基本的形式中,我如何将字符写入ttyUSB0,或者相反,接收一个字节并将其写入文件?
我以前也遇到过类似的问题,但我不记得我是如何解决的。
当我尝试使用 FAT 将某些内容复制到 USB 记忆棒时,它会在接近尾声时停止,有时是 100%。当然,当我将记忆棒转移到其他地方时,它不包含完整的文件。(文件是一部电影!)
我试图用 mount -o flush 挂载设备,但我遇到了同样的问题。
另外,我确实用新的 FAT 分区格式化了 U 盘...
知道我感冒了吗?
ps 我相信它与操作系统无关,这是 Debian,我相信从 SSD 驱动器应对不会让它卡住。
我知道如何/etc/fstab在启动时或执行时自动挂载设备sudo mount -a,这很好用。例如,这是我设备的当前线路
UUID=B864-497A /media/usbstick vfat defaults,users,noatime,nodiratime,umask=000 0 0
Run Code Online (Sandbox Code Playgroud)
在系统已经运行的情况下插入这个已知UUID的USB设备时,如何实现自动挂载,这样我就不必sudo mount -a在插入后运行了?
附加信息:我正在开发一个最新的仅限控制台的 Debian wheezy linux。
有没有办法检查 USB 设备需要多少电量?
为什么我需要这个?
我需要将 LTE U 盘连接到我的 Raspberry Pi,但不知道它需要多少功率。我们在 Windows 上很容易得到它,但还没有找到在 Linux 上做到这一点的方法。
我在我的主机上看不到 VirtualBox 来宾 VM 中的任何 USB 设备。如何为我的来宾 VM 启用访问权限?

usb ×10
linux ×4
serial-port ×2
arch-linux ×1
arduino ×1
automounting ×1
clipboard ×1
debian ×1
dmesg ×1
fstab ×1
kernel ×1
lte ×1
mount ×1
nautilus ×1
suspend ×1
tty ×1
udev ×1
usb-drive ×1
uuid ×1
virtualbox ×1