usb4java android,USB audio on Android platform

这种是android 手机为Host, audio设备为device.

以MSM8x26  android 5.0/5.1 (Lolliop) 为例

1. source code

Kernel

kernel/drivers/usb/otg

kernel/sound/usb/pcm.c,card.c,stream.c

Frameworks/base

services/usb/java/com/android/server/usb/UsbHostManager.java

UsbAudioManager.java

hardware/

libhardware

hardware/libhardware/modules/usbaudio/audio_hw.c

Audio related

AudioService.java, AudioSystem.java, AudioManager.java

AudioPolicyIntefaceImpl.CPP AudioPolicyManager.cpp

AudioFlinger.cpp  Threads.cpp

2. QualcommehciHostController detection

msm_pmic_id_irqirq=288

msm_otgf9a55000.usb:IDstatus_w

PMIC: ID clear

msm_hsusb_ldo_enablemode=1

msm_otgf9a55000.usb:USB exited from low power mode

b_idlework

a_idlework

msm_hsusb_vbus_poweron=1

usbin-valid triggered: 1host_mode: 1

a_wait_vrisework

msm_hsusb_hostmsm_hsusb_host: QualcommOn-Chip EHCI Host Controller

msm_otg_usbdev_notifyaction=3

msm_hsusb_hostmsm_hsusb_host: new USB busregistered, assigned bus number 1

msm_hsusb_hostmsm_hsusb_host:irq166,iomem0xf9a55000

msm_hsusb_hostmsm_hsusb_host: USB 2.0started, EHCI 1.00

usb_get_descriptorUSB_REQ_GET_DESCRIPTOR type=1 index=0

usb_get_descriptorUSB_REQ_GET_DESCRIPTOR type=2 index=0

usb_get_descriptorUSB_REQ_GET_DESCRIPTOR type=2 index=0

usbusb1: New USB device found,idVendor=1d6b,idProduct=0002

usbusb1: New USB device strings:Mfr=3, Product=2,SerialNumber=1

usbusb1: Product: Qualcomm On-ChipEHCI Host Controller

usbusb1: Manufacturer: Linux3.4.0-g8148a0cf-00553-g364b55fehci_hcd

usbusb1:SerialNumber:msm_hsusb_host

usb_ueventPRODUCT=1d6b/2/304

usb_set_configuration1

msm_otg_usbdev_notifyaction=5

usb_set_configurationsendUSB_REQ_SET_CONFIGURATION 1

usb_ueventPRODUCT=1d6b/2/304

hub 1-0:1.0: USB hub found

hub_configureget_hub_descriptor

hub 1-0:1.0: 1 port detected

msm_otg_usbdev_notifyaction=1

