跳转至内容

ASUS TX201LA

来自 ArchWiki

本文或章节未遵循 笔记本电脑页面指南

原因: 存根 (请在 Talk:ASUS TX201LA 讨论)

Asus Trio TX201LA 是一款不错的近期(2014年)硬件,它可以将台式机、笔记本电脑和平板电脑集于一体。事实上,平板电脑是另一个话题——可拆卸屏幕运行 Android,超出了本文讨论范围。尽管如此,底座本身(可用作台式机)或连接平板电脑(构成笔记本电脑)可以配备 Intel Haswell Core i7 或 Core i5 CPU、4GB RAM 和 500GB HDD。运行 Linux 几乎是流畅的。

安装

您可以按照标准的 安装指南 进行操作。没有发现 UEFI 问题。

Wi-Fi

当使用 2014.12 镜像和 3.17 内核进行安装时,Wi-Fi 出于某种原因无法工作。似乎它在一些旧版本和 3.18+ 版本中可用,但使用 3.17 版本时您可能需要一个 USB Wi-Fi。Wi-Fi 可以被检测到,wpa_supplicant 可以在其上运行,但它无法在任何频段上关联。这似乎是由过于严格的法规设置引起的,因此您也可以尝试调整 AP 设置以使用安全信道(1-11、36-44)并靠近 AP 来使其工作。

别忘了 安装 wireless-regdb 以及其他必需的无线软件包,以应用不那么严格的区域法规域设置。

这与 3.18 或更新的内核一起,可以某种程度上使 Wi-Fi 工作。为了进一步提高 Wi-Fi 质量,请调整电源管理设置,有效禁用任何类型的 Wi-Fi 电源管理。例如:

echo 'options rtl8821ae ips=N fwlps=N swlps=Y' > /etc/modprobe.d/wifi.conf

切换到软件 PM。如果这仍然无效,您可以通过以下方式关闭 PM:

iwconfig wlp2s0 power off

这实际上是关于电源管理,而不是网卡的电源供应(由 rfkill 管理)。或者永久保留,跨越重启:

echo 'ACTION=="add",SUBSYSTEM=="net",ENV{ID_NET_DRIVER}=="rtl8821ae", RUN+="iwconfig $name power off"' > /etc/udev/rules.d/wifi.rules

如果上述操作无法解决断线问题,请将以下内容添加到 /etc/NetworkManager/NetworkManager.conf:

[device]
wifi.scan-rand-mac-address=0

故障排除

SATA

在安装过程中或首次启动时,您可能会注意到 ATA 错误,例如 CRCREAD FPDMA QUEUED - 这是 SATA 速度不匹配的结果。控制器能够支持 6Gbps,而内置 HDD 只能以 3Gbps 运行。这会导致启动延迟,直到 libata 通过探测和重置找到正确的速度。

最好通过将 libata.force=3.0Gbps 添加到 内核命令行 来强制设置为 3Gbps。迁移到 SSD 驱动器后,请移除此限制。

内核

尽管系统能够运行当前稳定内核,但花些时间编译更新的 rc+ 内核直到其被打包是值得的。使用 3.18 内核,您可能会遇到各种锁定、挂起甚至内核恐慌——由于内存和资源管理不足。另一方面,3.19 或 4.0+ 运行更流畅,尽管仍未完全修复。硬件严重依赖 ACPI 管理,而 ACPI 管理又主要依赖于某些驱动程序反馈,因此请准备好接受各种 oops 和内核线程挂起,直到内核和驱动程序安装了正确的钩子。

配置内核时,不要忘记启用以下设备特定组件的驱动程序/选项:

组件 硬件名称 内核菜单项
Wi-Fi Realtek 8821AE Device Drivers -> Network Device Support -> Realtek rtlwifi family -> Realtek 8821AE
触控板 Elantech EPS/2 触摸板 Device Drivers -> Input device support -> Mice -> PS/2 Mouse -> Elantech PS/2 Protocol extension
触摸屏 Atmel maXTouch 数字化仪 Device Drivers -> HID Support -> Special HID Drivers -> HID Multitouch Pannels
蓝牙 Realtek USB HCI Networking Support -> Bluetooth Subsystem Support -> Bluetooth Device Drivers -> HCI USB Driver
音频 Intel HD + Conexant Device Drivers -> Sound card support -> Advanced Linux Sound Architecture -> HD Audio -> Conexant and HDMI
网络摄像头 Chicony HD USB Video Device Drivers -> Multimedia Support -> Media USB Adapters -> USB Video Class

ACPI

背光

Linux 下的背光默认不工作,因为缺少环境光传感器 (ALS) 驱动程序。背光的 ACPI 处理程序连接到 ALS 探测,当驱动程序不存在时,它会生成 ACPI 错误。

