我的硬件需要将一个模块列入黑名单才能正常工作,我该如何获得这个修复方案?

我有一台Acer Timeline 1830T。当我安装10.10和11.04时,需要将acer-wmi模块列入无线工作的黑名单
我认为我需要在Linux内核上提交一个错误报告,但我不确定。我听说过开发人员在修复某些硬件上的问题时使用"quirk"这个术语。
这确实是一个内核错误吗?我应该采取哪些步骤来确保这个问题得到报告,以便每个使用我的笔记本电脑的人都不必反复遇到这个问题?

1在提交新的错误报告之前,请先检查您的问题是否与 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/560464 相关。 - João Pinto
谢谢你的指点,我很高兴这个问题已经被报告了。 - Jorge Castro
他们不仅仅是黑名单化acer_wmi的原因是,在某些主板上,它可以工作,直到你将其列入黑名单...在其他主板上,除非你将其列入黑名单,否则它无法工作 - 看起来毫无规律(请注意丹尼尔的因素组合声明)。我相信他们正在努力解决这个问题,使其与所有组合一起工作...或者至少与最新的BIOS和所有硬件组合一起工作。可能不会看到它被默认列入黑名单。 - RobotHumans
3个回答

如果你希望事情有所进展,不要只是提交一个错误报告。当然,你应该在Launchpad上提交一个错误报告,但这只是整个过程的开始,特别是对于像这样固有地向上游反馈的问题来说。
  • 弄清楚它的作用

    看看代码,弄清楚它应该做什么。如果你不需要它,为什么还在那里?是其他东西正在替代它的工作吗?如果它是一种仍然有需求的东西,为什么对你来说它不起作用呢?

    你经常会看到为特定硬件编写的软件,比如某个系列的笔记本电脑(例如有几十种不同的Thinkpad硬件驱动程序)。

    根据它的自述文件,这个驱动程序涵盖了无线、LED、蓝牙、3G和背光等功能。对我来说,听起来像是你(或其他人)可能想要的东西,所以默认情况下将其删除或列入黑名单可能是不可取的。

  • 找出它是如何安装到你的计算机上的

    它是从哪里来的?是被拉入内核的吗?是Ubuntu拉取的吗?这将最终决定你需要向哪里投诉。

    对于内核级问题,测试最新的稳定原始内核真的很有帮助。你可以从主线存储库获取一份副本,尽管你可能会发现某些仅限二进制驱动程序与特定的GCC版本不匹配(我遇到过nvidia的问题),所以这不是你想一直运行的东西。

    如果使用原始内核仍然存在问题,请向上游报告一个错误,并将其链接到Launchpad的错误并向后跟踪。一个很好的双向链接的错误将帮助大家保持在同一页上。

    在这种情况下,听起来它是一个内核中的驱动程序(即它的源代码被拉入内核存储库并进行构建)。

  • 找到负责人

    只是在Launchpad上发布一个错误并希望它能找到正确的人是不合理的。我认为只有少部分开发人员通过它跟踪他们的错误,所以你需要找到软件的维护者并与他们联系。

    开始给陌生人发电子邮件可能会感觉粗鲁,但这个软件是他们的心血结晶。如果它不工作,我认为他们会想知道的。十有八九,他们还会帮助你找出问题所在。

    如果它仍然得到维护,请获取调试说明。检查确保你的硬件兼容。

    如果它已经不再得到维护,并且你可以与旧的维护者确认这一点,请在内核中报告一个错误,提醒人们有一部分代码正在腐烂,并且它给你带来了问题。

  • 向相关人员提出建议

    当你知道问题所在时,不要自己憋着。确保你对你的错误采取行动。

    如果问题可以在驱动程序中修复,追踪内核开发人员以将新版本拉入开发发布。询问是否可以将其回溯到2.6.35版本供现有的Ubuntu用户使用。与内核团队讨论将

    我想表达的重点是,当你自己进行分类,并与合适的人交流时,事情会得到更多关注,并有更大的机会取得良好结果。
    绝对不要停下来,如果你看到另一个遇到相同问题的人。订阅它,评论他们的错误,询问他们找到了什么,问问他们对此做了什么...然后继续前进。不要依赖他们来解决你的问题。
    这就是开放源代码应该运作的方式。通过良好的、开放的沟通来实现合作。清楚地传达你的问题,尽力提供帮助,你就有很大机会获得更高质量的软件。

感谢您的格式化 - 这让我只需要阅读标题并跳过大部分文本。 :P - ulidtko

这是一个内核错误¹,所以您需要在终端中使用ubuntu-bug linux。然后,您需要修改创建的错误报告,添加说明您需要将acer-wmi列入黑名单,作为无线芯片组不按预期工作的权宜之计。


¹ 从技术上讲,这并不是一个内核错误,而可能是损坏的硬件、BIOS和内核驱动程序的组合。好消息是,它很可能可以在内核中绕过,因此才会松散地使用“内核错误”这个词。

作为Ubuntu内核团队的一员,特别是作为“内核错误专家”,我同意Daniel的回答,因为它总结了工程师们认为是整个问题的全部。这并不是要贬低Oli的回答
在高度技术化的终端用户领域,Oli的回答完全正确,因为它是我们期望具有相当技术能力的人所采取的步骤,然而,我们的目的(实际上是整个网站的目的)是指导那些不太懂技术的用户。
我们的主要目标必须是为他们提供快速准确的答案,让他们能够继续使用我们构建的软件。我最喜欢的说法是:“如果不简单,他们就不会去做。” 这里的“他们”指的是用户在某个特定时刻的身份。
说了这么多,鉴于我个人对Oli的帖子的完整性的钦佩,我必须诚实地说,这个网站的读者中很少有人会把它全部阅读完。他们可能也不会完全阅读我的帖子,这没关系。
最后,丹尼尔的回答正是我们在这里所需要的。它传达了我和团队对这些问题的印象,以及我们首选的解决方法。