UsbHostManager: Added deviceUsbDevice[mName=/dev/bus/usb/001/001,mVendorId=7531,mProductId=2,mClass=9,mSubclass=0,mProtocol=1,mManufacturerName=Linux3.4.0-g8148a0cf-00553-g364b55fehci_hcd,mProductName=QualcommOn-Chip EHCI HostController,mSerialNumber=msm_hsusb_host,mConfigurations=[

UsbHostManager: UsbConfiguration[mId=1,mName=null,mAttributes=224,mMaxPower=0,mInterfaces=[

UsbHostManager: UsbInterface[mId=0,mAlternateSetting=0,mName=null,mClass=9,mSubclass=0,mProtocol=0,mEndpoints=[

UsbHostManager: UsbEndpoint[mAddress=129,mAttributes=3,mMaxPacketSize=4,mInterval=12]]]]

a_wait_bconwork

msm_otgf9a55000.usb:USB in low power mode

3. enumeration audio device

usb1-1: new full-speed USB devicenumber 2 usingmsm_hsusb_host

stk_als_poll_work_func:alsinput event145lux

usb_get_descriptorUSB_REQ_GET_DESCRIPTOR type=1 index=0

usb_get_descriptorUSB_REQ_GET_DESCRIPTOR type=2 index=0

usb_get_descriptorUSB_REQ_GET_DESCRIPTOR type=2 index=0

usb1-1: New USB device found,idVendor=0d8c,idProduct=0012

usb1-1: New USB device strings: Mfr=1,Product=2,SerialNumber=0

usb1-1: Product: USB Audio Device

usb1-1: Manufacturer: C-MediaElectronics Inc.

usb_ueventPRODUCT=d8c/12/100

usb_set_configuration1

msm_otg_usbdev_notifyaction=5

usb_set_configurationsendUSB_REQ_SET_CONFIGURATION 1

usb_ueventPRODUCT=d8c/12/100

usb_set_interfaceinterface=1alternates=1 state=7

usb_set_interfaceinterface=1alternates=0 state=7

usb_set_interfaceinterface=2alternates=1 state=7

usb_set_interfaceinterface=2alternates=0 state=7

usb_ueventPRODUCT=d8c/12/100

usb_ueventPRODUCT=d8c/12/100

EventHub: No inputdevice configuration file found for device 'C-Media Electronics Inc. USB AudioDevice'.

input: C-Media Electronics Inc. USBAudio Device as /devices/platform/msm_hsusb_host/usb1/1-1/1-1:1.3/input/input10

generic-usb0003:0D8C:0012.0001: input,hidraw0: USB HID v1.00 Device [C-Media ElectronicsInc. USB Audio Device] on usb-msm_hsusb_host-1/input3

msm_otg_usbdev_notifyaction=1

EventHub: Unable todisable kernel key repeat for /dev/input/event10: Function not implemented

EventHub: New device:id=11,fd=251,path='/dev/input/event10', name='C-Media Electronics Inc. USB Audio Device',classes=0x80000001, configuration='',keyLayout='/system/usr/keylayout/Generic.kl',keyCharacterMap='/system/usr/keychars/Generic.kcm',builtinKeyboard=false,wakeMechanism=EVIOCSSUSPENDBLOCK,usingClockIoctl=true

InputReader: Deviceadded: id=11, name='C-Media Electronics Inc. USB Audio Device',sources=0x00000101

UsbHostManager: Added deviceUsbDevice[mName=/dev/bus/usb/001/002,mVendorId=3468,mProductId=18,mClass=0,mSubclass=0,mProtocol=0,mManufacturerName=C-MediaElectronicsInc.,mProductName=USB AudioDevice,mSerialNumber=null,mConfigurations=[

UsbHostManager: UsbConfiguration[mId=1,mName=null,mAttributes=128,mMaxPower=50,mInterfaces=[

UsbHostManager: UsbInterface[mId=0,mAlternateSetting=0,mName=null,mClass=1,mSubclass=1,mProtocol=0,mEndpoints=[]

UsbHostManager: UsbInterface[mId=1,mAlternateSetting=0,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[]

UsbHostManager: UsbInterface[mId=1,mAlternateSetting=1,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[

UsbHostManager: UsbEndpoint[mAddress=1,mAttributes=9,mMaxPacketSize=200,mInterval=1]]

UsbHostManager: UsbInterface[mId=2,mAlternateSetting=0,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[]

UsbHostManager: UsbInterface[mId=2,mAlternateSetting=1,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[

UsbHostManager: UsbEndpoint[mAddress=130,mAttributes=13,mMaxPacketSize=100,mInterval=1]]

UsbHostManager: UsbInterface[mId=3,mAlternateSetting=0,mName=null,mClass=3,mSubclass=0,mProtocol=0,mEndpoints=[

UsbHostManager: UsbEndpoint[mAddress=135,mAttributes=3,mMaxPacketSize=4,mInterval=2]]]]

4. Audio init and play

UsbAudioManager: sendDeviceNotification

send Intent AudioManager.ACTION_USB_AUDIO_DEVICE_PLUG

setWiredDeviceConnectionState(outDevice, state,params);

sendMsgMSG_SET_WIRED_DEVICE_CONNECTION_STATE

onSetWiredDeviceConnectionState()

handleDeviceConnection()

AudioSystem.setDeviceConnectionState()(AudioSystem.java->AudioSystem.cpp)

AudioPolicyIntefaceImpl:setDeviceConnectionState()

AudioPolicyManager::setDeviceConnectionState()

AudioPolicyManager::setDeviceConnectionStateInt()

AudioPolicyManager::setDeviceConnectionStateInt()

AudioPolicyManager::checkOutputsForDevice()

mpClientInterface->openOutput()frameworks/av/services/audiopolicy/AudioPolicyClientImpl.cpp

af->openOutput()

frameworks/av/services/audioflinger/AudioFlinger.cpp

AudioFlinger::openOutput

AudioFlinger::openOutput_l()

hwDevHal->open_output_stream()

adev_open_output_stream()

hardware/libhardware/modules/usbaudio/audio_hw.c

adev->hw_device.open_output_stream=adev_open_output_stream;

AudioFlinger: MixerThread::threadLoop_writeThreads.cpp

AudioFlinger::PlaybackThread::threadLoop_write()

ssize_tframesWritten=mNormalSink->write()

bytesWritten=mOutput->stream->write()

out_write() inusbaudio/audio_hw.c

hardware/libhardware/modules/usbaudio/audio_hw.c

out->stream.write=out_write;

system/core/include/system/audio.h

audio_devices_t;

AUDIO_DEVICE_OUT_USB_ACCESSORY= 0x2000,

AUDIO_DEVICE_OUT_USB_DEVICE= 0x4000

frameworks/base/media/java/android/media/AudioSystem.java

public static finalintDEVICE_OUT_USB_ACCESSORY = 0x2000;

public static finalintDEVICE_OUT_USB_DEVICE = 0x4000;

5. Debug

Check device /dev/bus/

usb

/001/001exists or not

Check enumeration Ok or not

Use

ellisys

to check USBdata

Enable log in kernel/sound/

usb

, hardware/

libhardware

/modules/

usbaudio

第一步 先检查枚举是否成功,不成功, 查kernel/drivers/usb

第二步 检查setDeviceConnectionState是否被调用,device/connected是否正确

第三步 usb_audio.c, open是否被调用

第四步 usb_audio.c   out_write是否被调用

第五步 usb_audio.c  out_write数据是否正确

6. Ellisys data

0818b9ca8b590ca3270a3433284dd417.png

7. typical log

7.1. Connect OTG cable

20:50:29.966   626   626 D kernel  : [43050.705554] msm_pmic_id_irq irq=288

20:50:29.977   626   626 D kernel  : [43050.709883] msm_otg f9a55000.usb: ID status_w

20:50:29.977   626   626 D kernel  : [43050.709907] PMIC: ID clear

20:50:29.977   626   626 D kernel  : [43050.717245] msm_otg f9a55000.usb: USB exited from low power mode

20:50:29.977   626   626 D kernel  : [43050.717262] msm_otg_sm_work b_idle work

20:50:29.977   626   626 D kernel  : [43050.717279] msm_otg_sm_work a_idle work

20:50:30.206   626   626 D kernel  : [43050.939695] msm_otg_sm_work a_wait_vrise work

20:50:30.206   626   626 D kernel  : [43050.939714] msm_otg f9a55000.usb: host on

20:50:30.206   626   626 D kernel  : [43050.939724] msm_hsusb_host msm_hsusb_host: Qualcomm On-Chip EHCI Host Controller

20:50:30.207   626   626 D kernel  : [43050.940054] msm_hsusb_host msm_hsusb_host: new USB bus registered, assigned bus number 1

20:50:30.236   626   626 D kernel  : [43050.969700] msm_hsusb_host msm_hsusb_host: irq 166, io mem 0xf9a55000

20:50:30.256   626   626 D kernel  : [43050.989856] msm_hsusb_host msm_hsusb_host: USB 2.0 started, EHCI 1.00

20:50:30.256   626   626 D kernel  : [43050.989967] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002

20:50:30.256   626   626 D kernel  : [43050.989978] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1

20:50:30.256   626   626 D kernel  : [43050.989987] usb usb1: Product: Qualcomm On-Chip EHCI Host Controller

20:50:30.256   626   626 D kernel  : [43050.989995] usb usb1: Manufacturer: Linux 3.4.0+ ehci_hcd

20:50:30.256   626   626 D kernel  : [43050.990003] usb usb1: SerialNumber: msm_hsusb_host

20:50:30.256   626   626 D kernel  : [43050.990332] usb usb1: usb_probe_device

20:50:30.256   626   626 D kernel  : [43050.990357] usb_set_configuration send USB_REQ_SET_CONFIGURATION 1

20:50:30.256   626   626 D kernel  : [43050.990510] hub 1-0:1.0: usb_probe_interface

20:50:30.256   626   626 D kernel  : [43050.990521] hub 1-0:1.0: USB hub found

20:50:30.257   626   626 E kernel  : [43050.990530] hub_configure get_hub_descriptor

20:50:30.257   626   626 D kernel  : [43050.990554] hub 1-0:1.0: 1 port detected

20:50:30.269   928  1329 D UsbHostManager: Added device UsbDevice[mName=/dev/bus/usb/001/001,mVendorId=7531,mProductId=2,mClass=9,mSubclass=0,mProtocol=1,mManufacturerName=Linux 3.4.0+ ehci_hcd,mProductName=Qualcomm On-Chip EHCI Host Controller,mSerialNumber=msm_hsusb_host,mConfigurations=[

20:50:30.269   928  1329 D UsbHostManager: UsbConfiguration[mId=1,mName=null,mAttributes=224,mMaxPower=0,mInterfaces=[

20:50:30.269   928  1329 D UsbHostManager: UsbInterface[mId=0,mAlternateSetting=0,mName=null,mClass=9,mSubclass=0,mProtocol=0,mEndpoints=[

20:50:30.269   928  1329 D UsbHostManager: UsbEndpoint[mAddress=129,mAttributes=3,mMaxPacketSize=4,mInterval=12]]]]

20:50:30.456   626   626 D kernel  : [43051.189669] hub 1-0:1.0: hub_port_connect_change port 1, status 0101, change 0000, 12 Mb/s

20:50:30.457   626   626 D kernel  : [43051.189720] hub_port_init

20:50:30.576   626   626 D kernel  : [43051.309614] usb 1-1: new full-speed USB device number 2 using msm_hsusb_host

20:50:30.727   626   626 D kernel  : [43051.464400] usb 1-1: New USB device found, idVendor=0d8c, idProduct=000c

20:50:30.727   626   626 D kernel  : [43051.464433] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0

20:50:30.727   626   626 D kernel  : [43051.464450] usb 1-1: Product: xxx USB Headphone Set

20:50:30.727   626   626 D kernel  : [43051.465261] usb 1-1: usb_probe_device

20:50:30.727   626   626 D kernel  : [43051.465338] usb_set_configuration send USB_REQ_SET_CONFIGURATION 1

20:50:30.727   626   626 D kernel  : [43051.466980] snd-usb-audio 1-1:1.0: usb_probe_interface

20:50:30.727   626   626 D kernel  : [43051.467017] usb_audio_probe

20:50:30.727   626   626 D kernel  : [43051.467027] snd_usb_audio_probe

20:50:30.727   626   626 D kernel  : [43051.467041] snd_usb_audio_create

20:50:30.727   626   626 D kernel  : [43051.468374] snd_usb_audio_create longname=xxx USB Headphone Set at usb-msm_hsusb_host-1, full speed

20:50:30.727   626   626 D kernel  : [43051.468408] snd_usb_create_streams protocol=0

20:50:30.727   626   626 D kernel  : [43051.468421] snd_usb_create_stream

20:50:30.727   626   626 D kernel  : [43051.468541] snd_usb_parse_audio_interface int=1 alt=1

20:50:30.727   626   626 D kernel  : [43051.468556] usb_set_interface interface=1 alternates=1 state=7

20:50:30.738   626   626 D kernel  : [43051.471339] snd_usb_create_stream int=1 alt=0

20:50:30.738   626   626 D kernel  : [43051.471361] usb_set_interface interface=1 alternates=0 state=7

20:50:30.738   626   626 D kernel  : [43051.472359] snd_usb_create_stream

20:50:30.738   626   626 D kernel  : [43051.472477] snd_usb_parse_audio_interface int=2 alt=1

20:50:30.738   626   626 D kernel  : [43051.472491] usb_set_interface interface=2 alternates=1 state=7

20:50:30.738   626   626 D kernel  : [43051.475304] snd_usb_create_stream int=2 alt=0

20:50:30.738   626   626 D kernel  : [43051.475322] usb_set_interface interface=2 alternates=0 state=7

20:50:30.738   626   626 D kernel  : [43051.478430] usbhid 1-1:1.3: usb_probe_interface

20:50:30.766   626   626 D kernel  : [43051.500065] input: xxx USB Headphone Set   as /devices/platform/msm_hsusb_host/usb1/1-1/1-1:1.3/input/input9

20:50:30.766   626   626 D kernel  : [43051.500549] generic-usb 0003:0D8C:000C.0001: input,hidraw0: USB HID v1.00 Device [xxx USB Headphone Set  ] on usb-msm_hsusb_host-1/input3

20:50:30.777   928  1329 D UsbHostManager: Added device UsbDevice[mName=/dev/bus/usb/001/002,mVendorId=3468,mProductId=12,mClass=0,mSubclass=0,mProtocol=0,mManufacturerName=null,mProductName=xxx USB Headphone Set  ,mSerialNumber=null,mConfigurations=[

20:50:30.777   928  1329 D UsbHostManager: UsbConfiguration[mId=1,mName=null,mAttributes=160,mMaxPower=50,mInterfaces=[

20:50:30.777   928  1329 D UsbHostManager: UsbInterface[mId=0,mAlternateSetting=0,mName=null,mClass=1,mSubclass=1,mProtocol=0,mEndpoints=[]

20:50:30.777   928  1329 D UsbHostManager: UsbInterface[mId=1,mAlternateSetting=0,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[]

20:50:30.777   928  1329 D UsbHostManager: UsbInterface[mId=1,mAlternateSetting=1,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[

20:50:30.777   928  1329 D UsbHostManager: UsbEndpoint[mAddress=1,mAttributes=9,mMaxPacketSize=200,mInterval=1]]

20:50:30.777   928  1329 D UsbHostManager: UsbInterface[mId=2,mAlternateSetting=0,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[]

20:50:30.777   928  1329 D UsbHostManager: UsbInterface[mId=2,mAlternateSetting=1,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[

20:50:30.777   928  1329 D UsbHostManager: UsbEndpoint[mAddress=130,mAttributes=5,mMaxPacketSize=100,mInterval=1]]

20:50:30.777   928  1329 D UsbHostManager: UsbInterface[mId=3,mAlternateSetting=0,mName=null,mClass=3,mSubclass=0,mProtocol=0,mEndpoints=[

20:50:30.777   928  1329 D UsbHostManager: UsbEndpoint[mAddress=131,mAttributes=3,mMaxPacketSize=4,mInterval=32]]]]

20:50:30.812   928  1235 D EventHub: No input device configuration file found for device 'xxx USB Headphone Set  '.

20:50:30.820   928  1235 W EventHub: Unable to disable kernel key repeat for /dev/input/event9: Function not implemented

20:50:30.820   928  1235 I EventHub: New device: id=9, fd=268, path='/dev/input/event9', name='xxx USB Headphone Set  ', classes=0x80000001, configuration='', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false, wakeMechanism=EVIOCSSUSPENDBLOCK, usingClockIoctl=true

20:50:30.820   928  1235 W EventHub: Unable to disable kernel key repeat for /dev/input/event9: Function not implemented

20:50:30.823   928  1235 I InputReader: Device added: id=9, name='xxx USB Headphone Set  ', sources=0x00000101

20:50:30.829   318  1255 V usb_audio_hw: usb:audio_hw::out adev_open_output_stream() handle:0x493, device:0x4000, flags:0x0

20:50:30.829   318  1255 V usb_audio_hw: out_get_sample_rate() = 44100

20:50:30.829   318  1255 I AudioFlinger: HAL output buffer size 448 frames, normal sink buffer size 896 frames

20:50:30.829   318  1255 V usb_audio_hw: out_get_sample_rate() = 44100

20:50:30.831   318  2845 I AudioFlinger: AudioFlinger's thread 0xb7265898 ready to run

20:50:30.835   318  2845 V usb_audio_hw: usb:audio_hw::out out_set_parameters() keys:card=1;device=0

20:50:30.836   626   626 D kernel  : [43051.578538] snd_usb_playback_open

20:50:30.836   626   626 D kernel  : [43051.578547] snd_usb_pcm_open

20:50:30.836   626   626 D kernel  : [43051.578553] setup_hw_info

20:50:30.836   626   626 D kernel  : [43051.578559] snd_usb_autoresume

20:50:30.836   626   626 D kernel  : [43051.578762] snd_usb_playback_close

20:50:30.836   626   626 D kernel  : [43051.578769] snd_usb_pcm_close

20:50:30.846   626   626 D kernel  : [43051.584447] snd_usb_playback_open

20:50:30.846   626   626 D kernel  : [43051.584462] snd_usb_pcm_open

20:50:30.846   626   626 D kernel  : [43051.584468] setup_hw_info

20:50:30.846   626   626 D kernel  : [43051.584544] snd_usb_playback_close

20:50:30.846   626   626 D kernel  : [43051.584551] snd_usb_pcm_close

20:50:30.846   626   626 D kernel  : [43051.584622] snd_usb_playback_open

20:50:30.846   626   626 D kernel  : [43051.584629] snd_usb_pcm_open

20:50:30.847   626   626 D kernel  : [43051.584634] setup_hw_info

20:50:30.847   626   626 D kernel  : [43051.584695] snd_usb_hw_params

20:50:30.847   626   626 D kernel  : [43051.584741] set_format

20:50:30.847   626   626 D kernel  : [43051.584749] set_format usb_set_interface int:1 alt:1

20:50:30.847   626   626 D kernel  : [43051.584758] usb_set_interface interface=1 alternates=1 state=7

20:50:30.856   626   626 D kernel  : [43051.594431] snd_usb_playback_close

20:50:30.856   626   626 D kernel  : [43051.594443] snd_usb_pcm_close

20:50:30.856   626   626 D kernel  : [43051.594450] snd_usb_pcm_close usb_set_interface int:1 alt: 0

20:50:30.856   318  1255 V usb_audio_hw: usb:audio_hw::device_get_parameters() keys:sup_sampling_rates

20:50:30.856   318  1255 V usb_audio_hw: usb:audio_hw::device_get_parameters = sup_sampling_rates=48000|44100

20:50:30.856   318  1255 V usb_audio_hw: usb:audio_hw::device_get_parameters() keys:sup_formats

20:50:30.857   318  1255 V usb_audio_hw: usb:audio_hw::device_get_parameters = sup_formats=AUDIO_FORMAT_PCM_16_BIT

20:50:30.857   318  1255 V usb_audio_hw: usb:audio_hw::device_get_parameters() keys:sup_channels

20:50:30.857   318  1255 V usb_audio_hw: usb:audio_hw::device_get_parameters = sup_channels=AUDIO_CHANNEL_OUT_STEREO

20:50:30.856   626   626 D kernel  : [43051.594458] usb_set_interface interface=1 alternates=0 state=7

20:50:30.857   626   626 D kernel  : [43051.595588] snd_usb_playback_open

20:50:30.857   626   626 D kernel  : [43051.595595] snd_usb_pcm_open

20:50:30.857   626   626 D kernel  : [43051.595600] setup_hw_info

20:50:30.857   626   626 D kernel  : [43051.595674] snd_usb_hw_params

20:50:30.857   626   626 D kernel  : [43051.595711] set_format

20:50:30.857   626   626 D kernel  : [43051.595718] set_format usb_set_interface int:1 alt:1

20:50:30.857   626   626 D kernel  : [43051.595726] usb_set_interface interface=1 alternates=1 state=7

20:50:30.857   626   626 D kernel  : [43051.598487] snd_usb_playback_close

20:50:30.857   626   626 D kernel  : [43051.598497] snd_usb_pcm_close

20:50:30.857   626   626 D kernel  : [43051.598504] snd_usb_pcm_close usb_set_interface int:1 alt: 0

20:50:30.857   626   626 D kernel  : [43051.598512] usb_set_interface interface=1 alternates=0 state=7

20:50:30.857   318  1255 V usb_audio_hw: usb:audio_hw::out out_set_parameters() keys:exiting=1

20:50:30.867   318  1255 V usb_audio_hw: usb:audio_hw::out adev_close_output_stream()

20:50:30.867   318  1255 V usb_audio_hw: usb:audio_hw::out adev_open_output_stream() handle:0x493, device:0x4000, flags:0x0

20:50:30.867   318  1255 V usb_audio_hw: out_get_sample_rate() = 48000

20:50:30.867   318  1255 I AudioFlinger: HAL output buffer size 480 frames, normal sink buffer size 960 frames

20:50:30.867   318  1255 V usb_audio_hw: out_get_sample_rate() = 48000

20:50:30.868   318  2854 I AudioFlinger: AudioFlinger's thread 0xb7265898 ready to run

20:50:30.872   318  1255 V usb_audio_hw: out_get_sample_rate() = 48000

20:50:30.872   318  1255 I AudioFlinger: HAL output buffer size 480 frames, normal sink buffer size 480 frames

20:50:30.872   318  1255 V usb_audio_hw: out_get_sample_rate() = 48000

20:50:30.873   318  2855 I AudioFlinger: AudioFlinger's thread 0xb36a4008 ready to run

20:50:30.875   318  1197 D audio_hw_extn: audio_extn_set_anc_parameters: anc_enabled:0

20:50:30.876   318  1197 E audio_a2dp_hw: adev_set_parameters: ERROR: set param called even when stream out is null

20:50:30.876   318  1197 V usb_audio_hw: audio_hw:usb adev_set_parameters(card=1;connect=16384;device=0)

20:50:30.883   318  1199 D audio_hw_extn: audio_extn_set_anc_parameters: anc_enabled:0

20:50:31.830   318  1256 V usb_audio_hw: usb: in adev_open_input_stream() rate:0, chanMask:0xC, fmt:1

20:50:31.831   318  1256 V usb_audio_hw: in_get_sample_rate() = 44100

20:50:31.831   318  1256 V usb_audio_hw: in_get_buffer_size() = 1792

20:50:31.831   318  1256 V usb_audio_hw: in_get_buffer_size() = 1792

20:50:31.831   318  1256 V usb_audio_hw: in_get_sample_rate() = 44100

20:50:31.833   318  2859 I AudioFlinger: AudioFlinger's thread 0xb3663008 ready to run

20:50:31.842   318  2859 V usb_audio_hw: usb: audio_hw::in in_set_parameters() keys:card=1;device=0

20:50:31.847   626   626 D kernel  : [43052.585544] snd_usb_capture_open

20:50:31.847   626   626 D kernel  : [43052.585575] snd_usb_pcm_open

20:50:31.847   626   626 D kernel  : [43052.585584] setup_hw_info

20:50:31.847   626   626 D kernel  : [43052.585601] snd_usb_autoresume

20:50:31.847   626   626 D kernel  : [43052.585785] snd_usb_capture_close

20:50:31.847   626   626 D kernel  : [43052.585801] snd_usb_pcm_close

20:50:31.847   626   626 D kernel  : [43052.585933] snd_usb_capture_open

20:50:31.847   626   626 D kernel  : [43052.585948] snd_usb_pcm_open

20:50:31.847   626   626 D kernel  : [43052.585959] setup_hw_info

20:50:31.847   626   626 D kernel  : [43052.586047] snd_usb_capture_close

20:50:31.847   626   626 D kernel  : [43052.586059] snd_usb_pcm_close

20:50:31.847   626   626 D kernel  : [43052.586187] snd_usb_capture_open

20:50:31.847   626   626 D kernel  : [43052.586199] snd_usb_pcm_open

20:50:31.847   626   626 D kernel  : [43052.586208] setup_hw_info

20:50:31.847   626   626 D kernel  : [43052.586304] snd_usb_hw_params

20:50:31.847   626   626 D kernel  : [43052.586377] set_format

20:50:31.847   626   626 D kernel  : [43052.586390] set_format usb_set_interface int:2 alt:1

20:50:31.847   626   626 D kernel  : [43052.586405] usb_set_interface interface=2 alternates=1 state=7

20:50:31.857   626   626 D kernel  : [43052.590706] snd_usb_capture_close

20:50:31.857   626   626 D kernel  : [43052.590726] snd_usb_pcm_close

20:50:31.857   626   626 D kernel  : [43052.590738] snd_usb_pcm_close usb_set_interface int:2 alt: 0

20:50:31.857   626   626 D kernel  : [43052.590752] usb_set_interface interface=2 alternates=0 state=7

20:50:31.857   626   626 D kernel  : [43052.592010] snd_usb_capture_open

20:50:31.857   626   626 D kernel  : [43052.592024] snd_usb_pcm_open

20:50:31.857   626   626 D kernel  : [43052.592034] setup_hw_info

20:50:31.857   626   626 D kernel  : [43052.592044] snd_usb_autoresume

20:50:31.857   626   626 D kernel  : [43052.592187] snd_usb_hw_params

20:50:31.857   626   626 D kernel  : [43052.592272] set_format

20:50:31.857   626   626 D kernel  : [43052.592302] set_format usb_set_interface int:2 alt:1

20:50:31.857   626   626 D kernel  : [43052.592319] usb_set_interface interface=2 alternates=1 state=7

20:50:31.857   626   626 D kernel  : [43052.595640] snd_usb_capture_close

20:50:31.857   626   626 D kernel  : [43052.595658] snd_usb_pcm_close

20:50:31.857   626   626 D kernel  : [43052.595669] snd_usb_pcm_close usb_set_interface int:2 alt: 0

20:50:31.857   626   626 D kernel  : [43052.595684] usb_set_interface interface=2 alternates=0 state=7

20:50:31.858   318  1256 V usb_audio_hw: usb:audio_hw::device_get_parameters() keys:sup_sampling_rates

20:50:31.858   318  1256 V usb_audio_hw: usb:audio_hw::device_get_parameters = sup_sampling_rates=48000|44100

20:50:31.859   318  1197 D audio_hw_extn: audio_extn_set_anc_parameters: anc_enabled:0

20:50:31.859   318  1197 E audio_a2dp_hw: adev_set_parameters: ERROR: set param called even when stream out is null

20:50:31.859   318  1197 V usb_audio_hw: audio_hw:usb adev_set_parameters(card=1;connect=-2147479552;device=0)

7.2. Music play

20:50:33.944   318  2854 V usb_audio_hw: usb:audio_hw::out out_set_parameters() keys:card=1;device=0;routing=16384

20:50:33.956   318  2852 V usb_audio_hw: usb:audio_hw::out start_output_stream(card:1 device:0)

20:50:33.956   626   626 D kernel  : [43054.698997] snd_usb_playback_open

20:50:33.956   626   626 D kernel  : [43054.699009] snd_usb_pcm_open

20:50:33.956   626   626 D kernel  : [43054.699014] setup_hw_info

20:50:33.956   626   626 D kernel  : [43054.699097] snd_usb_hw_params

20:50:33.956   626   626 D kernel  : [43054.699143] set_format

20:50:33.956   626   626 D kernel  : [43054.699152] set_format usb_set_interface int:1 alt:1

20:50:33.956   626   626 D kernel  : [43054.699160] usb_set_interface interface=1 alternates=1 state=7

20:50:33.960   318  2852 D usb_audio_hw: usb out_write (1920 of 0)

20:50:33.960   318  2852 D usb_audio_hw: usb out_write (1920 of 0)

20:50:33.966   626   626 D kernel  : [43054.702458] snd_usb_pcm_prepare

20:50:37.046   626   626 D kernel  : [43057.779614] snd_usb_playback_close

20:50:37.046   626   626 D kernel  : [43057.779636] snd_usb_pcm_close

20:50:37.046   626   626 D kernel  : [43057.779644] snd_usb_pcm_close usb_set_interface int:1 alt: 0

20:50:37.046   626   626 D kernel  : [43057.779653] usb_set_interface interface=1 alternates=0 state=7

20:50:37.046   626   626 D kernel  : [43057.781456] snd_usb_autosuspend

20:50:44.146   626   626 D kernel  : [43064.879917] snd_usb_playback_open

20:50:44.146   626   626 D kernel  : [43064.879928] snd_usb_pcm_open

20:50:44.146   626   626 D kernel  : [43064.879933] setup_hw_info

20:50:44.146   626   626 D kernel  : [43064.879938] snd_usb_autoresume

20:50:44.146   626   626 D kernel  : [43064.880010] snd_usb_hw_params

20:50:44.146   626   626 D kernel  : [43064.880056] set_format

20:50:44.146   626   626 D kernel  : [43064.880064] set_format usb_set_interface int:1 alt:1

20:50:44.146   626   626 D kernel  : [43064.880072] usb_set_interface interface=1 alternates=1 state=7

20:50:44.146   626   626 D kernel  : [43064.883336] snd_usb_pcm_prepare

20:50:44.161   318  2852 D usb_audio_hw: usb out_write (1920 of 0)

20:50:44.171   318  2852 D usb_audio_hw: usb out_write (1920 of 0)

20:50:47.190   318  2852 D usb_audio_hw: usb out_write (1920 of 0)

20:50:47.217   626   626 D kernel  : [43067.949861] snd_usb_playback_close

20:50:47.217   626   626 D kernel  : [43067.949882] snd_usb_pcm_close

20:50:47.217   626   626 D kernel  : [43067.949894] snd_usb_pcm_close usb_set_interface int:1 alt: 0

20:50:47.217   626   626 D kernel  : [43067.949908] usb_set_interface interface=1 alternates=0 state=7 enter

20:50:47.217   626   626 D kernel  : [43067.951614] usb_set_interface interface=1 alternates=0 state=7 exit

20:50:49.178   318  2854 V usb_audio_hw: usb:audio_hw::out out_set_parameters() keys:routing=0

20:50:49.188   318  2854 V usb_audio_hw: usb:audio_hw::out out_set_parameters() keys:card=1;device=0;routing=16384

20:50:49.199   318  2852 V usb_audio_hw: usb:audio_hw::out start_output_stream(card:1 device:0)

20:50:49.204   318  2852 D usb_audio_hw: usb out_write (1920 of 0)

20:50:49.204   318  2852 D usb_audio_hw: usb out_write (1920 of 0)

20:50:49.206   626   626 D kernel  : [43069.942613] snd_usb_playback_open

20:50:49.207   626   626 D kernel  : [43069.942623] snd_usb_pcm_open

20:50:49.207   626   626 D kernel  : [43069.942629] setup_hw_info

20:50:49.207   626   626 D kernel  : [43069.942709] snd_usb_hw_params

20:50:49.207   626   626 D kernel  : [43069.942755] set_format

20:50:49.207   626   626 D kernel  : [43069.942764] set_format usb_set_interface int:1 alt:1

20:50:49.207   626   626 D kernel  : [43069.942772] usb_set_interface interface=1 alternates=1 state=7

20:50:49.207   626   626 D kernel  : [43069.946454] snd_usb_pcm_prepare

20:50:49.234   318  2852 D usb_audio_hw: usb out_write (1920 of 0)

7.3. Disconnect OTG cable

20:52:02.215   318  2852 D usb_audio_hw: usb out_write (1920 of -1)

20:52:02.216   626   626 D kernel  : [43142.957768] hub 1-0:1.0: hub_port_connect_change port 1, status 0100, change 0003, 12 Mb/s

20:52:02.216   626   626 D kernel  : [43142.957793] usb 1-1: USB disconnect, device number 2

20:52:02.216   626   626 D kernel  : [43142.957801] msm_pmic_id_irq irq=288

20:52:02.216   626   626 D kernel  : [43142.957881] usb_unbind_interface snd-usb-audio

20:52:02.216   626   626 D kernel  : [43142.957892] usb_audio_disconnect

20:52:02.216   626   626 D kernel  : [43142.957899] snd_usb_audio_disconnect

20:52:02.216   626   626 D kernel  : [43142.958659] snd_usb_stream_disconnect

20:52:02.224   318  2852 D usb_audio_hw: usb out_write (1920 of -1)

20:52:02.226   626   626 D kernel  : [43142.960809] msm_otg f9a55000.usb: ID status_w

20:52:02.226   626   626 D kernel  : [43142.960841] PMIC: ID set

20:52:02.226   626   626 D kernel  : [43142.960857] msm_otg_sm_work a_host work

20:52:02.226   626   626 D kernel  : [43142.960869] msm_otg f9a55000.usb: host off

20:52:02.226   626   626 D kernel  : [43142.960880] msm_hsusb_host msm_hsusb_host: remove, state 1

20:52:02.226   626   626 D kernel  : [43142.960908] usb usb1: USB disconnect, device number 1

20:52:02.226   626   626 D kernel  : [43142.967718] usb_unbind_interface snd-usb-audio

20:52:02.226   626   626 D kernel  : [43142.967744] usb_audio_disconnect

20:52:02.226   626   626 D kernel  : [43142.967754] snd_usb_audio_disconnect

20:52:02.226   626   626 D kernel  : [43142.967770] usb_set_interface interface=1 alternates=0 state=0 enter

20:52:02.226   626   626 D kernel  : [43142.967932] usb_unbind_interface snd-usb-audio

20:52:02.226   626   626 D kernel  : [43142.967945] usb_audio_disconnect

20:52:02.226   626   626 D kernel  : [43142.967953] snd_usb_audio_disconnect

20:52:02.226   626   626 D kernel  : [43142.968136] usb_unbind_interface usbhid

20:52:02.237   928  1235 I EventHub: Removing device xxx USB Headphone Set   due to epoll hang-up event.

20:52:02.237   928  1235 I EventHub: Removed device: path=/dev/input/event9 name=xxx USB Headphone Set   id=9 fd=268 classes=0x80000001

20:52:02.267   928  1235 I InputReader: Device removed: id=9, name='xxx USB Headphone Set  ', sources=0x00000101

20:52:02.268   928  1235 I EventHub: Removing device '/dev/input/event9' due to inotify event

20:52:02.316   626   626 D kernel  : [43143.051828] usb_unbind_device

20:52:02.317   626   626 D kernel  : [43143.051850] generic_disconnect

20:52:02.317   626   626 E kernel  : [43143.052159] hub 1-0:1.0: hub_port_status failed (err = -19)

20:52:02.317   626   626 E kernel  : [43143.052201] hub 1-0:1.0: connect-debounce failed, port 1 disabled

20:52:02.317   626   626 D kernel  : [43143.052424] usb_unbind_interface hub

20:52:02.317   626   626 D kernel  : [43143.052738] usb_unbind_device

20:52:02.317   626   626 D kernel  : [43143.052746] generic_disconnect

20:52:02.317   626   626 D kernel  : [43143.053212] msm_hsusb_host msm_hsusb_host: USB bus 1 deregistered

20:52:02.616   318  1197 D audio_hw_extn: audio_extn_set_anc_parameters: anc_enabled:0

20:52:02.616   318  1197 E audio_a2dp_hw: adev_set_parameters: ERROR: set param called even when stream out is null

20:52:02.616   318  1197 V usb_audio_hw: audio_hw:usb adev_set_parameters(card=1;device=0;disconnect=16384)

20:52:02.617   318  1255 V usb_audio_hw: usb:audio_hw::out out_set_parameters() keys:exiting=1

20:52:02.631   318  2854 V usb_audio_hw: usb:audio_hw::out out_set_parameters() keys:routing=0

20:52:02.632   318  2852 D usb_audio_hw: usb out_write (1920 of -1)

20:52:02.644   318  2854 V usb_audio_hw: usb:audio_hw::out out_set_parameters() keys:closing=true

20:52:02.645   318  2852 D usb_audio_hw: usb out_write (1920 of -1)

20:52:02.646   318  1255 V usb_audio_hw: usb:audio_hw::out out_set_parameters() keys:exiting=1

20:52:02.656   318  1255 V usb_audio_hw: usb:audio_hw::out adev_close_output_stream()

20:52:02.656   626   626 D kernel  : [43143.399228] snd_usb_playback_close

20:52:02.656   626   626 D kernel  : [43143.399240] snd_usb_pcm_close

20:52:02.656   626   626 D kernel  : [43143.399320] snd_usb_audio_free

20:52:02.826   626   626 D kernel  : [43143.559783] msm_otg_sm_work a_wait_vfall work

20:52:02.826   626   626 D kernel  : [43143.559800] msm_otg_sm_work a_idle work

20:52:02.826   626   626 D kernel  : [43143.559817] msm_otg_sm_work b_idle work

20:52:02.826   626   626 D kernel  : [43143.559843] msm_otg_reset

20:52:02.826   626   626 D kernel  : [43143.562561] msm_otg f9a55000.usb: phy_reset: success

20:52:02.936   626   626 D kernel  : [43143.674736] msm_otg f9a55000.usb: USB in low power mode

20:52:03.316   318  1197 D audio_hw_extn: audio_extn_set_anc_parameters: anc_enabled:0 20:52:03.316   318  1197 E audio_a2dp_hw: adev_set_parameters: ERROR: set param called even when stream out is null 20:52:03.316   318  1197 V usb_audio_hw: audio_hw:usb adev_set_parameters(card=1;device=0;disconnect=-2147479552) 20:52:06.872   928  1230 I MediaFocusControl:  AudioFocus  abandonAudioFocus() from android.media.AudioManager

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值