问题标签 [device-node]

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 回答
2716 浏览

linux - 打开设备失败

我正在尝试写入 /dev/simulator 文件。我使用以下方法创建了此设备:

  • # mknod /dev/simulator c 60 0
  • # chmod 666 /dev/模拟器
  • # ls -l /dev/模拟器
  • crw-rw-rw- 1 根 60, 0 2012-05-22 19:22 /dev/simulator

我正在尝试打开此设备并在其上写一些东西,但出现错误:

应用程序:模拟器打开失败

这是我在条件下定义的,但为什么我无法进入设备?这是我的代码:

谁能帮我纠正我的错误?

0 投票
0 回答
61 浏览

linux - read()/select() 错误和可能的恢复

我的嵌入式系统运行 Linux 操作系统。该系统有两个通过 USB 连接的操纵杆。我的程序应该在这两个设备准备好时读取它们中的任何一个,并将操纵杆键信息传递给上层。
我的程序执行以下操作。

  1. 如果游戏杆文件/dev/js0/dev/js1尚未打开,则打开它们。
    即如果 fd0 或 fd1 == -1(默认值为 -1)打开它。
  2. select() // maxfd+1 和 readset 被传递给 select
  3. 无论哪个设备准备就绪,程序都会使用read()来读取数据。
  4. 上述所有三个步骤都在计时器中定期完成。

上面的代码工作正常。没有问题。
作为负面测试案例的一部分,我在打开并成功读取 USB 后从 USB 中移除了一个操纵杆。我开始看到以下 perror ->“read() failed: no such file or device.

我想处理这个错误,这样如果操纵杆被移除并重新插入,代码应该相应地重新打开它而不会出现任何问题。

一旦遇到上述错误,我就尝试关闭设备并将我的 fd 设置为 -1,以便在步骤 1 中重新打开它。但这不起作用。我目前正在调试它。我认为close()在没有遇到此类文件或设备错误后无法正常工作。

如果有人遇到过此类问题或知道如何处理此类情况(USB 设备在打开后移除并插入),请提供您的意见。

非常感谢。问候, 艾默生

0 投票
1 回答
444 浏览

c++ - 如何:在给定文件描述符的情况下,获取包含文件的设备的设备节点

就那么简单。我有一个打开文件的文件描述符,我想知道包含它的设备的节点名称。

0 投票
2 回答
7352 浏览

linux - 用于 sd 卡的 Linux 设备节点作为 mmcblk 以访问 CSD 寄存器

我正在尝试访问 SD 卡上的 CSD(卡特定数据)寄存器。我知道这样做的唯一方法是让 linux 系统将其识别为 mmc 设备(多媒体卡?)(例如 /dev/mmcblk0)。现在该设备显示为一个 scsi 磁盘(例如 /dev/sda)。

当作为 scsi 磁盘挂载时,有什么方法可以访问 CSD 寄存器(卡特定数据)?

有什么方法可以让内核将设备识别为 mmc?

谢谢。

0 投票
1 回答
55 浏览

linux - 手动关联设备节点和物理磁盘

我是 Linux 架构的新手,我想知道如果可能的话,如何在没有 udev 的情况下创建像 sdb 或 sda 这样的设备文件并将其与物理磁盘相关联。我已经在 VBOX 中创建了一个硬盘,现在我正在从头构建一个 Linux 系统,它具有非常少的功能并且没有 udev。那么是否可以在最小的Linux中创建设备文件并将VBOX硬盘与设备文件相关联。

0 投票
3 回答
5114 浏览

c - 如何在 dev_t 和主要/次要设备号之间转换?

我正在尝试编写一个处理ustar档案的可移植程序。对于设备文件,这些档案存储主要次要设备号。但是,struct stat在 POSIX 中列出的 仅包含使用“设备 ID(如果文件是字符或块特殊文件)”描述 st_rdev的类型的单个成员。</p>dev_t

如何在一对主要设备号和次要设备号与以可移植方式st_rdev返回的单个成员之间进行转换?stat()

0 投票
1 回答
261 浏览

linux-device-driver - Linux - 设备节点名称以“?”结尾 这是什么意思?

我有一个由内核正确初始化的 Zigbee RF4CE 设备驱动程序。但是,当我的用户空间应用程序想要打开设备时,我收到错误:错误:打开设备失败:没有这样的文件或目录

在 /dev 文件夹中执行 ls 显示设备名称以问号“?”结尾

我想知道为什么会这样,当我正在使用的创建节点的脚本文件中的设备名称中没有显式添加特殊字符时。

这是脚本的一部分:

我该如何解决这个问题?

0 投票
1 回答
35 浏览

c - 不同设备的相同设备节点:更改一个节点的值会影响另一个节点 - 如何解决?

我有一个关于 Linux 内核设备节点的问题,创建的节点示例在同一个类中,但设备不同,但节点名称相同。如果我改变一个节点的值,另一个节点也会改变:如何防止这种情况发生?

例子:

0 投票
0 回答
7 浏览

android - 如何映射设备节点和 uuid

我在 Android OS(Linux 基础)上作为 USB 框架开发人员工作。

目前在项目中,我需要在连接 USB 存储时映射 UUID 和设备名称。我一直在研究,但找不到合适的解决方案。

设备节点 = "/dev/bus/usb/001/002" UUID = "/storage/ A2FA-9675(UUID)

如果您知道如何在 Android 或内核层映射 UUID 和设备名称(设备节点),请帮助我