-3

我有一台可扔掉的廉价笔记本电脑,我想四处转转,​​Thinkpad SL 500。

困扰我的是两个 LED,一个用于无线连接,一个用于休眠,它们根本不亮,虽然它们是功能性的,但我已经在 windows 上尝试过。

所以我想为他们写一个内核驱动程序,没什么大不了的,只是看起来玩内核是个好主意。

我的问题是我应该系统地遵循什么方法来找出哪些设备负责这些 LED(通常,不一定特定于我的硬件),以及哪些驱动程序负责其他两个工作的 LED,蓝牙和电池指示灯?

当我说方法论时,我的意思是一步一步的方法论,每一步都有原因,就像我在这里给其他人的答案一样:What does && mean in void *p = &&abc;

我精通通过大型代码存储库进行 fgrepping,使用静态代码分析器 & co,但我认为我缺乏硬件知识阻碍了我解决这个问题。

PS:我用的是ArchLinux,所以几乎是最新的内核版本。

4

3 回答 3

4

此页面可能是一个不错的起点。我相信 ACPI 驱动程序通常负责笔记本电脑中的休眠 LED 之类的事情。从那里去哪里,我留给读者作为练习。

于 2012-09-06T17:58:38.257 回答
2

您是否已经尝试过lenovo-sl-laptop 驱动程序/sys/class/leds/lensl::lenovocare/据我所知,它支持 LED,并允许您通过文件至少控制 lenovocare led 。有关详细信息,请参阅README文件。

请注意,驱动程序可能已经在 Arch 存储库中可用,您不一定需要自己重新编译驱动程序。抱歉没有更清楚,但我自己既没有 SL500 也没有 Arch,所以我无法验证细节。如果您对使用脚本来摆弄 LED 的各种方式感兴趣,我可能会提供帮助。希望这可以帮助。

于 2012-09-06T22:52:23.213 回答
2

我不确定您的问题是否适合 SO。

但是,我首先会尝试猜测您拥有哪些硬件。hwinfo, lspci,之类的命令lsusb应该会有所帮助。

然后您可以在网上搜索可能相关的输出。

你应该知道你的 wifi 是否在 Linux 上运行,如果是,使用哪些驱动程序。如果它是ndiswrapper你可能不走运。

实际上,您应该尽可能准确地了解您的硬件。

我会就内核或驱动程序相关列表提出更精确的问题。

于 2012-09-06T17:26:12.983 回答