您尚未登录。

楼主 #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
已发帖子: 62
积分: 61.5

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
已发帖子: 733
积分: 679

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
已发帖子: 268
积分: 210

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
已发帖子: 215
积分: 206

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
已发帖子: 245
积分: 218.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
已发帖子: 164
积分: 133.5

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
已发帖子: 13
积分: 7.5

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
已发帖子: 245
积分: 218.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,539
积分: 1902

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

pajoke 说:

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

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

离线

#33 2020-05-11 09:10:50

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

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

pajoke 说:

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

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

离线

#34 2020-05-11 13:23:32

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

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

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

离线

#35 2020-05-13 20:55:45

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

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
已发帖子: 13
积分: 7.5

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
已发帖子: 96
积分: 28.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
已发帖子: 198
积分: 120.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
#

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

离线

#46 2020-08-28 20:18:50

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

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

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

离线

#47 2020-08-28 20:20:07

tam2907
会员
注册时间: 2020-03-29
已发帖子: 34
积分: 23.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
已发帖子: 13
积分: 7.5

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不报错了,输出只有电流声

离线

#55 2021-09-02 22:27:13

卓林
会员
注册时间: 2021-01-10
已发帖子: 29
积分: 15

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

@大帅
请问解决了吗,我也遇到一样的问题,未定义use_pmdown_time

最近编辑记录 卓林 (2021-09-02 22:27:40)

离线

#56 2021-09-04 01:29:53

卓林
会员
注册时间: 2021-01-10
已发帖子: 29
积分: 15

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

Icenowy 的linux4.15内核测试成功,可以播放音乐了。
晚点把文件传上来。
遇到几个问题:
1.直接添加patch 编译遇到 use_pmdown_time 报错,需要修改文件
2.编译codec驱动到内核发现根本没有注册驱动,编译成模块后insmod (suniv_)却可以注册,并生成f1c100s网卡
3.自己做的板子,在接上屏幕和功法时播放音乐会重启,应该是供电不足

主要是第二个问题不知道怎么解决,明明驱动已经被编译了,却没有出现在内核中(probe中dev_info输出log但是在启动信息中却看不见),不知道大神么怎么看,我纯小白>..<

离线

#57 2021-09-04 06:45:23

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 246
积分: 119
个人网站

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

codec的compatible必須符合dtbs的compatible才可以被加載


sound/soc/suniv/miyoo.c

static const struct of_device_id myaudio_driver_of_match[] = { 
  {
    .compatible = "allwinner,suniv-f1c500s-codec",
  },{}
};
MODULE_DEVICE_TABLE(of, myaudio_driver_of_match);

arch/arm/boot/dts/suniv.dtsi

codec: codec@1c22000 {
  compatible = "allwinner,suniv-f1c500s-codec";
  clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_CODEC>;
  interrupts = <18>;
  status = "disabled";
};

最近编辑记录 司徒 (2021-09-04 06:45:59)

离线

#58 2021-09-04 13:32:36

卓林
会员
注册时间: 2021-01-10
已发帖子: 29
积分: 15

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

@司徒
首先非常感谢大神的回复,我比较了我的dts和codec
应该是一致的,我的疑问是为何编译进系统不能加载驱动,但是编译成模块能加载。
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";
		};

suniv-code.c

static const struct of_device_id sun4i_codec_of_match[] = {
	{
		.compatible = "allwinner,sun4i-a10-codec",
		.data = &sun4i_codec_quirks,
	},
	{
		.compatible = "allwinner,sun6i-a31-codec",
		.data = &sun6i_a31_codec_quirks,
	},
	{
		.compatible = "allwinner,sun7i-a20-codec",
		.data = &sun7i_codec_quirks,
	},
	{
		.compatible = "allwinner,sun8i-a23-codec",
		.data = &sun8i_a23_codec_quirks,
	},
	{
		.compatible = "allwinner,sun8i-h3-codec",
		.data = &sun8i_h3_codec_quirks,
	},
	{
		.compatible = "allwinner,sun8i-v3s-codec",
		.data = &sun8i_v3s_codec_quirks,
	},
	{
		.compatible = "allwinner,suniv-codec",
		.data = &suniv_f1c100s_codec_quirks,
	},
	{}
};

另外上传一下我的patch文件
linux_patch.tar

离线

#59 2021-09-04 13:56:29

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 246
积分: 119
个人网站

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

你看一下你最外層的dtbs是否有enable, 如果有enable, 你可以從probe進入後,打印出第一行log來協助追問題~因為insmod如果可以加載,代表驅動的架構應該是沒有問題,缺少的部份應該就是沒有對上這個問題,你也可以把dtb逆向還原去看一下是否有enable codec~

arch/arm/boot/dts/suniv-f1c500s-miyoo.dts

&codec {
  status = "okay";
};

最近编辑记录 司徒 (2021-09-04 14:04:53)

离线

#60 2021-09-04 15:01:36

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 246
积分: 119
个人网站

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

不好意思,有點頭暈了~insmod如果可以上,那代表不是compatible問題,你有辦法把目前內核代碼打包給我,我幫你看一下嗎?

离线

#61 2021-09-04 23:59:46

卓林
会员
注册时间: 2021-01-10
已发帖子: 29
积分: 15

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

真的是非常抱歉,问题解决了。我也不知道怎么回事,我把整个内核重新编译一遍之后就可以了。
非常感谢您的回复@司徒

离线

#62 2021-09-05 08:18:37

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 246
积分: 119
个人网站

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

恭喜你把問題解決~


另外,我有兩個問題想請教你:
問題1:我從Icenowy GitHub(https://github.com/Icenowy/linux/tree/f1c100s)抓下4.15編譯,但是,我只有看到sunxi_defconfig,請問你的defconfig是哪個?因為如果要編譯出Lichee Nano DTB,需要CONFIG_MACH_SUNIV,但是sunxi_defconfig並沒開啟這個選項

問題2:我看的了一下你的Patch檔案,你的CODEC是使用.pmdown_time = 1,如果是Kernel 4.15應該是會出錯,你是改用.use_pmdown_time = 1

离线

#63 2021-09-15 14:39:47

twzy
会员
注册时间: 2021-04-16
已发帖子: 39
积分: 20
个人网站

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

我是菜鸡,
5.7.1内核调不出来
打了 13楼的补丁,因为不兼容,参考sun4i-codec 修改了字段,打了补丁,通过menuconfig配置了选项,但是还是不显示声卡
QQ图片20210915143757.png

离线

页脚

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

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