Closed myzhang001 closed 4 years ago
你用的是哪块板呢? 试一下能不能手动加载:
modprobe snd-soc-wm8960
modprobe snd-soc-mt76x8-wm8960
我使用的是widora neo
root@OpenWrt:/# modprobe snd-soc-wm8960 failed to find a module named snd-soc-wm8960 root@OpenWrt:/# modprobe snd-soc-mt76x8-wm8960 snd-soc-mt76x8-wm8960 is already loaded
你是刷了整个固件还是只安装了这个驱动包?kmod-sound-mt7620
这个依赖包有没有安装?
我是刷了整个固件,kmod-sound-mt7620 我是安装了的
ls /lib/modules/4.xx.xx/ | grep wm8960
里面应该有
snd-soc-mt76x8-wm8960.ko
snd-soc-wm8960.ko
这两个模块,看是不是少了
snd-soc-mt76x8-wm8960.ko 找到了有的 但是没有 snd-soc-wm8960.ko 这个
snd-soc-wm8960.ko
这个模块是打包在kmod-sound-mt7620
里面的,顺便看看有没有这几个模块
snd-soc-ralink-i2s.ko
snd-soc-simple-card-utils.ko
snd-soc-simple-card.ko
也是打包在kmod-sound-mt7620
里面的
我编译了 komd-sound-mt7620 但是还是没有出来 snd-soc-wm8960.ko
ymbol: DEFAULT_kmod-sound-mt7620 [=n] │
│ Type : boolean │
│ Defined at tmp/.config-target.in:172899 │
│ Selected by: TARGET_ramips_mt7620_DEVICE_dlink_dch-m225 [=n] &&
│ │
│ │
│ Symbol: MODULE_DEFAULT_kmod-sound-mt7620 [=n] │
│ Type : tristate │
│ Defined at tmp/.config-target.in:172902 │
│ Depends on: TARGET_PER_DEVICE_ROOTFS [=n] && m && MODULES [=y] │
│ Selects: PACKAGE_kmod-sound-mt7620 [=y] │
│ Selected by: TARGET_DEVICE_ramips_mt7620_DEVICE_dlink_dch-m225 [=n] && TARGET_MULTI_PROFIL │
│ │
│ │
│ Symbol: PACKAGE_kmod-sound-mt7620 [=y] │
│ Type : tristate │
│ Prompt: kmod-sound-mt7620............................. MT7620 PCM/I2S Alsa Driver │
│ Location: │
│ -> Kernel modules │
│ -> Sound Support │
│ (1) -> kmod-sound-core............................................ Sound support (PACKAG │
│ Defined at tmp/.config-package.in:15299 │
│ Depends on: !TARGET_ramips_rt288x [=n] && PACKAGE_kmod-sound-core [=y] && TARGET_ramips [= │
│ Selects: PACKAGE_kmod-regmap-i2c [=y] && PACKAGE_kmod-dma-ralink [=y] && PACKAGE_kmod-soun │
│ Selected by: MODULE_DEFAULT_kmod-sound-mt7620 [=n] && TARGET_PER_DEVICE_ROOTFS [=n] && m &
这就奇怪了,不知道你用的是哪个版本的OpenWrt源码,我编译试试 master的代码是没问题的:
[ 36.799994] gdma-rt2880 10002800.gdma: revision: 3, channels: 16
[ 36.858921] i2c-mt7621 10000900.i2c: clock 100KHz, re-start not support
[ 36.878815] ralink-i2s 10000a00.i2s: mclk 480MHz
[ 36.947892] mt76x8-wm8960 sound: wm8960-hifi <-> 10000a00.i2s mapping ok
我用的是最新的 git 官方拉下来最新的master 分支的代码,你可以试试
不是说18.06吗?
i2c-mt7621 10000900.i2c: clock 100KHz, re-start not support 这个我这边也没有看到,是缺了哪个配置呀
我确认了下是master 分支
@myzhang001 确实是缺少i2c依赖的原因,最新代码已解决该问题。
编译完了需要我单独安装么
更新代码后make menuconfig
一下,依赖会自动选上,重新编译就行了,不用手动安装
但是我重新编译了还是没有,尴尬了 我看了 ipk 包是有的
snd-soc-wm8960.ko 一直没出来
kmod-i2c-mt7628
这个模块没有自动勾选吗
已经自动勾选了
[ 0.541338] ALSA device list: [ 0.544357] No soundcards found. [ 0.555699] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[ 22.008095] gdma-rt2880 10002800.gdma: revision: 3, channels: 16 [ 22.038467] ralink-i2s 10000a00.i2s: mclk 480MHz [ 22.059821] mt76x8-wm8960 sound: failed to find audio codec device [ 22.066121] mt76x8-wm8960: probe of sound failed with error -22 [ 22.089938] Loading modules backported from Linux version v5.3-rc4-0-gd45331b00ddb [ 22.097698] Backport generated by backports.git v5.3-rc4-1-0-g4ec72687
这是logo
你试试make clean
后再编译
好的,我试试
@redchenjs make clean 后 还是不行哦,不知道是什么原因
那用我的配置文件试试吧,测试过可用 Widora-NEO-16M.zip
好的,非常感谢,您是否有csdn 或者博客 ,我好跟随你的脚步学习O(∩_∩)O哈哈~
暂时没有
可以把你的dts 文件也发给我参考下不,mt7628an_widora_neo.dtsi mt7628an_widora_neo-16m.dts mt7628an.dtsi
[ 86.835493] gdma-rt2880 10002800.gdma: revision: 3, channels: 16 [ 86.861157] ralink-i2s 10000a00.i2s: mclk 480MHz [ 86.896607] mt76x8-wm8960 sound: wm8960-hifi <-> 10000a00.i2s mapping ok
现在已经挂载成功了,但是没有声音
初始是静音的,需按readme中设置,如要保存设置可以添加到开机脚本中
我按照readme 设置了,同样没有声音
@myzhang001 我把dts文件上传了,其实README中对MCLK
和ADCLRC
时钟的说明就是针对NEO这块板子的,不设置时钟是没有声音的,你可以参考一下上传的dts添加缺失的项。
我按照你给的说明移植没有成功,是哪里漏了呢
[ 21.612366] mt76x8-wm8960 sound: failed to find audio codec device [ 21.618739] mt76x8-wm8960: probe of sound failed with error -22