您尚未登录。

#1 2019-01-08 18:40:08 分享评论

monosail
会员
注册时间: 2019-01-06
已发帖子: 12
积分: 12

请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

我发现似乎主线kernel中的suniv.dtsi设备树中似乎并没有codec方面的定义,也不知道驱动代码有没有?不知道有没有哪个大神搞过这个?






以下由 @哇酷小二 2020-05-11 更新
----------------------------------
13# @wammaw1314 提交f1c100s主线linux声卡patch

31# @pajoke 声卡输出(喇叭)验证成功, 输入(麦克风)未验证, 内核:5.6.11


相关链接:
1. 本站网友@阿黄 提供的 f1c100s 主线linux rtp 驱动补丁

2. 本站网友@shaoxi 提供的 f1c100s 主线linux spi nand补丁

离线

#2 2019-02-21 16:13:56 分享评论

dragon101788
会员
注册时间: 2019-02-21
已发帖子: 1
积分: 1

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

同求

离线

#3 2019-02-21 16:38:59 分享评论

木子猫
会员
注册时间: 2018-03-27
已发帖子: 61
积分: 61

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

同求

离线

#4 2019-03-21 22:34:42 分享评论

dzahz2008
会员
注册时间: 2019-03-21
已发帖子: 2
积分: 2

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

有裸机下的声卡驱动

离线

#5 2019-03-21 23:20:53 分享评论

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

dzahz2008 说:

有裸机下的声卡驱动

厚颜无耻问下,方便分享吗?

最近编辑记录 超级萌新 (2019-03-21 23:21:08)

离线

#6 2019-09-18 15:40:23 分享评论

firstman
会员
注册时间: 2019-04-06
已发帖子: 279
积分: 279

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

看来大家都在等现成的了。

离线

#7 2019-09-18 16:49:11 分享评论

傅伟清
会员
注册时间: 2019-07-17
已发帖子: 39
积分: 39

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

参考下晕哥在我的荔枝派音频帖子底下发的司徒的sdk和官方3.10bsp,里面有设备树和驱动,我也在搞,没搞定呢,求大腿

离线

#8 2019-09-19 13:55:03 分享评论

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 655
积分: 638.5

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

最近还研究了一下f1c100s的音频,我的系统是4.15,这个是不是代表声卡驱动已经安装了。
none.png
如果4.15有驱动那之后的版本应该带了驱动,只是没有安装alsa库。你可以这样试下有没有声音cat /dev/dsp > /dev/dsp,如果有沙沙声代表驱动已经安装。

离线

#9 2019-09-19 14:02:18 分享评论

firstman
会员
注册时间: 2019-04-06
已发帖子: 279
积分: 279

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

那个驱动不行, 没有声音输出。

离线

#10 2019-09-19 17:31:43 分享评论

傅伟清
会员
注册时间: 2019-07-17
已发帖子: 39
积分: 39

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

kekemuyu 说:

最近还研究了一下f1c100s的音频,我的系统是4.15,这个是不是代表声卡驱动已经安装了。
https://whycan.cn/files/members/1315/none.png
如果4.15有驱动那之后的版本应该带了驱动,只是没有安装alsa库。你可以这样试下有没有声音cat /dev/dsp > /dev/dsp,如果有沙沙声代表驱动已经安装。

4.15驱动识别的是loopback声卡,应该不是有效的驱动

离线

#11 2019-12-03 19:11:46 分享评论

hnhkj
会员
注册时间: 2019-10-19
已发帖子: 4
积分: 4

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

声音搞定了没有,大神们?

离线

#12 2019-12-07 20:53:24 分享评论

杨飞武
会员
注册时间: 2019-11-01
已发帖子: 55
积分: 55

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

同求主线声卡驱动:D ,期待大神分享

离线

#13 2020-04-22 11:05:24 分享评论

wammaw1314
会员
注册时间: 2020-04-22
已发帖子: 7
积分: 7

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

主线Linux 4.19 f1c100s 声卡支持:
suniv-dma.c 和 suniv-codec.c 是基于 原先的sun4i-dma.c 和 sun4i-codec.c 新增和修改过来的,是外网Mesih Kilinc大神提供到Linux的patch,但未合并;
我重新加了文件,整个修改和新增的包如下,具体修改代码,可以比较下两者源码。

linux_patch.zip

离线

#14 2020-04-22 11:09:08 分享评论

拉轰的脚踏车
会员
注册时间: 2020-03-20
已发帖子: 223
积分: 187.5

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

