!!################################ !!ALSA Information Script v 0.4.64 !!################################ !!Script ran on: Sun Feb 2 16:18:14 UTC 2020 !!Linux Distribution !!------------------ ARCH=arm64 INITRD_ARCH=arm64 ARCH=arm64 INITRD_ARCH=arm64 DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 19.10" NAME="Ubuntu" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 19.10" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=eoan !!DMI Information !!--------------- Manufacturer: Product Name: Product Version: Firmware Version: Board Vendor: Board Name: !!ACPI Device Status Information !!--------------- !!Kernel Information !!------------------ Kernel release: 5.3.0-aml-g12 Operating System: GNU/Linux Architecture: aarch64 Processor: aarch64 SMP Enabled: Yes !!ALSA Version !!------------ Driver version: k5.3.0-aml-g12 Library version: 1.1.9 Utilities version: 1.1.9 !!Loaded ALSA modules !!------------------- !!Sound Servers on this system !!---------------------------- No sound servers found. !!Soundcards recognised by ALSA !!----------------------------- 0 [AMLG12 ]: AMLG12 - AMLG12 AMLG12 1 [Mic ]: USB-Audio - ZY Control Mic ZY.Ltd ZY Control Mic at usb-xhci-hcd.3.auto-1, full speed !!PCI Soundcards installed in the system !!-------------------------------------- !!Advanced information - PCI Vendor/Device/Subsystem ID's !!------------------------------------------------------- !!Modprobe options (Sound related) !!-------------------------------- snd_pcsp: index=-2 snd_usb_audio: index=-2 snd_atiixp_modem: index=-2 snd_intel8x0m: index=-2 snd_via82xx_modem: index=-2 !!Loaded sound module options !!--------------------------- !!USB Mixer information !!--------------------- --startcollapse-- USB Mixer: usb_id=0x19151025, ctrlif=0, ctlerr=0 Card: ZY.Ltd ZY Control Mic at usb-xhci-hcd.3.auto-1, full speed Unit: 3 Control: name="Mic Capture Volume", index=0 Info: id=3, control=2, cmask=0x0, channels=1, type="S16" Volume: min=-8192, max=0, dBmin=-3200, dBmax=0 Unit: 3 Control: name="Mic Capture Switch", index=0 Info: id=3, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN" Volume: min=0, max=1, dBmin=0, dBmax=0 --endcollapse-- !!ALSA Device nodes !!----------------- crw-rw---- 1 root audio 116, 5 Feb 2 15:17 /dev/snd/controlC0 crw-rw---- 1 root audio 116, 7 Feb 2 15:17 /dev/snd/controlC1 crw-rw---- 1 root audio 116, 2 Feb 2 15:17 /dev/snd/pcmC0D0p crw-rw---- 1 root audio 116, 3 Feb 2 15:17 /dev/snd/pcmC0D1p crw-rw---- 1 root audio 116, 4 Feb 2 15:17 /dev/snd/pcmC0D2p crw-rw---- 1 root audio 116, 6 Feb 2 15:17 /dev/snd/pcmC1D0c crw-rw---- 1 root audio 116, 33 Feb 2 15:17 /dev/snd/timer /dev/snd/by-id: total 0 drwxr-xr-x 2 root root 60 Feb 2 15:17 . drwxr-xr-x 4 root root 220 Feb 2 15:17 .. lrwxrwxrwx 1 root root 12 Feb 2 15:17 usb-ZY.Ltd_ZY_Control_Mic-00 -> ../controlC1 /dev/snd/by-path: total 0 drwxr-xr-x 2 root root 80 Feb 2 15:17 . drwxr-xr-x 4 root root 220 Feb 2 15:17 .. lrwxrwxrwx 1 root root 12 Feb 2 15:17 platform-sound -> ../controlC0 lrwxrwxrwx 1 root root 12 Feb 2 15:17 platform-xhci-hcd.3.auto-usb-0:1:1.0 -> ../controlC1 !!Aplay/Arecord output !!-------------------- APLAY **** List of PLAYBACK Hardware Devices **** card 0: AMLG12 [AMLG12], device 0: fe.dai-link-0 (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: AMLG12 [AMLG12], device 1: fe.dai-link-1 (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: AMLG12 [AMLG12], device 2: fe.dai-link-2 (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 ARECORD **** List of CAPTURE Hardware Devices **** card 1: Mic [ZY Control Mic], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 !!Amixer output !!------------- !!-------Mixer controls for card 0 [AMLG12] Card hw:0 'AMLG12'/'AMLG12' Mixer name : '' Components : '' Controls : 39 Simple ctrls : 35 Simple mixer control 'FRDDR_A SINK 1 SEL',0 Capabilities: enum Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' Item0: 'OUT 1' Simple mixer control 'FRDDR_A SINK 2 SEL',0 Capabilities: enum Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' Item0: 'OUT 0' Simple mixer control 'FRDDR_A SINK 3 SEL',0 Capabilities: enum Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' Item0: 'OUT 0' Simple mixer control 'FRDDR_A SRC 1 EN',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on] Simple mixer control 'FRDDR_A SRC 2 EN',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'FRDDR_A SRC 3 EN',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'FRDDR_B SINK 1 SEL',0 Capabilities: enum Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' Item0: 'OUT 3' Simple mixer control 'FRDDR_B SINK 2 SEL',0 Capabilities: enum Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' Item0: 'OUT 0' Simple mixer control 'FRDDR_B SINK 3 SEL',0 Capabilities: enum Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' Item0: 'OUT 0' Simple mixer control 'FRDDR_B SRC 1 EN',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on] Simple mixer control 'FRDDR_B SRC 2 EN',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'FRDDR_B SRC 3 EN',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'FRDDR_C SINK 1 SEL',0 Capabilities: enum Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' Item0: 'OUT 0' Simple mixer control 'FRDDR_C SINK 2 SEL',0 Capabilities: enum Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' Item0: 'OUT 0' Simple mixer control 'FRDDR_C SINK 3 SEL',0 Capabilities: enum Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' Item0: 'OUT 0' Simple mixer control 'FRDDR_C SRC 1 EN',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'FRDDR_C SRC 2 EN',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'FRDDR_C SRC 3 EN',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'SPDIFOUT',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 255 Mono: Front Left: Playback 255 [100%] [on] Front Right: Playback 255 [100%] [on] Simple mixer control 'SPDIFOUT Playback Channels Mix',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'SPDIFOUT Playback Gain Enable',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'SPDIFOUT SRC SEL',0 Capabilities: enum Items: 'IN 0' 'IN 1' 'IN 2' Item0: 'IN 1' Simple mixer control 'SPDIFOUT_B',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 255 Mono: Front Left: Playback 255 [100%] [on] Front Right: Playback 255 [100%] [on] Simple mixer control 'SPDIFOUT_B Playback Channels Mix',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'SPDIFOUT_B Playback Gain Enable',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'SPDIFOUT_B SRC SEL',0 Capabilities: enum Items: 'IN 0' 'IN 1' 'IN 2' Item0: 'IN 0' Simple mixer control 'TDMOUT_B Gain Enable',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'TDMOUT_B Lane 0',0 Capabilities: volume Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 255 Front Left: 255 [100%] Front Right: 255 [100%] Simple mixer control 'TDMOUT_B Lane 1',0 Capabilities: volume Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 255 Front Left: 255 [100%] Front Right: 255 [100%] Simple mixer control 'TDMOUT_B Lane 2',0 Capabilities: volume Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 255 Front Left: 255 [100%] Front Right: 255 [100%] Simple mixer control 'TDMOUT_B Lane 3',0 Capabilities: volume Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 255 Front Left: 255 [100%] Front Right: 255 [100%] Simple mixer control 'TDMOUT_B SRC SEL',0 Capabilities: enum Items: 'IN 0' 'IN 1' 'IN 2' Item0: 'IN 0' Simple mixer control 'TOHDMITX',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on] Simple mixer control 'TOHDMITX I2S SRC',0 Capabilities: enum Items: 'I2S A' 'I2S B' 'I2S C' Item0: 'I2S B' Simple mixer control 'TOHDMITX SPDIF SRC',0 Capabilities: enum Items: 'SPDIF A' 'SPDIF B' Item0: 'SPDIF A' !!-------Mixer controls for card 1 [Mic] Card hw:1 'Mic'/'ZY.Ltd ZY Control Mic at usb-xhci-hcd.3.auto-1, full speed' Mixer name : 'USB Mixer' Components : 'USB1915:1025' Controls : 4 Simple ctrls : 1 Simple mixer control 'Mic',0 Capabilities: cvolume cvolume-joined cswitch cswitch-joined Capture channels: Mono Limits: Capture 0 - 32 Mono: Capture 32 [100%] [0.00dB] [on] !!Alsactl output !!-------------- --startcollapse-- state.AMLG12 { control.1 { iface MIXER name 'SPDIFOUT Playback Volume' value.0 255 value.1 255 comment { access 'read write' type INTEGER count 2 range '0 - 255' } } control.2 { iface MIXER name 'SPDIFOUT Playback Switch' value.0 true value.1 true comment { access 'read write' type BOOLEAN count 2 } } control.3 { iface MIXER name 'SPDIFOUT Playback Gain Enable Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.4 { iface MIXER name 'SPDIFOUT Playback Channels Mix Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.5 { iface MIXER name 'SPDIFOUT_B Playback Volume' value.0 255 value.1 255 comment { access 'read write' type INTEGER count 2 range '0 - 255' } } control.6 { iface MIXER name 'SPDIFOUT_B Playback Switch' value.0 true value.1 true comment { access 'read write' type BOOLEAN count 2 } } control.7 { iface MIXER name 'SPDIFOUT_B Playback Gain Enable Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.8 { iface MIXER name 'SPDIFOUT_B Playback Channels Mix Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.9 { iface MIXER name 'TDMOUT_B Lane 0 Volume' value.0 255 value.1 255 comment { access 'read write' type INTEGER count 2 range '0 - 255' } } control.10 { iface MIXER name 'TDMOUT_B Lane 1 Volume' value.0 255 value.1 255 comment { access 'read write' type INTEGER count 2 range '0 - 255' } } control.11 { iface MIXER name 'TDMOUT_B Lane 2 Volume' value.0 255 value.1 255 comment { access 'read write' type INTEGER count 2 range '0 - 255' } } control.12 { iface MIXER name 'TDMOUT_B Lane 3 Volume' value.0 255 value.1 255 comment { access 'read write' type INTEGER count 2 range '0 - 255' } } control.13 { iface MIXER name 'TDMOUT_B Gain Enable Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.14 { iface PCM device 7 name 'Playback Channel Map' value.0 0 value.1 0 value.2 0 value.3 0 value.4 0 value.5 0 value.6 0 value.7 0 comment { access read type INTEGER count 8 range '0 - 36' } } control.15 { iface PCM device 7 name ELD value '10000a006c3200010000000000000000506c866554434c20534d415254205456090707151750551700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' comment { access 'read volatile' type BYTES count 128 } } control.16 { iface MIXER name 'FRDDR_A SRC 1 EN Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.17 { iface MIXER name 'FRDDR_A SRC 2 EN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.18 { iface MIXER name 'FRDDR_A SRC 3 EN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.19 { iface MIXER name 'FRDDR_A SINK 1 SEL' value 'OUT 1' comment { access 'read write' type ENUMERATED count 1 item.0 'OUT 0' item.1 'OUT 1' item.2 'OUT 2' item.3 'OUT 3' item.4 'OUT 4' } } control.20 { iface MIXER name 'FRDDR_A SINK 2 SEL' value 'OUT 0' comment { access 'read write' type ENUMERATED count 1 item.0 'OUT 0' item.1 'OUT 1' item.2 'OUT 2' item.3 'OUT 3' item.4 'OUT 4' } } control.21 { iface MIXER name 'FRDDR_A SINK 3 SEL' value 'OUT 0' comment { access 'read write' type ENUMERATED count 1 item.0 'OUT 0' item.1 'OUT 1' item.2 'OUT 2' item.3 'OUT 3' item.4 'OUT 4' } } control.22 { iface MIXER name 'FRDDR_B SRC 1 EN Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.23 { iface MIXER name 'FRDDR_B SRC 2 EN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.24 { iface MIXER name 'FRDDR_B SRC 3 EN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.25 { iface MIXER name 'FRDDR_B SINK 1 SEL' value 'OUT 3' comment { access 'read write' type ENUMERATED count 1 item.0 'OUT 0' item.1 'OUT 1' item.2 'OUT 2' item.3 'OUT 3' item.4 'OUT 4' } } control.26 { iface MIXER name 'FRDDR_B SINK 2 SEL' value 'OUT 0' comment { access 'read write' type ENUMERATED count 1 item.0 'OUT 0' item.1 'OUT 1' item.2 'OUT 2' item.3 'OUT 3' item.4 'OUT 4' } } control.27 { iface MIXER name 'FRDDR_B SINK 3 SEL' value 'OUT 0' comment { access 'read write' type ENUMERATED count 1 item.0 'OUT 0' item.1 'OUT 1' item.2 'OUT 2' item.3 'OUT 3' item.4 'OUT 4' } } control.28 { iface MIXER name 'FRDDR_C SRC 1 EN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.29 { iface MIXER name 'FRDDR_C SRC 2 EN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.30 { iface MIXER name 'FRDDR_C SRC 3 EN Switch' value false comment { access 'read write' type BOOLEAN count 1 } } control.31 { iface MIXER name 'FRDDR_C SINK 1 SEL' value 'OUT 0' comment { access 'read write' type ENUMERATED count 1 item.0 'OUT 0' item.1 'OUT 1' item.2 'OUT 2' item.3 'OUT 3' item.4 'OUT 4' } } control.32 { iface MIXER name 'FRDDR_C SINK 2 SEL' value 'OUT 0' comment { access 'read write' type ENUMERATED count 1 item.0 'OUT 0' item.1 'OUT 1' item.2 'OUT 2' item.3 'OUT 3' item.4 'OUT 4' } } control.33 { iface MIXER name 'FRDDR_C SINK 3 SEL' value 'OUT 0' comment { access 'read write' type ENUMERATED count 1 item.0 'OUT 0' item.1 'OUT 1' item.2 'OUT 2' item.3 'OUT 3' item.4 'OUT 4' } } control.34 { iface MIXER name 'TOHDMITX I2S SRC' value 'I2S B' comment { access 'read write' type ENUMERATED count 1 item.0 'I2S A' item.1 'I2S B' item.2 'I2S C' } } control.35 { iface MIXER name 'TOHDMITX Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.36 { iface MIXER name 'TOHDMITX SPDIF SRC' value 'SPDIF A' comment { access 'read write' type ENUMERATED count 1 item.0 'SPDIF A' item.1 'SPDIF B' } } control.37 { iface MIXER name 'SPDIFOUT SRC SEL' value 'IN 1' comment { access 'read write' type ENUMERATED count 1 item.0 'IN 0' item.1 'IN 1' item.2 'IN 2' } } control.38 { iface MIXER name 'SPDIFOUT_B SRC SEL' value 'IN 0' comment { access 'read write' type ENUMERATED count 1 item.0 'IN 0' item.1 'IN 1' item.2 'IN 2' } } control.39 { iface MIXER name 'TDMOUT_B SRC SEL' value 'IN 0' comment { access 'read write' type ENUMERATED count 1 item.0 'IN 0' item.1 'IN 1' item.2 'IN 2' } } } state.Mic { control.1 { iface PCM name 'Capture Channel Map' value 0 comment { access read type INTEGER count 1 range '0 - 36' } } control.2 { iface MIXER name 'Mic Capture Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.3 { iface MIXER name 'Mic Capture Volume' value 32 comment { access 'read write' type INTEGER count 1 range '0 - 32' dbmin -3200 dbmax 0 dbvalue.0 0 } } control.4 { iface CARD name 'Keep Interface' value false comment { access 'read write' type BOOLEAN count 1 } } } --endcollapse-- !!All Loaded Modules !!------------------ Module zstd zram hci_uart btsdio btqca brcmfmac btrtl btbcm snd_usb_audio btintel brcmutil cfg80211 snd_hwdep bluetooth snd_usbmidi_lib snd_rawmidi mc ecdh_generic ecc crct10dif_ce rfkill snd_soc_meson_axg_sound_card ir_nec_decoder ao_cec_g12a dw_hdmi_cec snd_soc_meson_g12a_tohdmitx snd_soc_meson_axg_spdifout snd_soc_meson_axg_frddr meson_ir snd_soc_meson_axg_tdmout snd_soc_meson_axg_fifo snd_soc_spdif_tx snd_soc_meson_axg_tdm_interface snd_soc_meson_axg_tdm_formatter sch_fq_codel ip_tables x_tables ipv6 nf_defrag_ipv6 crc_ccitt mdio_mux_meson_g12a !!ALSA/HDA dmesg !!-------------- [ 3.455260] [drm] No driver support for vblank timestamp query. [ 3.487353] meson-dw-hdmi ff600000.hdmi-tx: Detected HDMI TX controller v2.01a with HDCP (meson_dw_hdmi_phy) [ 3.493353] meson-dw-hdmi ff600000.hdmi-tx: registered DesignWare HDMI I2C bus driver [ 3.500422] meson-drm ff900000.vpu: bound ff600000.hdmi-tx (ops meson_dw_hdmi_ops) -- [ 4.311329] hctosys: unable to open rtc device (rtc0) [ 4.316175] ALSA device list: [ 4.318690] No soundcards found. [ 4.323392] Freeing unused kernel memory: 3776K -- [ 9.339915] meson-ir ff808000.ir: receiver initialized [ 9.358151] axg-sound-card sound: snd-soc-dummy-dai <-> ff6421c0.audio-controller mapping ok [ 9.363604] axg-sound-card sound: snd-soc-dummy-dai <-> ff642200.audio-controller mapping ok [ 9.364543] axg-sound-card sound: snd-soc-dummy-dai <-> ff642240.audio-controller mapping ok [ 9.365214] axg-sound-card sound: I2S IN B <-> TDM Pad mapping ok [ 9.365248] axg-sound-card sound: snd-soc-dummy-dai <-> TDM Loopback mapping ok [ 9.365287] axg-sound-card sound: multicodec <-> ff642480.audio-controller mapping ok [ 9.365319] axg-sound-card sound: SPDIF IN B <-> ff642680.audio-controller mapping ok [ 9.365384] axg-sound-card sound: i2s-hifi <-> I2S OUT mapping ok [ 9.365499] axg-sound-card sound: ASoC: no DMI vendor name! [ 9.410767] mc: Linux media interface: v0.10 -- [ 9.561205] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 9.645724] usbcore: registered new interface driver snd-usb-audio [ 9.715587] ------------[ cut here ]------------ [ 9.715795] WARNING: CPU: 2 PID: 542 at drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c:775 brcmf_sdiod_sgtable_alloc 0x13c/0x148 [brcmfmac] [ 9.715798] Modules linked in: brcmfmac btrtl btbcm snd_usb_audio btintel brcmutil cfg80211 snd_hwdep bluetooth snd_usbmidi_lib snd_rawmidi mc ecdh_generic ecc crct10dif_ce rfkill snd_soc_meson_axg_sound_card ir_nec_decoder ao_cec_g12a dw_hdmi_cec snd_soc_meson_g12a_tohdmitx snd_soc_meson_axg_spdifout snd_soc_meson_axg_frddr meson_ir snd_soc_meson_axg_tdmout snd_soc_meson_axg_fifo snd_soc_spdif_tx snd_soc_meson_axg_tdm_interface snd_soc_meson_axg_tdm_formatter sch_fq_codel ip_tables x_tables ipv6 nf_defrag_ipv6 crc_ccitt mdio_mux_meson_g12a [ 9.715855] CPU: 2 PID: 542 Comm: kworker/2:3 Not tainted 5.3.0-aml-g12 #19.11.3