ACPI Exception: AE_AML_PACKAGE_LIMIT, Index (0xFFFFFFFFFFFFFFFF) is beyond end of object (length 0x10) (20140926/exoparg2-420)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.EC0_._Q0E] (Node ffff88011a448820), AE_AML_PACKAGE_LIMIT (20140926/psparse-536)

一种似乎能处理背光的方法是使用 xrandr,但即使这样也不是真正地降低背光,而是像命令所说的那样改变亮度。

xrandr --output eDP1 --brightness 1.0

它接受从 0(关闭)到 1 或更高值的输入,但超过 1.5 会导致曝光过度。可工作范围是 0.0 到 1.2,良好的默认值是 0.5(您可以将其放入您的本地 xsession rc 文件)。

您还可以通过在 sys/class/backlight/* 控件中将亮度设置为 0 或将 bl_power 设置为 1 来打开和关闭背光。

要使背光键工作,您需要加载 ALS 驱动程序。这可以通过启动 Windows 然后重新启动到 Linux 来实现——但这只在断电或挂起之前有效。

如果您不介意编译内核模块,可以尝试使用 Viktar Vaŭčkievič 的 非官方驱动程序来驱动 ALS。有了驱动程序,ACPI 处理程序就可以正常工作,您就不需要其他脚本了。

如果驱动程序仍然不起作用(大多数情况下它不起作用——ALS 的某些硬件初始化似乎仍然缺失),您可以尝试 这个分支,它默认禁用了 ALS,允许通过 fn 键手动通过 ACPI 管理背光。

无线开关

无线开关在 Linux 下默认不工作。ACPI 处理程序检测到 Win8 操作系统并将 rfkill 管理委托给软件驱动程序,而该驱动程序缺失。处理此问题的一种方法是移除 Windows 2012 OSI 字符串——但这可能会影响其他 ACPI 处理程序。当 OSI 低于 Win8 时,asus-nb-wmi 的 wapf 参数会影响硬件开关的 작동方式。WAPF 的处理方式与 asus-nb-wmi.c 中记录的不同——实现如下:

设置了位 3 (0x4)
完全软件控制,仅发送按键 (0x88) 并终止处理程序。
设置了位 1 (0x1)
Fn 开关切换两个无线电(切换飞行模式),在它们开启或关闭时发送相应的 ACPI 按键事件。
任何其他值
按顺序切换无线电——全部关闭、WL 开启/BT 关闭、WL 关闭/BT 开启、全部开启。

如果需要保留 OSI 字符串——唯一的解决办法是使用 ACPI 设备驱动程序(ASHS),它将处理事件并进行无线电管理。

其他按键

在相同的 ACPI 事件键下有多个特殊键:显示关闭键 (fn+F7)、摄像头键 (fn+V)、屏幕配置文件键 (fn+C)、自动背光键 (fn+A) 和触摸板关闭键 (fn+F9)。它们都生成

PNP0C14:00 000000ff 00000000

这使得它们对 acpid 无用。屏幕配置文件键另外会生成另一个事件(例如,会发出两个事件):

button/prog1 PROG1 00000080 00000000 K

所以您可以绑定一个切换脚本,使用两个控件来启用/禁用背光(如果您在调试时通过其中一个关闭了它)。类似于

!/bin/sh

SYS=/sys/class/backlight
BLD=intel_backlight

PWR_KNOB=$SYS/$BLD/bl_power
BRT_KNOB=$SYS/$BLD/brightness

PWR_VAL=$(cat $PWR_KNOB)
BRT_VAL=$(cat $BRT_KNOB)

if [ "$BRT_VAL" -eq 0 ] || [ "$PWR_VAL" -eq 1 ]; then
  echo 0 > $PWR_KNOB
  echo 99 > $BRT_KNOB
else
  echo 1 > $PWR_KNOB
  echo 0 > $BRT_KNOB
fi

可以通过一个简单的文件,如 /etc/acpi/events/bl 挂钩到系统中。

event=button/prog1.*
action=/etc/acpi/bl.sh

此外,音量键会发送正确的 acpi 事件(MUTE/VOLUP/VOLDOWN),因此可以绑定到系统,或者让应用程序响应,因为它们也发送正确的 XF86 scancodes。

发送正确 scancodes 的其他键包括 XF86TouchpadToggle (fn+F9)、XF86WebCam (fn+V)、XF86Launch1 (fn+C)、XF86Launch6 (fn+Space) 和未定义的 NoSymbol 键码 248 (fn+A) - AutoBacklight。尽管键盘上没有标记——fn+F3 和 fn+F4 分别生成 XF86Mail 和 XF86WWW。

然后,无用的按键包括 Wireless/Airplane-Mode(fn+F2)、Backlight (fn+F5-F7) 和 DisplaySwitch (fn+F8),因为它们不生成任何事件。

参见