wammaw1314 说:

主线Linux 4.19 f1c100s 声卡支持:
suniv-dma.c 和 suniv-codec.c 是基于 原先的sun4i-dma.c 和 sun4i-codec.c 新增和修改过来的,是外网Mesih Kilinc大神提供到Linux的patch,但未合并;
我重新加了文件,整个修改和新增的包如下,具体修改代码,可以比较下两者源码。

linux_patch.zip

感谢分享。要是搞定声卡,我一定唱一曲: 等了好久终于等到今天, 梦了好久终于把梦实现。

离线

#15 2020-04-22 13:09:46 分享评论

wammaw1314
会员
注册时间: 2020-04-22
已发帖子: 7
积分: 7

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

补充1:
Linux 4.19 f1c100s 声卡 suniv.dtsi设备树修改:
suniv.dtsi 添加:

		dma: dma-controller@1c02000 {
			compatible = "allwinner,suniv-dma";
			reg = <0x01c02000 0x1000>;
			interrupts = <18>;
			clocks = <&ccu CLK_BUS_DMA>;
			resets = <&ccu RST_BUS_DMA>;
			#dma-cells = <2>;
		};

		codec: codec@1c23c00 {
			compatible = "allwinner,suniv-codec";
			reg = <0x01c23c00 0x400>;
			interrupts = <21>;
			clocks = <&ccu CLK_BUS_CODEC>,
				 <&ccu CLK_CODEC>;
			clock-names = "apb", "codec";
			resets = <&ccu RST_BUS_CODEC>;
			dmas = <&dma 0 12>, <&dma 0 12>;
			dma-names = "rx", "tx";
			status = "disabled";
		};

离线

#16 2020-04-22 13:11:07 分享评论

wammaw1314
会员
注册时间: 2020-04-22
已发帖子: 7
积分: 7

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

补充2:
Linux 4.19 f1c100s 声卡 suniv-f1c100s-licheepi-nano.dts 设备树修改:
suniv-f1c100s-licheepi-nano.dts 添加:

&codec {
	allwinner,audio-routing =
		"Headphone", "HP",
		"Headphone", "HPCOM",
		"MIC", "Mic";
	status = "okay";
};

离线

#17 2020-04-22 14:30:41 分享评论

歌以咏志
会员
注册时间: 2019-09-21
已发帖子: 212
积分: 204.5

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

太棒了, 加上这个 NES 模拟器, 无敌了: https://whycan.cn/t_3535.html

离线

#18 2020-04-22 14:46:28 分享评论

checkout
会员
注册时间: 2018-11-09
已发帖子: 171
积分: 171

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

这样一来,f1c声卡的坑也填上了。

离线

#19 2020-04-24 09:01:40 分享评论

jambogo
会员
注册时间: 2020-03-27
已发帖子: 7
积分: 7

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

wammaw1314 说:

补充2:
Linux 4.19 f1c100s 声卡 suniv-f1c100s-licheepi-nano.dts 设备树修改:
suniv-f1c100s-licheepi-nano.dts 添加:

&codec {
	allwinner,audio-routing =
		"Headphone", "HP",
		"Headphone", "HPCOM",
		"MIC", "Mic";
	status = "okay";
};

大神,出声音了吗?哈

离线

#20 2020-04-25 11:16:53 分享评论

Undefined
会员
注册时间: 2020-04-25
已发帖子: 13
积分: 13

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

wammaw1314 说:

补充2:
Linux 4.19 f1c100s 声卡 suniv-f1c100s-licheepi-nano.dts 设备树修改:
suniv-f1c100s-licheepi-nano.dts 添加:

&codec {
	allwinner,audio-routing =
		"Headphone", "HP",
		"Headphone", "HPCOM",
		"MIC", "Mic";
	status = "okay";
};

大神,我按照patch修改后出现了codec驱动,但是实际播放时只有电流杂音。请问您有测试成功吗?

离线

#21 2020-04-25 13:48:28 分享评论

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 231
积分: 226.5

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

我试了下,输入是有声音的,输出我没有喇叭测不了,估计问题不大,毕竟MIC都能用

离线

#22 2020-04-25 17:06:38 分享评论

antoniofay
会员
注册时间: 2020-02-02
已发帖子: 8
积分: 8

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

学习一下,打算好好搞一下f1c100s的声卡支持,目前就搞定了USB音频和VLC的支持

离线

#23 2020-04-25 17:08:33 分享评论

antoniofay
会员
注册时间: 2020-02-02
已发帖子: 8
积分: 8

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

