ASUS TX201LA

来自 ArchWiki

本文或本章节不符合笔记本电脑页面指南

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

Asus Trio TX201LA 是一款不错的近期(2014 年)硬件,它允许将台式机、笔记本电脑和平板电脑结合为一体。实际上,平板电脑是另一回事 - 可拆卸屏幕运行 Android 系统,超出本文范围。 然而,底座本身(可以用作台式机)或连接平板电脑(形成笔记本电脑)可以拥有 Intel Haswell Core i7 或 Core i5 CPU、4G 内存和 500G 硬盘。 这就是运行 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 Digitizer 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

背光

由于缺少环境光传感器 (ALS) 驱动程序,背光在 Linux 中默认不起作用。 背光的 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 扫描码。

其他发送正确扫描码的按键是 XF86TouchpadToggle (fn+F9)、XF86WebCam (fn+V)、XF86Launch1 (fn+C)、XF86Launch6 (fn+Space) 和未定义的 NoSymbol,键码为 248(fn+A) - AutoBacklight。 即使键盘上没有标记 - fn+F3 和 fn+F4 也分别生成 XF86Mail 和 XF86WWW。

那么无用的按键是无线/飞行模式 (fn+F2)、背光 (fn+F5-F7) 和显示切换 (fn+F8),因为它们不生成任何事件。

参见