找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 1157|回复: 18

openwrt跑Squeezelite构建网络背景音乐系统

[复制链接]
发表于 2025-11-1 16:03 | 显示全部楼层 |阅读模式
本帖最后由 ftft 于 2025-11-2 20:24 编辑

这里网络背景音乐系统服务器使用LMS(Logitech Media Server),客户端全都用运行squeezelite的openwrt。

我这边用的openwrt的squeezelite包默认播放不出声音的,需要修改。选择最常用的libmpg123来做codec。
先修改squeezelite的Makefile,在MAKE_FLAGS+=OPTS="$(opts)"行之前添加2行配置:
DEPENDS += +libmpg123
opts+= -DMP3

然后替换掉默认的init.d和conf文件。如果不替换,就算squeezelite里有解码的codec,同样还是无法出声的。

注意修改conf文件/etc/config/squeezelite:
option server_ip '改成你的服务器ip地址'
option enabled '1'

保存后执行:
/etc/init.d/squeezelite start

客户端程序就成功运行了。

此时打开LMS服务器的控制页面:http://ip:9000/,进入播放列表后,右上角就能看到已经被识别到的SqueezeWrt客户端了。
播放歌曲后,点击右上角的倒三角图标,勾选一台SqueezeWrt,接着点击下面的"同步"选项,多台设备就能同步播放了。



下面是客户端固件,请都用breed刷入固件。
测试机1:品胜WMB001N,无需硬改,自带i2s声卡(WM8918)。
固件下载链接: https://pan.baidu.com/s/117xOxrIUETlu0tk69pKeRA?pwd=7dcx 提取码: 7dcx

测试机2:品胜WFR101N,无需硬改,自带i2s声卡(CS4344)。
固件下载链接: https://pan.baidu.com/s/1zBTGJgIvjtl5bRFxLx9zVg?pwd=9tad 提取码: 9tad

测试机3:MERCURY MW300R V4 + UDA1334A i2s 模块输出音频。
固件下载链接: https://pan.baidu.com/s/1E6C2uyqho83gyagvQFJulw?pwd=vf42 提取码: vf42
机器需要硬改16M flash和64M ram,然后拆左起3~5的LED灯的限流电阻(这几个GPIO点位分别是19、20、21),然后分别接线到UDA1334A模块,对应关系:
*   WSEL 接 I2S_WS(LEDAN3)
*   DIN     接 I2S_SD(LED:WAN)
*   BCLK 接 I2S_CLK(LEDAN4)
*   VIN     接 3.3V(TP1)
*   GND  接  GND(TP2)


---------------------------分割线---------------------------

关于播放音乐超过半小时后,内核会出现一个错误的日志:
irq 11: nobody cared (try booting with the "irqpoll" option)
...
handlers:
[<801dc284>] serial8250_interrupt
Disabling IRQ 11

该问题是ath79-i2s音频会让串口的irq计数不断增加,当irq计数到100000时,会触发此告警。
因为正常情况串口的中断几乎不会增加,具体定义可查看kernel/irq/spurious.c,实际不影响音频播放。








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2025-11-1 21:40 | 显示全部楼层
openwrt官方源码不用修改。默认就可以出声。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

谢谢指导。主要是我用的版本不修改就是不出声,所以就自己改了下。  详情 回复 发表于 2025-11-2 10:04
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2025-11-2 10:04 | 显示全部楼层
99010 发表于 2025-11-1 21:40
openwrt官方源码不用修改。默认就可以出声。

谢谢指导。主要是我用的版本不修改就是不出声,所以就自己改了下。

点评

编译时直接选squeezelite-full。  详情 回复 发表于 2025-11-2 12:15
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-11-2 12:15 来自手机 | 显示全部楼层
本帖最后由 99010 于 2025-11-2 12:24 编辑
ftft 发表于 2025-11-2 10:04
谢谢指导。主要是我用的版本不修改就是不出声,所以就自己改了下。


编译时直接选squeezelite-full。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-5-20 20:20 | 显示全部楼层
请教下大佬,我按你的教程刷品胜001N后已正常出声,可是路由不能重启 或者断电,重启断电后路由OPENWRT系统崩溃,进不了设置界面 ,网络无连接,但上级路由能获得IP,LMS也无连接 得不到声卡。这是怎么回事?

点评