哪位大神搞过I2S的支持么,刚下手不知道驱动有没有支持

离线

#24 2020-04-25 17:11:10 分享评论

Undefined
会员
注册时间: 2020-04-25
已发帖子: 13
积分: 13

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

antoniofay 说:

学习一下,打算好好搞一下f1c100s的声卡支持,目前就搞定了USB音频和VLC的支持

usb音频方便分享一下吗? 我按照论坛的帖子弄好了usb的支持,但插声卡没反应...

离线

#25 2020-04-25 20:17:20 分享评论

antoniofay
会员
注册时间: 2020-02-02
已发帖子: 8
积分: 8

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

Undefined 说:

usb音频方便分享一下吗? 我按照论坛的帖子弄好了usb的支持,但插声卡没反应...

用的是 https://whycan.cn/t_3087.html 这个内核么,内核配置把sound里面的USB audio下的midi打开就行了,然后看下ls /dev/snd下应该会有声卡,测试需要alsa库和alsa工具

离线

#26 2020-04-27 10:05:04 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

编译错误:

结构体成员名不一样,这是为什么? 是内核不一样?还是Mesih Kilinc书写错误?

发现这个结构体没有成员.use_pmdown_time

static const struct snd_soc_component_driver sun8i_a23_codec_codec = {
    .controls        = sun8i_a23_codec_codec_controls,
    .num_controls        = ARRAY_SIZE(sun8i_a23_codec_codec_controls),
    .dapm_widgets        = sun8i_a23_codec_codec_widgets,
    .num_dapm_widgets    = ARRAY_SIZE(sun8i_a23_codec_codec_widgets),
    .idle_bias_on        = 1,
    .use_pmdown_time    = 1,
    .endianness        = 1,
    .non_legacy_dai_naming    = 1,
};

我的内核里结构体声明成员 是 pmdown_time:

/* component interface */
struct snd_soc_component_driver {
    const char *name;

    /* Default control and setup, added after probe() is run */
    const struct snd_kcontrol_new *controls;
    unsigned int num_controls;
    const struct snd_soc_dapm_widget *dapm_widgets;
    unsigned int num_dapm_widgets;
    const struct snd_soc_dapm_route *dapm_routes;
    unsigned int num_dapm_routes;

    int (*probe)(struct snd_soc_component *);
    void (*remove)(struct snd_soc_component *);
    int (*suspend)(struct snd_soc_component *);
    int (*resume)(struct snd_soc_component *);

    /* pcm creation and destruction */
    int (*pcm_new)(struct snd_soc_pcm_runtime *);
    void (*pcm_free)(struct snd_pcm *);

    /* component wide operations */
    int (*set_sysclk)(struct snd_soc_component *component,
              int clk_id, int source, unsigned int freq, int dir);
    int (*set_pll)(struct snd_soc_component *component, int pll_id,
               int source, unsigned int freq_in, unsigned int freq_out);
    int (*set_jack)(struct snd_soc_component *component,
            struct snd_soc_jack *jack,  void *data);

    /* DT */
    int (*of_xlate_dai_name)(struct snd_soc_component *component,
                 struct of_phandle_args *args,
                 const char **dai_name);
    int (*of_xlate_dai_id)(struct snd_soc_component *comment,
                   struct device_node *endpoint);
    void (*seq_notifier)(struct snd_soc_component *, enum snd_soc_dapm_type,
        int subseq);
    int (*stream_event)(struct snd_soc_component *, int event);
    int (*set_bias_level)(struct snd_soc_component *component,
                  enum snd_soc_bias_level level);

    const struct snd_pcm_ops *ops;
    const struct snd_compr_ops *compr_ops;

    /* probe ordering - for components with runtime dependencies */
    int probe_order;
    int remove_order;

    /* bits */
    unsigned int idle_bias_on:1;
    unsigned int suspend_bias_off:1;
    unsigned int pmdown_time:1; /* care pmdown_time at stop */
    unsigned int endianness:1;
    unsigned int non_legacy_dai_naming:1;
};
sound/soc/sunxi/suniv-codec.c:862:3: error: 'const struct snd_soc_component_driver' has no member named 'use_pmdown_time'; did you mean 'pmdown_time'?
  .use_pmdown_time = 1,
   ^~~~~~~~~~~~~~~
   pmdown_time
sound/soc/sunxi/suniv-codec.c:1170:3: error: 'const struct snd_soc_component_driver' has no member named 'use_pmdown_time'; did you mean 'pmdown_time'?
  .use_pmdown_time = 1,
   ^~~~~~~~~~~~~~~
   pmdown_time
