gentoo从入门到放弃
wifi问题的解决(ath10k、QCA6174)
我的显示结果如下:可以看出我的无线网卡为QCA6174
,我这块网卡比较特殊,官网额外提供了内核配置方式

- 配置内核
-
方式一:参考官网:https://wiki.gentoo.org/wiki/Qualcomm_Atheros_QCA6174,如果参照官网有个建议:能够设置为*或者M的均设为M,原因是:
☞✪☣☢☠❂重要说明
如果驱动程序内置在内核(<*>
)中而不是模块(<M>
)中,则固件也需要内置在内核中。 -
方式二:直接按照下面配置(我这是直接copy的官网,国内上gentoo官网有时候好慢,在这儿留个备份)
(1). 至少激活cfg80211和mac80211。
(2). Minstrel及其802.11n支持是一种速率控制算法。某些无线驱动程序可能需要启用它。
[*] Networking support --->
[*] Wireless --->
<M> cfg80211 - wireless configuration API
[ ] nl80211 testmode command
[ ] enable developer warnings
[ ] cfg80211 regulatory debugging
[ ] cfg80211 certification onus
[*] enable powersave by default
[ ] cfg80211 DebugFS entries
[ ] use statically compiled regulatory rules database
[ ] cfg80211 wireless extensions compatibility
<M> Generic IEEE 802.11 Networking Stack (mac80211)
[*] Minstrel
[*] Minstrel 802.11n support
[ ] Minstrel 802.11ac support
Default rate control algorithm (Minstrel) --->
[ ] Enable mac80211 mesh networking (pre-802.11s) support
-*- Enable LED triggers
[ ] Export mac80211 internals in DebugFS
[ ] Trace all mac80211 debug messages
[ ] Select mac80211 debugging features ----
(3). 启用的Atheros的802.11ac无线卡的支持(CONFIG_ATH10K)和Atheros的ath10k PCI支持(CONFIG_ATH10K_PCI)作为模块<M>
Device Drivers --->
[*] Network device support --->
[*] Wireless LAN --->
[*] Atheros/Qualcomm devices
<M> Atheros 802.11ac wireless cards support
<M> Atheros ath10k PCI support
(4). 重建内核
# 记得要在root下,不在的话加sudo
make && make modules_install
mount /boot //如果是efi则:mount /boot/efi
make install
(5). 安装固件
-
Qualcomm Atheros Killer N1525 Wireless-AC需要Linux固件文件
emerge sys-kernel/linux-firmware
-
系统的固件可能无法使用,所以还需要手动再安装一个固件。首先备份系统原来的。
mv /lib/firmware/ath10k/QCA6174/hw3.0/board.bin /lib/firmware/ath10k/QCA6174/hw3.0/board.bin.bak
下载并安装固件
wget https://github.com/FireWalkerX/ath10k-firmware/raw/master/QCA6174/hw3.0/board-2.bin -O /lib/firmware/ath10k/QCA6174/hw3.0/board.bin
校验下载的固件是否正确
sha256sum /lib/firmware/ath10k/QCA6174/hw3.0/board.bin* # 运行结果如下 94f69f28b8901bc7e655347decc26d4bb9cd8cd1ec5e60c44a9bdd9a4023017e /lib/firmware/ath10k/QCA6174/hw3.0/board.bin 1a8d225818b46986fc4f615594fbe448fa820618590d6902c8f844bb37cda667 /lib/firmware/ath10k/QCA6174/hw3.0/board.bin.bak
3.后续工作——配置wpa_supplicant,并设置其开机自启
参考以下文章:
https://www.jianshu.com/p/683fcf66c222
注意一定要将此文中涉及的网卡接口改为自己的,比如我的为wlp7s0,写配置文件以及启动服务的时候,就应该写wlp7s0而不是文中的wlan0。如果你很懒的话,可以直接复制我下面的然后,记得吧网卡接口名改为自己的就可以。
本操作仅针对openRC,systemd可以参考archwiki
# 记得在root下
vim /etc/wpa_supplicant/wpa_supplicant.conf
# 按i进入编辑,粘贴方式:ctrl+shift+v
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
update_config=1
ap_scan=1
network={
ssid="无线网名称"
psk="无线网密码"
}
# 设置gentoo的net
modules_wlp7s0="wpa_supplicant"
config_wlp7s0="dhcp"
# 设置开机自启
cd /etc/init.d
ln -s net.lo net.wlp7s0
rc-update add wlp7s0 default
# 重启
reboot
音频问题的解决
-
检测使用的音频控制器
lspci -v | grep -i audio
在ALSA SoundCard Matrix中找到所需的驱动程序。
-
配置内核
Device Drivers ---> <*> Sound card support <*> Advanced Linux Sound Architecture ---> [*] PCI sound devices ---> Select the driver for your audio controller. HD-Audio ---> Select a codec or enable all and let the generic parse choose the right one: [*] Build Realtek HD-audio codec support [*] ... [*] Build Silicon Labs 3054 HD-modem codec support [*] Enable generic HD-audio codec parser General setup ---> [*] System V IPC
-
如果系统具有8个以上的声音输出(GPU上的每个HDMI输出将计为一个),则需要增加声卡的最大数量:
Device Drivers ---> <*> Sound card support <*> Advanced Linux Sound Architecture ---> [*] Dynamic device file minor numbers (32) Max number of sound cards
-
设置全局USE标志
alsa
,以便在其他软件包中启用对ALSA的支持。启用alsa
USE标志会自动拉入media-libs / alsa-lib(x86和amd64桌面配置文件中的默认设置):euse -E alsa 或 sudo echo "USE="alsa"" >> /etc/portage/make.conf
-
更新系统,以使更改生效:
emerge --ask --changed-use --deep @world
-
安装media-sound/alsa-utils的软件包,它提供了故障诊断和测试音响系统的一些工具。
emerge --ask media-sound/alsa-utils
-
测试
alsamixer