@mangogeek 自己琢磨了几天,修改了madplay源码,实现了应用层的软MIX方式,先用着,这样的话系统是比较稳定了。
hejianqiang
@hejianqiang
Best posts made by hejianqiang
Latest posts made by hejianqiang
-
RE: 在widora neo开发板上,用官方固件验证 双路 音频,oops
-
在widora neo开发板上,用官方固件验证 双路 音频,oops
这个问题很早就发现过,也在论坛上发过,希望版主关注下!
我买的是widora neo的板子
固件用的是:openwrt-ramips-mt7688-widora16128-0.1.8-20180725.bin烧好固件什么都不做, 就开始跑脚本,脚本和测试文件跑在SD卡上。
测试结果:
1、如果只跑一个aplay是不会出问题的,跑两个就很容易复现;
2、如果把mt_wifi.ko rmmod掉,跑两个aplay也不会出问题。脚本:
#!/bin/shcount=1
killall aplay
while [ 1 ]
docount=
expr $count + 1
aplay -Dplug:dmix -f S16_LE -t raw green1.mp3 &
sleep 1
aplay -Dplug:dmix -f S16_LE -t raw green.mp3 &sleep 10
echo $countkillall aplay
sleep 1done
系统oops信息。
[ 358.400000] Unhandled kernel unaligned access[#1]:
[ 358.400000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.18.29 #4
[ 358.400000] task: 80306ad0 ti: 80300000 task.ti: 80300000
[ 358.400000] $ 0 : 00000000 00000001 86090f40 00200000
[ 358.400000] $ 4 : 25172517 00000001 00000000 00000000
[ 358.400000] $ 8 : 00000001 00430c00 a4030000 a4270000
[ 358.400000] $12 : 43420000 00000019 00000000 3262005e
[ 358.400000] $16 : 86090f40 00000001 869c9a80 00000000
[ 358.400000] $20 : 869c9a80 00000101 10020180 868c0000
[ 358.400000] $24 : 00000003 80040e78
[ 358.400000] $28 : 80300000 80301c40 868c0000 801d39b0
[ 358.400000] Hi : 00000053
[ 358.400000] Lo : 724e0000
[ 358.400000] epc : 8007595c put_page+0x0/0x4c
[ 358.400000] Not tainted
[ 358.400000] ra : 801d39b0 skb_release_data+0x9c/0xfc
[ 358.400000] Status: 1100e403 KERNEL EXL IE
[ 358.400000] Cause : 00800010
[ 358.400000] BadVA : 25172517
[ 358.400000] PrId : 00019655 (MIPS 24KEc)
[ 358.400000] Modules linked in: pppoe ppp_async iptable_nat pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 ipt_REJECT ipt_MASQUERADE xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_id xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_CT uvcvideo slhc nf_reject_ipv4 nf_nat_masquerade_ipv4 nf_nat_ftp nf_nat nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack_ftp nf_conntrack iptable_raw iptable_mangle iptable_filter ip_tables crc_ccitt snd_soc_mt76xx_machine snd_soc_mt76xx_pcm snd_soc_mt76xx_i2s snd_soc_mt76xx_i2s_ctl i2c_wm8960 snd_soc_wm8960 ralink_gdma videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev i2c_mt7621 snd_soc_core mt_wifi i2c_dev ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables snd_compress snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd input_core soundcore vfat fat autofs4 nls_utf8 nls_iso8859_1 nls_cp437 regmap_spi regmap_i2c i2c_core regmap_core lzo_decompress lzo_compress ipv6 dma_shared_buffer mmc_block usb_storage sdhci_pltfm sdhci mtk_sd mmc_core leds_gpio ohci_platform ohci_hcd ehci_platform ehci_hcd sd_mod scsi_mod gpio_button_hotplug ext4 jbd2 mbcache exfat drv_regopt usbcore nls_base usb_common crc16 crypto_hash
[ 358.400000] Process swapper (pid: 0, threadinfo=80300000, task=80306ad0, tls=00000000)
[ 358.400000] Stack : 869c9a80 801d3a24 8609008a c04c384c 869c9a80 86090080 c04c2000 801d3a60
869c9a80 00000101 10020180 868c0000 80301cc8 86839e0c 063e2fc0 863e2fc0
00000000 0000000f 86090080 00000001 000000bf 86d87800 c04c2000 c0602000
869c9a80 86090080 80301cd4 8683af9c 87932bc8 80305570 80301d2c 80040ef0
00000000 8003d05c 06090040 c1630000 00000000 00000040 80301cd4 00000000
...
[ 358.400000] Call Trace:
[ 358.400000] [<8007595c>] put_page+0x0/0x4c
[ 358.400000] [<801d39b0>] skb_release_data+0x9c/0xfc
[ 358.400000] [<801d3a60>] __kfree_skb+0x14/0xd0
[ 358.400000] [<86839e0c>] dev_rx_mgmt_frm+0x1f4/0x214 [mt_wifi]
[ 358.400000] [<8683af9c>] rtmp_rx_done_handle+0x4c4/0x4f8 [mt_wifi]
[ 358.400000] [<86872da8>] mt_mac_int_4_tasklet+0xfcc/0x10ac [mt_wifi]
[ 358.400000]
[ 358.400000]
Code: 24a54e38 0801d60e 00003021 <8c820000> 3042c000 10400003 00801821 0801d4dd 00000000
[ 358.710000] ---[ end trace f35b2c6183b85c5b ]---
[ 358.720000] Kernel panic - not syncing: Fatal exception in interrupt
[ 358.720000] Rebooting in 3 seconds.. -
RE: gmediarender在widora上的移植交流
@郭大路
我没有你搞的这么复杂,至少没有搞什么软链接之类的,所有步骤如下。
几点重申一下:
1、15.05的版本是可以更新feeds/oldpackage目录的,更新后可以把gst 啥的从网上down下来;
2、不要去移植gmrender-resurrect的版本,核对下版本,在openwrt_widora/feeds/packages/multimedia/gmediarender的Makefile里面。
PKG_NAME:=gmediarender
PKG_VERSION:=2013-12-04
PKG_RELEASE=$(PKG_SOURCE_VERSION)PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=git@github.com:hzeller/gmrender-resurrect.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=e2eb7852eebea95c69c79c43a1e4d5f52409930e
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
编译的时候自动会GIT下来。DEPENDS:= +gstreamer +glib2 +libupnp 这里不是gstreamer1,改成gstreamer
在openwrt_widora/feeds/oldpackages/multimedia下面会有个gstreamer的目录
而之前的gstreamer1目录是在 openwrt_widora/feeds/packages/multimedia/下面;3、menuconfig 勾选的方式,gst所有的选项。
# # Streaming # # CONFIG_PACKAGE_darkice is not set # CONFIG_PACKAGE_oggfwd is not set # CONFIG_PACKAGE_GraphicsMagick is not set # CONFIG_PACKAGE_GraphicsMagick-jpeg is not set # CONFIG_PACKAGE_crtmpserver is not set # CONFIG_PACKAGE_ffmpeg is not set # CONFIG_PACKAGE_ffprobe is not set # CONFIG_PACKAGE_ffserver is not set # CONFIG_PACKAGE_fswebcam is not set # CONFIG_PACKAGE_ftpd-topfield is not set CONFIG_PACKAGE_gmediarender=y # CONFIG_PACKAGE_gmediaserver is not set # CONFIG_PACKAGE_gphoto2 is not set # CONFIG_PACKAGE_gst-ffmpeg is not set # CONFIG_PACKAGE_gst-mod-adpcmdec is not set # CONFIG_PACKAGE_gst-mod-adpcmenc is not set # CONFIG_PACKAGE_gst-mod-aiff is not set CONFIG_PACKAGE_gst-mod-alsa=y CONFIG_PACKAGE_gst-mod-app=y # CONFIG_PACKAGE_gst-mod-asf is not set # CONFIG_PACKAGE_gst-mod-asfmux is not set CONFIG_PACKAGE_gst-mod-audioconvert=y # CONFIG_PACKAGE_gst-mod-audiofx is not set # CONFIG_PACKAGE_gst-mod-audioparsers is not set CONFIG_PACKAGE_gst-mod-audiorate=y CONFIG_PACKAGE_gst-mod-audioresample=y CONFIG_PACKAGE_gst-mod-audiotestsrc=y # CONFIG_PACKAGE_gst-mod-autoconvert is not set CONFIG_PACKAGE_gst-mod-autodetect=y # CONFIG_PACKAGE_gst-mod-bayer is not set # CONFIG_PACKAGE_gst-mod-camerabin is not set # CONFIG_PACKAGE_gst-mod-cdxaparse is not set # CONFIG_PACKAGE_gst-mod-cutter is not set # CONFIG_PACKAGE_gst-mod-dataurisrc is not set # CONFIG_PACKAGE_gst-mod-dccp is not set # CONFIG_PACKAGE_gst-mod-debug is not set # CONFIG_PACKAGE_gst-mod-debugutilsbad is not set CONFIG_PACKAGE_gst-mod-decodebin=y CONFIG_PACKAGE_gst-mod-decodebin2=y # CONFIG_PACKAGE_gst-mod-dtmf is not set # CONFIG_PACKAGE_gst-mod-dvdspu is not set # CONFIG_PACKAGE_gst-mod-equalizer is not set # CONFIG_PACKAGE_gst-mod-faad is not set # CONFIG_PACKAGE_gst-mod-festival is not set CONFIG_PACKAGE_gst-mod-flac=y # CONFIG_PACKAGE_gst-mod-freeze is not set # CONFIG_PACKAGE_gst-mod-frei0r is not set CONFIG_PACKAGE_gst-mod-gio=y # CONFIG_PACKAGE_gst-mod-h264parse is not set # CONFIG_PACKAGE_gst-mod-hdvparse is not set # CONFIG_PACKAGE_gst-mod-icydemux is not set CONFIG_PACKAGE_gst-mod-id3demux=y # CONFIG_PACKAGE_gst-mod-id3tag is not set # CONFIG_PACKAGE_gst-mod-interleave is not set # CONFIG_PACKAGE_gst-mod-isomp4 is not set # CONFIG_PACKAGE_gst-mod-jpegformat is not set # CONFIG_PACKAGE_gst-mod-lame is not set # CONFIG_PACKAGE_gst-mod-legacyresample is not set # CONFIG_PACKAGE_gst-mod-level is not set # CONFIG_PACKAGE_gst-mod-liveadder is not set CONFIG_PACKAGE_gst-mod-mad=y # CONFIG_PACKAGE_gst-mod-mms is not set # CONFIG_PACKAGE_gst-mod-mpeg2dec is not set # CONFIG_PACKAGE_gst-mod-mpegdemux is not set # CONFIG_PACKAGE_gst-mod-mpegpsmux is not set # CONFIG_PACKAGE_gst-mod-mpegtsmux is not set # CONFIG_PACKAGE_gst-mod-mpegvideoparse is not set # CONFIG_PACKAGE_gst-mod-multifile is not set # CONFIG_PACKAGE_gst-mod-multipart is not set # CONFIG_PACKAGE_gst-mod-mve is not set # CONFIG_PACKAGE_gst-mod-mxf is not set # CONFIG_PACKAGE_gst-mod-nsf is not set # CONFIG_PACKAGE_gst-mod-nuvdemux is not set CONFIG_PACKAGE_gst-mod-ogg=y # CONFIG_PACKAGE_gst-mod-ossaudio is not set # CONFIG_PACKAGE_gst-mod-pcapparse is not set CONFIG_PACKAGE_gst-mod-playbin=y # CONFIG_PACKAGE_gst-mod-pnm is not set # CONFIG_PACKAGE_gst-mod-rawparse is not set # CONFIG_PACKAGE_gst-mod-replaygain is not set # CONFIG_PACKAGE_gst-mod-rtp is not set # CONFIG_PACKAGE_gst-mod-rtpmux is not set # CONFIG_PACKAGE_gst-mod-rtsp is not set # CONFIG_PACKAGE_gst-mod-scaletempoplugin is not set # CONFIG_PACKAGE_gst-mod-sdpelem is not set # CONFIG_PACKAGE_gst-mod-segmentclip is not set # CONFIG_PACKAGE_gst-mod-siren is not set CONFIG_PACKAGE_gst-mod-souphttpsrc=y # CONFIG_PACKAGE_gst-mod-spectrum is not set # CONFIG_PACKAGE_gst-mod-speed is not set # CONFIG_PACKAGE_gst-mod-stereo is not set # CONFIG_PACKAGE_gst-mod-subenc is not set CONFIG_PACKAGE_gst-mod-tcp=y CONFIG_PACKAGE_gst-mod-theora=y # CONFIG_PACKAGE_gst-mod-tta is not set CONFIG_PACKAGE_gst-mod-typefindfunctions=y # CONFIG_PACKAGE_gst-mod-udp is not set # CONFIG_PACKAGE_gst-mod-videomeasure is not set # CONFIG_PACKAGE_gst-mod-videosignal is not set CONFIG_PACKAGE_gst-mod-videotestsrc=y # CONFIG_PACKAGE_gst-mod-vmnc is not set CONFIG_PACKAGE_gst-mod-volume=y CONFIG_PACKAGE_gst-mod-vorbis=y # CONFIG_PACKAGE_gst-mod-wavenc is not set CONFIG_PACKAGE_gst-mod-wavparse=y # CONFIG_PACKAGE_gst-plugins-bad is not set CONFIG_PACKAGE_gst-plugins-base=y # CONFIG_PACKAGE_gst-plugins-good is not set # CONFIG_PACKAGE_gst-plugins-ugly is not set # CONFIG_PACKAGE_gst1-libav is not set CONFIG_PACKAGE_gstreamer=y # CONFIG_PACKAGE_gstreamer-utils is not set # CONFIG_PACKAGE_hasciicam is not set # CONFIG_PACKAGE_icecast is not set # CONFIG_PACKAGE_imagemagick is not set # CONFIG_PACKAGE_imagemagick-jpeg is not set # CONFIG_PACKAGE_imagemagick-png is not set # CONFIG_PACKAGE_imagemagick-tiff is not set # CONFIG_PACKAGE_imagemagick-tools is not set # CONFIG_PACKAGE_kissdx is not set CONFIG_PACKAGE_libgstapp=y CONFIG_PACKAGE_libgstaudio=y CONFIG_PACKAGE_libgstcdda=y CONFIG_PACKAGE_libgstcheck=y CONFIG_PACKAGE_libgstcontroller=y CONFIG_PACKAGE_libgstdataprotocol=y CONFIG_PACKAGE_libgstfft=y CONFIG_PACKAGE_libgstinterfaces=y CONFIG_PACKAGE_libgstnet=y CONFIG_PACKAGE_libgstnetbuffer=y CONFIG_PACKAGE_libgstpbutils=y # CONFIG_PACKAGE_libgstphotography is not set CONFIG_PACKAGE_libgstreamer=y CONFIG_PACKAGE_libgstriff=y CONFIG_PACKAGE_libgstrtp=y CONFIG_PACKAGE_libgstrtsp=y CONFIG_PACKAGE_libgstsdp=y CONFIG_PACKAGE_libgsttag=y CONFIG_PACKAGE_libgstvideo=y CONFIG_PACKAGE_minidlna=y # CONFIG_PACKAGE_mjpg-streamer is not set # CONFIG_PACKAGE_motion is not set # CONFIG_PACKAGE_peercast is not set # CONFIG_PACKAGE_puppy is not set # CONFIG_PACKAGE_rygel is not set # CONFIG_PACKAGE_rygel-external is not set # CONFIG_PACKAGE_rygel-media-export is not set # CONFIG_PACKAGE_rygel-mpris is not set # CONFIG_PACKAGE_rygel-playbin is not set # CONFIG_PACKAGE_rygel-playbin-gst-suggested is not set # CONFIG_PACKAGE_rygel-tracker is not set # CONFIG_PACKAGE_streamripper is not set # CONFIG_PACKAGE_ushare is not set # CONFIG_PACKAGE_vips is not set # CONFIG_PACKAGE_xupnpd is not set
-
RE: gmediarender在widora上的移植交流
@郭大路 我的就是widora的sdk上面该的,可以安装上oldpackage,添加上老的gst就可以了。把所有oldpackage feed下来之后,只需要安装gst 0.1就ok了。