查下系统日志,看看是不是flash损坏了。 我这边5台品胜WMB001N都正常的。不过我记得上传的这个固件, 当时ath79-i2s.c代码里缺少了 .rates = SNDRV_PCM_RATE_22050 qca-ap123-ak4430.c代码里缺少了: case 22050  详情 回复 发表于 2026-5-21 21:21
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2026-5-21 21:21 | 显示全部楼层
gym00@163 发表于 2026-5-20 20:20
请教下大佬,我按你的教程刷品胜001N后已正常出声,可是路由不能重启 或者断电,重启断电后路由OPENWRT系统 ...

查下系统日志,看看是不是flash损坏了。
我这边5台品胜WMB001N都正常的。不过我记得上传的这个固件,
当时ath79-i2s.c代码里缺少了
                        .rates = SNDRV_PCM_RATE_22050
qca-ap123-ak4430.c代码里缺少了:
        case 22050:
                mclk = 512 * fs;
                break;
所以如果你的mp3正好是22.05 kHz的,就无法出声。
播放常见的44.1 kHz的mp3肯定能出声的。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-5-22 10:07 | 显示全部楼层
首先感谢大佬的回复,
现在有些进展了。
现在的情况是开机后必须执行两行命令,立马出声,要不LMS连声卡都不认,没输这两条命令之前LMS连声卡都识别不到。
我都怀疑是不是咱们的001N 版本不一直 还是我001N刷你这个系统前刷别的系统把Flash里的分区改变了,和源厂分区不一样才出这问题,我记得我这个刷机的时候是拆开编程器刷的品胜003N原厂固件后来又一路刷UBOOT,后来就一直刷刷 刷 。
一直想找个类似楼主你这样的软件用来听NAS里的音乐 都找不到,直到看到您这篇文章,就是我想要的固件。本人不会编译,菜鸟一个见笑了。下面是我开机后执命令的情况,再一个001N如果能让光纤音频输出就完美了。
sh: /usr/bin/xauth: not found


BusyBox v1.30.1 (2025-11-01 00:16:19 CST) built-in shell (ash)

  _______                     ________        __
|       |.-----.-----.-----.|  |  |  |.----.|  |_
|   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
|_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
-----------------------------------------------------
CHAOS CALMER (Chaos Calmer, plus)
-----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
-----------------------------------------------------
root@OpenWrt:~#
root@OpenWrt:~# squeezelite -s 192.168.1.197 -n PisenAudio -o default:CARD=ath79
wm8904 -a 200:8
[09:46:18.198534] alsa_open:473 unable to set period count Invalid argument
[09:46:23.204995] alsa_open:473 unable to set period count Invalid argument
^C^C
root@OpenWrt:~# /etc/init.d/squeezelite start
Starting squeezelite: SqueezeWrt
root@OpenWrt:~#

点评

/etc/config/squeezelite的配置文件改一下就行了  详情 回复 发表于 2026-5-22 11:03
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-5-22 11:03 来自手机 | 显示全部楼层
gym00@163 发表于 2026-5-22 10:07
首先感谢大佬的回复,
现在有些进展了。
现在的情况是开机后必须执行两行命令,立马出声,要不LMS连声卡都 ...

/etc/config/squeezelite的配置文件改一下就行了
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-5-22 12:49 | 显示全部楼层
您看看我的/etc/config/squeezelite的配置文件对不对:
之前的命令里的名称是【PisenAudio】 改过来了 不过和这没关系。
config options 'options'

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-5-22 12:49 | 显示全部楼层
config options 'options'
        option name 'SqueezeWrt'
        option model_name 'SqueezeLite'
        option close_delay '0'
        option priority '0'
        option max_sr '44100'
        option device 'hw:0,0'
        option dsd_over_pcm '0'
        option ircontrol '0'
        option interface ''
        option enabled '1'
        option server_ip '192.168.1.197'
        option server_port '3483'
        option codec 'mpg,flac,wav,aac,ogg'
        option period '200:8'

点评

不清楚你的squeezelite版本,标准配置是这样。 config options 'options' option name 'PisenAudio' option model_name 'SqueezeLite' option close_delay '0' option priority '0'  详情 回复 发表于 2026-5-22 14:52
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-5-22 14:52 来自手机 | 显示全部楼层
gym00@163 发表于 2026-5-22 12:49
config options 'options'
        option name 'SqueezeWrt'
        option model_name 'SqueezeLite'

