Questions tagged «hardware»

有关Linux / Unix下硬件的一般问题。如果适用,请使用更具体的标签。

10
如何知道/ dev / sdX是连接的USB还是HDD?
我怎么知道 /dev/sdX是本地硬盘还是USB闪存盘?我更希望在没有root特权的情况下执行此操作。 好, udevadm帮了很多忙: 对于本地硬盘: udevadm info --query=all --name=sdb | grep ID_BUS E: ID_BUS=ata 对于USB密钥: udevadm info --query=all --name=sdc | grep ID_BUS E: ID_BUS=usb

4
没有帧缓冲设备:如何启用它?
这个问题是从Server Fault 迁移过来的,因为可以在Unix&Linux Stack Exchange上回答。 迁移 7年前。 我试图在运行Debian Squeeze的无头家庭服务器中使用PCMCIA调谐器卡。现在,由于我很难找到正确的命令行来捕获,使用VLC将视频转码结束流到网络,因此我遇到了很大的麻烦,因此我决定逐步进行操作,然后首先处理本地输出。 那就是问题所在:似乎没有可访问的帧缓冲设备(/ dev / fb0)在附加的屏幕上显示图形!确实,我注意到我在启动时没有Linux企鹅映像(在连接屏幕之前没有注意,但始终处于关闭状态,并且无论如何始终处于开机状态)。 由于我对Linux图形不是很熟悉,所以我想了解一下: 这与我的特定硬件有关(见下文)吗?还是特定于Debian Squeeze /内核版本/ ...? 我需要手动安装/加载一些驱动程序吗? 现在一些基本信息: 该计算机没有专用的图形卡,但是在主板(技嘉G31M-ES2L)上嵌入了嵌入式图形芯片组(英特尔G31 Express)。 我不想安装功能齐全的X服务器,只需安装用于此特定测试的帧缓冲设备 关于这个问题有什么想法/意见吗?

4
为什么Linux可以很好地扩展到不同的硬件平台?
为什么Linux在这么多不同类型的计算机(台式机,笔记本电脑,服务器,嵌入式设备,移动电话等)上运行良好?是否主要是因为系统是开放的,所以可以对其一部分进行修改以在不同的环境中工作?还是Linux内核和/或系统的其他属性可以使该OS轻松在如此广泛的平台上工作?
22 linux  hardware 


6
生成一致的机器唯一ID
我们能否为每台PC生成唯一的ID,例如uuuidgen,但是除非进行硬件更改,否则它永远不会改变?我当时正在考虑合并CPUID和MACADDR并对其进行哈希处理以生成一致的ID,但是我不知道如何使用bash脚本解析它们,我知道如何从中获取CPUID dmidecode -t 4 | grep ID 和 ifconfig | grep ether 那么我需要组合这些十六进制字符串,并使用sha1或md5对其进行散列以创建固定长度的十六进制字符串。 如何解析该输出?

6
是什么原因造成的?pcieport 0000:00:03.0:PCIe总线错误:AER / TLP错误
我看到以下错误消息: Nov 15 15:49:52 x99 kernel: pcieport 0000:00:03.0: AER: Multiple Corrected error received: id=0018 Nov 15 15:49:52 x99 kernel: pcieport 0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0018(Receiver ID) Nov 15 15:49:52 x99 kernel: pcieport 0000:00:03.0: device [8086:6f08] error status/mask=00000040/00002000 Nov 15 15:49:52 x99 kernel: pcieport 0000:00:03.0: [ 6] …
20 hardware  pci 

4
使用Linux对SD卡进行压力测试
昨天,我与某人就我的回答的逻辑和/或准确性进行了一次小辩论,即,在体面(GB +)大小的SD卡上记录和维护fs元数据可能永远不足以使卡磨损在合理的时间内(数年和数年)。反驳的理由似乎是我一定错了,因为网上有很多关于SD卡磨损的故事。 由于我的设备中确实装有SD卡,其中包含24/7保留的rw根文件系统,因此我之前对前提条件进行了测试,令我感到满意。我对测试进行了一些调整,重复了一下(实际上是使用同一张卡片),并在这里进行介绍。我有两个核心问题: 是我曾经试图破坏该卡可行的,记住它的目的是不断重现的影响,重新编写方法小数据量? 我用来验证卡的方法仍然可行吗? 我将问题而不是SO或SuperUser放在这里,因为对第一部分的异议可能必须断言我的测试并未真正按照我确定的方式写入卡,并且断言这需要一些时间linux的特殊知识。 [也可能是SD卡使用某种类型的智能缓冲或高速缓存,因此对同一位置的重复写入将在不太容易磨损的位置进行缓冲/高速缓存。我在任何地方都没有发现任何迹象,但是我正在SU上询问有关问题] 测试背后的想法是将卡上的同一小块写入数百万次。这远远超出了此类设备可以维持多少个写入周期的任何要求,但是假定损耗均衡是有效的,如果卡的大小合适,那么数百万次此类写入仍然无关紧要,因为“同一块”会字面上不是同一个物理块。为此,我需要确保每次写入都确实刷新到硬件和相同的外观位置。 为了刷新到硬件,我依靠POSIX库调用fdatasync(): #include <stdio.h> #include <string.h> #include <fcntl.h> #include <errno.h> #include <unistd.h> #include <stdlib.h> // Compile std=gnu99 #define BLOCK 1 << 16 int main (void) { int in = open ("/dev/urandom", O_RDONLY); if (in < 0) { fprintf(stderr,"open in %s", strerror(errno)); exit(0); } …

