跳转至内容

ASUS AT3IONT-I

来自 ArchWiki

本文或本章节已过时。

原因:仍引用rc.conf。(在 Talk:ASUS AT3IONT-I 中讨论)

本文档描述了使ASUS AT3IONT-I的所有功能正常工作的必要步骤。假定您已成功安装Arch Linux并安装了基本软件(例如,对于音频安装ALSA,对于Deluxe版中的无线安装wireless_toolswpa_supplicant软件包)。

HDMI音频

ALSA

许多ION主板在尝试通过HDMI播放声音时会出现问题。它们通常需要通过/etc/asound.conf(或选择性地,按用户级别通过~/.asound.conf)进行自定义ALSA配置。

/etc/asound.conf
# Needed in order to get sound over HDMI to function

#$ aplay -l
# **** List of PLAYBACK Hardware Devices ****
# card 0: NVidia [HDA NVidia], device 0: ALC887 Analog [ALC887 Analog]
#   Subdevices: 1/1
#   Subdevice #0: subdevice #0
# card 0: NVidia [HDA NVidia], device 1: ALC887 Digital [ALC887 Digital]
#   Subdevices: 1/1
#   Subdevice #0: subdevice #0
# card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
#   Subdevices: 1/1
#   Subdevice #0: subdevice #0

pcm.!default {
  type plug
  slave.pcm "dmix:0,3"
}
注意 HDMI音频在alsamixer中被指定为S/PDIF 1通道。除了配置/etc/asound.conf之外,您还需要取消该通道的静音。

另外,请注意,HDMI音频目前仅在X会话(图形环境)中有效。如果您尝试在虚拟终端上运行时使声音正常工作,那将不会成功。请参阅Arch论坛上的此帖子

提示 请参阅ALSA以获取更多信息。

PulseAudio

如果您不愿修改asound.conf中的PulseAudio设置,那么仅在alsamixer中取消静音S/PDIF 1通道可能就足够了。它被隐藏了,您需要按F6,然后选择HDA NVidia并滚动到最右边才能找到它。选中它,然后按M取消静音。

Deluxe版

Deluxe版包含一些额外的功能,例如板载DC电源、mini-PCI WiFi、RCA立体声音输出、板载蓝牙以及附带的红外遥控器。

蓝牙

蓝牙芯片是Atheros,设备ID为0cf3:3002。它使用ath3k驱动程序,该驱动程序自~2.6.33版本起已包含在内核中,并且与默认的Arch内核开箱即用。

提示 请参阅蓝牙以获取更多信息。

无线

无线芯片组是Atheros AR9285。

$ lspci | grep Net
05:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)

它使用ath9k驱动程序,该驱动程序自2.6.27版本起已包含在默认内核中。换句话说,udev应该能够无问题地加载驱动程序——无需额外的配置即可在ASUS AT3IONT-I上实现无线功能。

提示 请参阅无线网络配置#ath9k以获取更多信息。

RCA立体声音输出

未测试。

远程

ASUS遥控器开箱即用功能有限。除了底部的八个“特殊”媒体按钮外,其他按钮功能齐全。另外,您可能需要将内核的mceusb模块加入黑名单,因为它会失败。LIRC的mceusb模块能更好地处理遥控器,但仍然不支持ASUS遥控器上的所有按钮。

以下方法的来源和模块开发者:Ubuntu论坛帖子中的用户pj7

随附的红外接收器需要构建一个内核模块来适应它。显然,这是一个相当棘手的小设备。它似乎与随附的遥控器配合得最好——它将随附遥控器的按钮按下直接转换为键盘按键,但当使用其他MCE遥控器时,它会向系统报告原始代码。它似乎可以理解其他信号,但您需要一个发送正确信号的遥控器。这导致设备功能有限,只能使用随附的ASUS遥控器、JP1可编程遥控器(用于编程已知信号)或能够学习ASUS遥控器红外信号的通用遥控器。

因此,本节将基于pj7的驱动程序,重点介绍如何使随附的遥控器与随附的接收器协同工作。

提示 购买一个已知在Linux下工作良好的IR接收器/遥控器组合可能更容易,以获得最大的功能。但如果您很固执,请继续阅读!
注意 如果您对内核驱动程序开发和红外遥控器的细节有所了解,请查看此主题,看看是否可以为该驱动程序添加功能,特别是对基本MCE遥控器。

下载源代码,然后用tar -xvf hid-philips-asus.tar解压。生成的目录将包含源代码以及一个Linux到X11的输入键映射。在编译源代码之前,必须编辑mappings.h。此文件将按钮按下映射到Linux输入键。请注意,Linux输入不等于X11输入。图形程序,例如媒体播放器、Kodi等,只能识别X11输入,因此您必须将X11输入与Linux输入进行匹配。这就是map_linux_to_x11.txt文件的作用。

例如,如果您希望将“下一曲目”按钮定义为“XF86AudioNext”(大多数程序会查找此项来播放播放列表中的下一项),则需要在mappings.h中将BUTTON_NEXT定义为KEY_NEXTSONG而不是KEY_NEXT。这是因为KEY_NEXTSONG映射到“XF86AudioNext”(KEY_NEXT不注册为任何内容)。

完成按钮映射后,运行make

$ make
make -C /lib/modules/2.6.36-ARCH/build M=/home/user/hid-philips-asus modules
make[1]: Entering directory `/usr/src/linux-2.6.36-ARCH'
  CC [M]  /home/user/hid-philips-asus/hid-philips-asus.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/user/hid-philips-asus/hid-philips-asus.mod.o
  LD [M]  /home/user/hid-philips-asus/hid-philips-asus.ko
make[1]: Leaving directory `/usr/src/linux-2.6.36-ARCH'

使用make install(以root身份)安装驱动程序。

现在我们必须确保驱动程序正确加载。您必须做的一件事是将mceusb驱动程序加入黑名单,该驱动程序会在每次检测到IR接收器时尝试加载。然后,您必须确保新的hid-philips-asus驱动程序在usbhid之前加载,因为usbhid会尝试接管接收器。所有这些都可以通过/etc/rc.conf中的MODULES行轻松完成。

/etc/rc.conf
MODULES=(... hid-philips-asus usbhid ...)

您必须在/etc/modprobe.d中将mceusb加入黑名单。

/etc/modprobe.d/modprobe.conf
blacklist mceusb

(可能需要重新启动计算机)

之后,ASUS遥控器上的所有按钮都应该可以工作。如果您发现自己更愿意为按钮按下分配不同的操作,可以轻松编辑mappings.h文件并再次运行make && make install。或者,您可能对Xmodmap感兴趣。

资源