ASUS AT3IONT-I
本文档描述了使ASUS AT3IONT-I的所有功能正常工作的必要步骤。假定您已成功安装Arch Linux并安装了基本软件(例如,对于音频安装ALSA,对于Deluxe版中的无线安装wireless_tools和wpa_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"
}
alsamixer中被指定为S/PDIF 1通道。除了配置/etc/asound.conf之外,您还需要取消该通道的静音。另外,请注意,HDMI音频目前仅在X会话(图形环境)中有效。如果您尝试在虚拟终端上运行时使声音正常工作,那将不会成功。请参阅Arch论坛上的此帖子。
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上实现无线功能。
RCA立体声音输出
未测试。
远程
ASUS遥控器开箱即用功能有限。除了底部的八个“特殊”媒体按钮外,其他按钮功能齐全。另外,您可能需要将内核的mceusb模块加入黑名单,因为它会失败。LIRC的mceusb模块能更好地处理遥控器,但仍然不支持ASUS遥控器上的所有按钮。
以下方法的来源和模块开发者:Ubuntu论坛帖子中的用户pj7。
随附的红外接收器需要构建一个内核模块来适应它。显然,这是一个相当棘手的小设备。它似乎与随附的遥控器配合得最好——它将随附遥控器的按钮按下直接转换为键盘按键,但当使用其他MCE遥控器时,它会向系统报告原始代码。它似乎可以理解其他信号,但您需要一个发送正确信号的遥控器。这导致设备功能有限,只能使用随附的ASUS遥控器、JP1可编程遥控器(用于编程已知信号)或能够学习ASUS遥控器红外信号的通用遥控器。
因此,本节将基于pj7的驱动程序,重点介绍如何使随附的遥控器与随附的接收器协同工作。
下载源代码,然后用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感兴趣。