2
以人类可读的形式获取显示器的品牌和型号以及其他信息
我已经提取了连接到计算机的当前监视器的简化版本。 这是一个例子: vendor "VSC", prod id "18500" 在Ubuntu的Monitor Preferences中,它标识为Viewsonic Corporation 16"。 如何提取这种可读的表格?...以及如何确定监视器是a CRT还是a LCD?(这实际上是促使我开始执行此任务的原因) EDID格式可在Wikipedia上找到:扩展的显示标识数据 这是用于获取EDID Vendor和Product id edid=$(xrandr -q --verbose | sed -n '/^[[:space:]]\+00ffffffffffff00/,/[^a-fA-F0-9[:space:]]/{ /[^a-fA-F0-9[:space:]]/d s/[[:space:]]\+//g; p}') nibble=({0..1}{0..1}{0..1}{0..1}) vend=$(for i in {16..19} ;do printf "%s" ${nibble[$((16#${edid:$i:1}))]} done) vend="$(for i in 1 6 11 ;do printf \\x$(printf %x $((2#${vend:$i:5} +64))) …

5
列出Linux中ARM计算机的所有组件?
我有一台基于ARM的计算机,在运行Ubuntu Linux(非GU​​I)时似乎可以正常工作。如何获得此计算机上所有组件的列表?例如以太网芯片,Wifi芯片,蓝牙,CPU,电源管理芯片等类型。
18 debian  hardware  arm 

3
Linux下如何检测内存类型?
哪个Linux实用程序可以告诉我服务器中是否已注册或未缓冲的ECC内存?Lshw并dmidecode没有对我的工作; dmidecode不提供有关已注册与未缓冲的信息: Handle 0x0022, DMI type 17, 28 bytes Memory Device Array Handle: 0x0021 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: DIMM-1A Bank Locator: Not Specified Type: <OUT OF SPEC> Type Detail: Synchronous Speed: 1066 …
17 linux  hardware  memory 


1
使用WACOM数位板笔滚动
我有一个带按钮的wacom笔。按下按钮移动笔时如何触发滚动? 根据xev下文,触发事件是状态为0x200的MotionNotify。 如果这不是一件容易的事,那么我要建立一个服务来从某个地方读取这些事件并将它们转换为其他事件。这样,我也可以定义手势。使用这种方法: 我在哪里可以阅读? 如何写回事件? 是否有用于检测手势的库? MotionNotify事件,序列号33,合成NO,窗口0xc00001, 根0x2ce,子0x0,时间695630659,(349,181),根:(1255,185), 状态0x0,is_hint 0,same_screen是 ButtonPress事件,序列号33,合成NO,窗口0xc00001, 根0x2ce,子0x0,时间695630659,(349,181),根:(1255,185), 状态0x0,按钮2,same_screen是 MotionNotify事件,序列号33,合成NO,窗口0xc00001, 根0x2ce,子0x0,时间695630667,(348,183),根:(1254,187), 状态0x200,is_hint 0,same_screen是 MotionNotify事件,序列号33,合成NO,窗口0xc00001, 根0x2ce,子0x0,时间695630675,(347,184),根:(1253,188), 状态0x200,is_hint 0,same_screen是 ... MotionNotify事件,序列号33,合成NO,窗口0xc00001, 根0x2ce,子w0x0,时间695632069,(327486),根:(1233,490), 状态0x200,is_hint 0,same_screen是 ButtonRelease事件,序列号33,合成NO,窗口0xc00001, 根0x2ce,子w0x0,时间695632069,(327486),根:(1233,490), 状态0x200,按钮2,same_screen是
15 linux  xorg  hardware  wacom 

9
在Linux下如何刷新固件?
好吧,我感觉太老了,无法跳过通过通用的特定于供应商的方式升级的固件:下载一些DOS工具,浪费时间创建(Free-)DOS引导介质,并浪费更多时间来制作BIOS从那里实际启动,最后刷新固件升级。 这就是1980年代。 我遇到了Coreboot项目中的一些linux flash工具。它似乎支持各种FLASH芯片。但是它在实践中如何运作? 我想将供应商提供的固件升级转换为正确的格式存在一些陷阱。或确定正确的目标芯片呢? 当前,例如,我可能必须升级: 某些Seagate 1.5 TB磁盘的固件 旧的Abit Athlon 64主板的固件(Award BIOS) Thinkpad的BIOS /嵌入式控制器-BIOS 如何在Linux系统上升级设备固件?



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.