sound/soc/sunxi/suniv-codec.c:1198:3: error: 'const struct snd_soc_component_driver' has no member named 'use_pmdown_time'; did you mean 'pmdown_time'?
  .use_pmdown_time = 1,
   ^~~~~~~~~~~~~~~
   pmdown_time
sound/soc/sunxi/suniv-codec.c:1427:3: error: 'const struct snd_soc_component_driver' has no member named 'use_pmdown_time'; did you mean 'pmdown_time'?
  .use_pmdown_time = 1,
   ^~~~~~~~~~~~~~~
   pmdown_time

离线

#27 2020-05-06 21:06:30 分享评论

Undefined
会员
注册时间: 2020-04-25
已发帖子: 13
积分: 13

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

shaoxi2010 说:

我试了下,输入是有声音的,输出我没有喇叭测不了,估计问题不大,毕竟MIC都能用

你用的mic是哪个mic?
我直接使用arecord的话会IO错误
错误如下

# arecord -Dhw:0,0 -d 10 -f cd -r 44100 -c 2 -t wav test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: pcm_read:2151: read error: Input/output error
#

离线

#28 2020-05-07 09:52:32 分享评论

gzhssl
会员
注册时间: 2019-11-22
已发帖子: 12
积分: 12

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

持续关注中,用music-box配合这个声卡听歌哈

离线

#29 2020-05-10 21:19:45 分享评论

pajoke
会员
注册时间: 2020-03-21
已发帖子: 11
积分: 11

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

终于等到声卡驱动了,多谢!

离线

#30 2020-05-10 23:06:03 分享评论

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 231
积分: 226.5

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

Undefined 说:

你用的mic是哪个mic?
我直接使用arecord的话会IO错误
错误如下

# arecord -Dhw:0,0 -d 10 -f cd -r 44100 -c 2 -t wav test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: pcm_read:2151: read error: Input/output error
#

mixer配置没有哦,我在没选择之前都是直接卡死

离线

#31 2020-05-11 08:40:05 分享评论

pajoke
会员
注册时间: 2020-03-21
已发帖子: 11
积分: 11

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

13楼的音频驱动,音频输出已验证,可以使用。
音频输入没有验证。
内核:5.6.11

离线

#32 2020-05-11 08:44:28 分享评论

哇酷小二
管理员
注册时间: 2020-04-22
已发帖子: 2,125
积分: 1907

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

pajoke 说:

13楼的音频驱动,音频输出已验证,可以使用。
音频输入没有验证。
内核:5.6.11

感谢验证和反馈信息, 同时也感谢提交 patch的朋友@wammaw1314

离线

#33 2020-05-11 09:10:50 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

pajoke 说:

13楼的音频驱动,音频输出已验证,可以使用。
音频输入没有验证。
内核:5.6.11

方便提供一个固件么?测试一下手飞的硬件

离线

#34 2020-05-11 13:23:32 分享评论

omg
会员
注册时间: 2020-05-11
已发帖子: 10
积分: 10

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

有大神搞定了4.14内核的声卡吗?我试了一下只有电流声

离线

#35 2020-05-13 20:55:45 分享评论

name272
会员
注册时间: 2020-05-13
已发帖子: 10
积分: 10

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

楼主,请问主线linux4.14是否可以使用?

离线

#36 2020-05-21 12:30:39 分享评论

Targz
会员
注册时间: 2020-05-21
已发帖子: 3
积分: 3

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

an image with both USB support and the audio patches would be really great

离线

#37 2020-06-22 09:59:40 分享评论

gzhssl
会员
注册时间: 2019-11-22
已发帖子: 12
积分: 12

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

声卡输出验证成功,可以播放歌曲,补充一点就是打上#13楼的补丁,修改设备树之后,要检查下Device Drivers->Sound card support->Advanced Linux Sound Architecture->ALSA for audio support->Allwinner SoC Audio support->Allwinner F1C100s Codec support有没有勾选
FluxBB bbcode 声卡
另外有个问题就是每次播放完之后都会有爆音出现,不知道是哪里引起的。。。

离线

#38 2020-06-22 15:49:23 分享评论

woaicaiwenbin
会员
注册时间: 2020-06-15
已发帖子: 6
积分: 6

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

5.20内核,加上去出了这个问题,arecord: pcm_read:2122: read error: I/O error,难道io需要配置下?4.15内核也是一样的问题。