不清楚你的squeezelite版本,标准配置是这样。
config options 'options'
        option name 'PisenAudio'
        option model_name 'SqueezeLite'
        option close_delay '0'
        option priority '0'
        option max_sr '0'
        option device '这里配置用 squeezelite -l
命令获取'
        option dsd_over_pcm '0'
        option ircontrol '0'
        option interface 'lan'
        option enabled '1'
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-5-23 13:42 | 显示全部楼层
本帖最后由 gym00@163 于 2026-5-23 13:56 编辑

感谢大佬的回复。
折腾了 两天,还是不行啊,
以下都是菜鸟想法和做法:确定还没搞懂,我以为是以前刷003N等其他固件,把闪存文件搞乱了,或者ART里的声卡地址信息弄乱了,各种恢复出厂都不行。我又刷回001N 原厂了 ,又从原厂刷回楼主的固件。连UBOOT都没装,【后来费了很大事,好一通折腾 ,编程器, ttl 都用上了】 中间没有用其他固件,。到最后还是不行,这一路下来干脆没声音了。光口灯常亮,这还不如没回原厂之前呢,原厂之前毕竟有声音了,
测试了很久就是不行,声卡通讯有问题,我也搞不懂。这时也不知道硬件是否正常,索性又回到我原厂前的备份,还是两条命令一输,立马出声,一切正常。
现在的情况估计还是squeezelite的启动配置我的001N硬件或者软件版本和楼主的不一样 ,或者启动期间声卡有错误,搞不定。
root@OpenWrt:~# squeezelite -l
Output devices:
  null                           - Discard all samples (playback) or generate zero samples (capture)
  default:CARD=ath79wm8904       - ath79-wm8904,  - Default Audio Device
  sysdefault:CARD=ath79wm8904    - ath79-wm8904,  - Default Audio Device

root@OpenWrt:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ath79wm8904 [ath79-wm8904], device 0: WM8904 HiFi wm8904-hifi-0 []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
root@OpenWrt:~# aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=ath79wm8904
    ath79-wm8904,
    Default Audio Device
sysdefault:CARD=ath79wm8904
    ath79-wm8904,
    Default Audio Device
root@OpenWrt:~#

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

固件都已经配置好了,只需要设置自己LMS的ip地址就可以了播放了。 这里上传了wmb001n的固件和使用视频: 链接: https://pan.baidu.com/s/10BJSvE9JK8iOP-IwGTBFGA 提取码: m9n5 链接: https://pan.baidu.com/s/1m77a  详情 回复 发表于 2026-5-23 15:18
WMB001N可以直接用openwrt官方固件(建议21版本),把音频组件装上就可以用。  详情 回复 发表于 2026-5-23 14:49
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-5-23 14:49 来自手机 | 显示全部楼层
gym00@163 发表于 2026-5-23 13:42
感谢大佬的回复。
折腾了 两天,还是不行啊,
以下都是菜鸟想法和做法:确定还没搞懂,我以为是以前刷003N ...

WMB001N可以直接用openwrt官方固件(建议21版本),把音频组件装上就可以用。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2026-5-23 15:18 | 显示全部楼层
本帖最后由 ftft 于 2026-5-23 15:27 编辑
gym00[url=home.php?mod=space&uid=383881]@163 发表于 2026-5-23 13:42[/url]
感谢大佬的回复。
折腾了 两天,还是不行啊,
以下都是菜鸟想法和做法:确定还没搞懂,我以为是以前刷003N ...

固件都已经配置好了,只需要在luci页面里设置自己LMS的ip地址就可以播放了。
这里上传了wmb001n的固件和使用视频:
链接: https://pan.baidu.com/s/10BJSvE9JK8iOP-IwGTBFGA 提取码: m9n5
链接: https://pan.baidu.com/s/1m77asBpRnjXVLjYiOVvFCA 提取码: apu9

点评

感谢,感谢。  详情 回复 发表于 2026-5-23 16:03
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-5-23 16:03 | 显示全部楼层
ftft 发表于 2026-5-23 15:18
固件都已经配置好了,只需要在luci页面里设置自己LMS的ip地址就可以播放了。
这里上传了wmb001n的固件和使 ...

感谢,感谢。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 18:52

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表