最近编辑记录 woaicaiwenbin (2020-06-22 15:50:17)

离线

#39 2020-06-22 16:12:42 分享评论

woaicaiwenbin
会员
注册时间: 2020-06-15
已发帖子: 6
积分: 6

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

gzhssl 说:

声卡输出验证成功,可以播放歌曲,补充一点就是打上#13楼的补丁,修改设备树之后,要检查下Device Drivers->Sound card support->Advanced Linux Sound Architecture->ALSA for audio support->Allwinner SoC Audio support->Allwinner F1C100s Codec support有没有勾选
https://whycan.cn/files/members/2474/1441978-20200621134730715-1005027566_20200622-0958.png
另外有个问题就是每次播放完之后都会有爆音出现,不知道是哪里引起的。。。

#37 还有DMA选项需要打开吧

离线

#40 2020-06-22 16:21:18 分享评论

woaicaiwenbin
会员
注册时间: 2020-06-15
已发帖子: 6
积分: 6

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

请问解决了吗?

Undefined 说:

你用的mic是哪个mic?
我直接使用arecord的话会IO错误
错误如下

# arecord -Dhw:0,0 -d 10 -f cd -r 44100 -c 2 -t wav test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: pcm_read:2151: read error: Input/output error
#

离线

#41 2020-07-29 15:49:13 分享评论

hameyou
会员
注册时间: 2018-04-15
已发帖子: 92
积分: 81.5

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

gzhssl 说:

声卡输出验证成功,可以播放歌曲,补充一点就是打上#13楼的补丁,修改设备树之后,要检查下Device Drivers->Sound card support->Advanced Linux Sound Architecture->ALSA for audio support->Allwinner SoC Audio support->Allwinner F1C100s Codec support有没有勾选
https://whycan.cn/files/members/2474/1441978-20200621134730715-1005027566_20200622-0958.png
另外有个问题就是每次播放完之后都会有爆音出现,不知道是哪里引起的。。。

打上补丁,修改设备树之后,ALSA for audio support-> 根本没有 Allwinner SoC Audio support选项,不知道哪里出了问题

离线

#42 2020-08-04 19:20:29 分享评论

foreversun
会员
注册时间: 2020-07-01
已发帖子: 7
积分: 2

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

找了半天终于找到解决办法了,多谢前辈

离线

#43 2020-08-04 19:27:06 分享评论

asdfwyg
会员
注册时间: 2020-04-10
已发帖子: 26
积分: 26

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

分享一下

foreversun 说:

找了半天终于找到解决办法了,多谢前辈

离线

#44 2020-08-06 13:18:15 分享评论

yeguitao
会员
注册时间: 2020-05-25
已发帖子: 10
积分: 10

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

内核版本差别好大,用主线kernel4.14的编译无法通过,查看得知是版本不兼容。请问一下针对主线kernel4.14的sound部分需做什么修改呢?还是只能切换到高版本内核了

离线

#45 2020-08-07 10:42:17 分享评论

jkl
会员
注册时间: 2019-11-18
已发帖子: 182
积分: 172

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

Undefined 说:

你用的mic是哪个mic?
我直接使用arecord的话会IO错误
错误如下

# arecord -Dhw:0,0 -d 10 -f cd -r 44100 -c 2 -t wav test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: pcm_read:2151: read error: Input/output error
#

请问一下,这个问题解决了吗

离线

#46 2020-08-28 20:18:50 分享评论

tam2907
会员
注册时间: 2020-03-29
已发帖子: 34
积分: 28.5

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

裸机跑AUDIOCODEC 声音播放非常快,是怎么回事,AC PLL时钟设置是24MHz。

离线

#47 2020-08-28 20:20:07 分享评论

tam2907
会员
注册时间: 2020-03-29
已发帖子: 34
积分: 28.5

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

dzahz2008 说:

有裸机下的声卡驱动

声音播放很快,有解么?

离线

#48 2020-10-23 16:37:22 分享评论

b7376811
会员
注册时间: 2019-09-12
已发帖子: 27
积分: 27

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

Undefined 说:
shaoxi2010 说:

我试了下,输入是有声音的,输出我没有喇叭测不了,估计问题不大,毕竟MIC都能用

你用的mic是哪个mic?
我直接使用arecord的话会IO错误
错误如下

# arecord -Dhw:0,0 -d 10 -f cd -r 44100 -c 2 -t wav test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: pcm_read:2151: read error: Input/output error
#

我的也是这个问题,这个问题解决了吗?

离线

#49 2020-11-25 22:03:27 分享评论

gzhssl
会员
注册时间: 2019-11-22
已发帖子: 12
积分: 12

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

声卡输入这个问题有网友解决了呀,思路在这里
https://whycan.com/t_5301.html
我的步骤:
1、先打上#13楼的补丁,应用CODEC补丁后,启动日志中应该出现添加的声卡
    cat /proc/asound/cards
2、安装alsa-utils
3、设置默认声卡
    vim /etc/asound.conf
   

defaults.ctl.card 1
defaults.pcm.card 1
defaults.timer.card 1

4、打开录音Capture,amixer -c 1 cset numid=14 on
    也可以alsamixer后,在图形界面里面按F4,找到ADC Mixer Mic,按空格键开启,我小白啊,愣是不知道咋打开,然后键盘上一个一个按键试出来的,瓜兮兮的不知道看help!
5、设置好mic的值和DAC,不然录的声音惨不忍睹
FluxBB bbcode 测试

最后附上我的alsa配置

state.Loopback {
	control.1 {
		iface PCM
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.2 {
		iface PCM
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.3 {
		iface PCM
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.4 {
		iface PCM
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.5 {
		iface PCM
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.6 {
		iface PCM
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.7 {
		iface PCM
		subdevice 1
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.8 {
		iface PCM
		subdevice 1
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.9 {
		iface PCM
		subdevice 1
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.10 {
		iface PCM
		subdevice 1
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.11 {
		iface PCM
		subdevice 1
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.12 {
		iface PCM
		subdevice 1
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.13 {
		iface PCM
		subdevice 2
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.14 {
		iface PCM
		subdevice 2
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.15 {
		iface PCM
		subdevice 2
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.16 {
		iface PCM
		subdevice 2
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.17 {
		iface PCM
		subdevice 2
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.18 {
		iface PCM
		subdevice 2
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.19 {
		iface PCM
		subdevice 3
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.20 {
		iface PCM
		subdevice 3
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface PCM
		subdevice 3
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface PCM
		subdevice 3
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.23 {
		iface PCM
		subdevice 3
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.24 {
		iface PCM
		subdevice 3
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.25 {
		iface PCM
		subdevice 4
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.26 {
		iface PCM
		subdevice 4
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.27 {
		iface PCM
		subdevice 4
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.28 {
		iface PCM
		subdevice 4
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.29 {
		iface PCM
		subdevice 4
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.30 {
		iface PCM
		subdevice 4
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.31 {
		iface PCM
		subdevice 5
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.32 {
		iface PCM
		subdevice 5
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.33 {
		iface PCM
		subdevice 5
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.34 {
		iface PCM
		subdevice 5
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.35 {
		iface PCM
		subdevice 5
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.36 {
		iface PCM
		subdevice 5
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.37 {
		iface PCM
		subdevice 6
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.38 {
		iface PCM
		subdevice 6
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.39 {
		iface PCM
		subdevice 6
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.40 {
		iface PCM
		subdevice 6
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.41 {
		iface PCM
		subdevice 6
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.42 {
		iface PCM
		subdevice 6
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.43 {
		iface PCM
		subdevice 7
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.44 {
		iface PCM
		subdevice 7
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.45 {
		iface PCM
		subdevice 7
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.46 {
		iface PCM
		subdevice 7
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.47 {
		iface PCM
		subdevice 7
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.48 {
		iface PCM
		subdevice 7
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.49 {
		iface PCM
		device 1
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.50 {
		iface PCM
		device 1
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.51 {
		iface PCM
		device 1
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.52 {
		iface PCM
		device 1
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.53 {
		iface PCM
		device 1
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.54 {
		iface PCM
		device 1
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.55 {
		iface PCM
		device 1
		subdevice 1
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.56 {
		iface PCM
		device 1
		subdevice 1
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.57 {
		iface PCM
		device 1
		subdevice 1
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.58 {
		iface PCM
		device 1
		subdevice 1
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.59 {
		iface PCM
		device 1
		subdevice 1
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.60 {
		iface PCM
		device 1
		subdevice 1
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.61 {
		iface PCM
		device 1
		subdevice 2
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.62 {
		iface PCM
		device 1
		subdevice 2
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.63 {
		iface PCM
		device 1
		subdevice 2
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.64 {
		iface PCM
		device 1
		subdevice 2
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.65 {
		iface PCM
		device 1
		subdevice 2
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.66 {
		iface PCM
		device 1
		subdevice 2
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.67 {
		iface PCM
		device 1
		subdevice 3
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.68 {
		iface PCM
		device 1
		subdevice 3
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.69 {
		iface PCM
		device 1
		subdevice 3
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.70 {
		iface PCM
		device 1
		subdevice 3
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.71 {
		iface PCM
		device 1
		subdevice 3
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.72 {
		iface PCM
		device 1
		subdevice 3
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.73 {
		iface PCM
		device 1
		subdevice 4
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.74 {
		iface PCM
		device 1
		subdevice 4
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.75 {
		iface PCM
		device 1
		subdevice 4
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.76 {
		iface PCM
		device 1
		subdevice 4
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.77 {
		iface PCM
		device 1
		subdevice 4
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.78 {
		iface PCM
		device 1
		subdevice 4
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.79 {
		iface PCM
		device 1
		subdevice 5
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.80 {
		iface PCM
		device 1
		subdevice 5
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.81 {
		iface PCM
		device 1
		subdevice 5
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.82 {
		iface PCM
		device 1
		subdevice 5
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.83 {
		iface PCM
		device 1
		subdevice 5
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.84 {
		iface PCM
		device 1
		subdevice 5
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.85 {
		iface PCM
		device 1
		subdevice 6
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.86 {
		iface PCM
		device 1
		subdevice 6
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.87 {
		iface PCM
		device 1
		subdevice 6
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.88 {
		iface PCM
		device 1
		subdevice 6
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.89 {
		iface PCM
		device 1
		subdevice 6
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.90 {
		iface PCM
		device 1
		subdevice 6
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
	control.91 {
		iface PCM
		device 1
		subdevice 7
		name 'PCM Rate Shift 100000'
		value 100000
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '80000 - 120000 (step 1)'
		}
	}
	control.92 {
		iface PCM
		device 1
		subdevice 7
		name 'PCM Notify'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.93 {
		iface PCM
		device 1
		subdevice 7
		name 'PCM Slave Active'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.94 {
		iface PCM
		device 1
		subdevice 7
		name 'PCM Slave Format'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 52 (step 1)'
		}
	}
	control.95 {
		iface PCM
		device 1
		subdevice 7
		name 'PCM Slave Rate'
		value 48000
		comment {
			access read
			type INTEGER
			count 1
			range '0 - 192000 (step 1)'
		}
	}
	control.96 {
		iface PCM
		device 1
		subdevice 7
		name 'PCM Slave Channels'
		value 2
		comment {
			access read
			type INTEGER
			count 1
			range '1 - 1024 (step 1)'
		}
	}
}
state.Codec {
	control.1 {
		iface MIXER
		name 'DAC Playback Volume'
		value 55
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 63'
			dbmin -7308
			dbmax 0
			dbvalue.0 -928
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Volume'
		value 54
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 63'
			dbmin -9999999
			dbmax 0
			dbvalue.0 -900
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.4 {
		iface MIXER
		name 'Line In Playback Volume'
		value 0
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin -450
			dbmax 600
			dbvalue.0 -450
		}
	}
	control.5 {
		iface MIXER
		name 'FM In Playback Volume'
		value 0
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin -450
			dbmax 600
			dbvalue.0 -450
		}
	}
	control.6 {
		iface MIXER
		name 'Mic In Playback Volume'
		value 7
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin -450
			dbmax 600
			dbvalue.0 600
		}
	}
	control.7 {
		iface MIXER
		name 'Mic Boost Volume'
		value 7
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin 0
			dbmax 4200
			dbvalue.0 4200
		}
	}
	control.8 {
		iface MIXER
		name 'ADC Capture Volume'
		value 3
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin -450
			dbmax 600
			dbvalue.0 0
		}
	}
	control.9 {
		iface MIXER
		name 'ADC Mixer Right Out Capture Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.10 {
		iface MIXER
		name 'ADC Mixer Left Out Capture Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.11 {
		iface MIXER
		name 'ADC Mixer Line In Capture Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface MIXER
		name 'ADC Mixer Right FM In Capture Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.13 {
		iface MIXER
		name 'ADC Mixer Left FM In Capture Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'ADC Mixer Mic Capture Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'Left Mixer Right DAC Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'Left Mixer Left DAC Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'Left Mixer FM In Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface MIXER
		name 'Left Mixer Line In Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface MIXER
		name 'Left Mixer Mic In Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface MIXER
		name 'Right Mixer Left DAC Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface MIXER
		name 'Right Mixer Right DAC Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface MIXER
		name 'Right Mixer FM In Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface MIXER
		name 'Right Mixer Line In Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface MIXER
		name 'Right Mixer Mic In Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface MIXER
		name 'Headphone Source Playback Route'
		value.0 Mixer
		value.1 Mixer
		comment {
			access 'read write'
			type ENUMERATED
			count 2
			item.0 DAC
			item.1 Mixer
		}
	}
}

把这个放在/var/lib/alsa/下面
然后恢复ALSA配置
alsactl restore -f /var/lib/alsa/asound.state
~~~

最最后,有人知道f1c200s安装pyaudio,用它录音之后再播放,发现音频文件时间不对,速度快了好多,跟鬼畜一样,用arecord是一点问题没有…
最最最后,f1c200s跑kocker有没有可能,我安装了docker.io,docker服务启动不起来 ……

离线

#50 2021-01-15 23:01:07 分享评论

bubailong
会员
注册时间: 2020-04-16
已发帖子: 104
积分: 104

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

wammaw1314 说:

主线Linux 4.19 f1c100s 声卡支持:
suniv-dma.c 和 suniv-codec.c 是基于 原先的sun4i-dma.c 和 sun4i-codec.c 新增和修改过来的,是外网Mesih Kilinc大神提供到Linux的patch,但未合并;
我重新加了文件,整个修改和新增的包如下,具体修改代码,可以比较下两者源码。

linux_patch.zip

这个文件怎么使用,我用主线5.2的内核调不出codec的驱动

离线

#51 2021-02-27 06:30:32 分享评论

AslanZ
会员
注册时间: 2020-10-06
已发帖子: 2
积分: 2

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

您好,首先,我在使用翻译程序时深表歉意。 我向社区致以问候。

我解释了我的情况,我应用了[RFC,10/10] ARM中发布的补丁:dts:suniv:f1c100s:激活Lichee Pi Nano的音频编解码器,它已经识别了声卡和驱动程序,但是我只听到噪音。

任何想法可能会失败。

你好。

拉轰的脚踏车 说:
wammaw1314 说:

主线Linux 4.19 f1c100s 声卡支持:
suniv-dma.c 和 suniv-codec.c 是基于 原先的sun4i-dma.c 和 sun4i-codec.c 新增和修改过来的,是外网Mesih Kilinc大神提供到Linux的patch,但未合并;
我重新加了文件,整个修改和新增的包如下,具体修改代码,可以比较下两者源码。

linux_patch.zip

感谢分享。要是搞定声卡,我一定唱一曲: 等了好久终于等到今天, 梦了好久终于把梦实现。

离线

#52 2021-02-27 06:49:50 分享评论

AslanZ
会员
注册时间: 2020-10-06
已发帖子: 2
积分: 2

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

FluxBB bbcode test
FluxBB bbcode test


AslanZ 说:

您好,首先,我在使用翻译程序时深表歉意。 我向社区致以问候。

我解释了我的情况,我应用了[RFC,10/10] ARM中发布的补丁:dts:suniv:f1c100s:激活Lichee Pi Nano的音频编解码器,它已经识别了声卡和驱动程序,但是我只听到噪音。

任何想法可能会失败。

你好。

拉轰的脚踏车 说:
wammaw1314 说:

主线Linux 4.19 f1c100s 声卡支持:
suniv-dma.c 和 suniv-codec.c 是基于 原先的sun4i-dma.c 和 sun4i-codec.c 新增和修改过来的,是外网Mesih Kilinc大神提供到Linux的patch,但未合并;
我重新加了文件,整个修改和新增的包如下,具体修改代码,可以比较下两者源码。

linux_patch.zip

感谢分享。要是搞定声卡,我一定唱一曲: 等了好久终于等到今天, 梦了好久终于把梦实现。

离线

#53 2021-04-22 11:10:48 分享评论

COCLP
会员
注册时间: 2021-04-22
已发帖子: 2
积分: 1

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

问题解决了么,我也是这个问题

Undefined 说:
shaoxi2010 说:

我试了下,输入是有声音的,输出我没有喇叭测不了,估计问题不大,毕竟MIC都能用

你用的mic是哪个mic?
我直接使用arecord的话会IO错误
错误如下

# arecord -Dhw:0,0 -d 10 -f cd -r 44100 -c 2 -t wav test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: pcm_read:2151: read error: Input/output error
#

离线

#54 2021-04-22 11:28:56 分享评论

COCLP
会员
注册时间: 2021-04-22
已发帖子: 2
积分: 1

Re: 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试]

IO不报错了,输出只有电流声

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn