A3 and Google AOA mode

jonsmirl Post time 2021-5-26 10:47:06 | Show all posts [Copy link]
22 2656
View: 2656|Reply: 22

A3 and Google AOA mode

[Copy link]

7

threads

40

posts

195

credits

Senior Member

Rank: 2

credits
195
Post time 2018-11-3 09:58:17 | Show all posts |Read mode
Google AOA mode does not function on the A1 Pro. I'm hoping that it will work on the A3.
https://source.android.com/devices/accessories/protocol

There is a tiny program that will check if the mode functions correctly.
https://github.com/gibsson/linux-adk

When this program fails on the A1 Pro, you will see this in your Linux host logs...
95154.486707] usb 1-5.1: Product: A1_PRO
[95154.486713] usb 1-5.1: Manufacturer: A-gold
[95154.486718] usb 1-5.1: SerialNumber: 0123456789ABCDEF
[95156.647795] usb 1-5.1: USB disconnect, device number 41
[95157.017964] usb 1-5.1: new high-speed USB device number 42 using xhci_hcd
[95157.122812] usb 1-5.1: New USB device found, idVendor=18d1, idProduct=2d03
[95157.122823] usb 1-5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[95157.122830] usb 1-5.1: Product: A1_PRO
[95157.122836] usb 1-5.1: Manufacturer: A-gold
[95157.122841] usb 1-5.1: SerialNumber: 0123456789ABCDEF
[95157.124251] usb 1-5.1: 1:1: add audio endpoint 0x81
[95157.160158] usb 1-5.1: 1:1: usb_set_interface failed (-32)
[95157.161030] usb 1-5.1: 1:1: usb_set_interface failed (-32)
[95157.161851] usb 1-5.1: 1:1: usb_set_interface failed (-32)
[95157.163121] usb 1-5.1: 1:1: usb_set_interface failed (-32)
[95157.164489] usb 1-5.1: 1:1: usb_set_interface failed (-32)

Here's what the log looks like when it works...

[95584.714759] usb 1-2: Product: Pixel
[95584.714765] usb 1-2: Manufacturer: Google
[95584.714771] usb 1-2: SerialNumber: FA68Z0309184
[95586.782233] usb 1-2: USB disconnect, device number 48
[95587.309479] usb 1-2: new high-speed USB device number 49 using xhci_hcd
[95587.458468] usb 1-2: New USB device found, idVendor=18d1, idProduct=2d03
[95587.458478] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[95587.458485] usb 1-2: Product: Pixel
[95587.458490] usb 1-2: Manufacturer: Google
[95587.458496] usb 1-2: SerialNumber: FA68Z0309184
[95587.459886] usb 1-2: 1:1: add audio endpoint 0x82
----> A1 pro failed here
[95587.492151] usb 1-2: setting usb interface 1:1
[95587.495659] usb 1-2: setting usb interface 1:1
[95587.502216] usb 1-2: setting usb interface 1:1
[95587.506349] usb 1-2: Starting data EP @00000000d8f304ed
[95593.402794] usb 1-2: setting usb interface 1:1
[95593.403469] usb 1-2: Starting data EP @00000000d8f304ed
jonsmirl@ares:~/aosp/linux-adk$


Google AoA mode is used by docking stations with external speakers. It is also used by older cars which pre-date Android Auto.

7

threads

40

posts

195

credits

Senior Member

Rank: 2

credits
195
 Author| Post time 2018-12-7 00:58:56 | Show all posts
Edited by jonsmirl at 2018-12-7 01:05  

Unfortunately AoA mode is still broken in the A3. This is a bug in the MTK kernel driver for USB audio. The dock is failing to open the USB audio protocol over the USB port.   This works on other Mediatek chips, of the phones I have only the MT6739 fails. Our application is a device test farm, redirecting the audio over a USB audio connection is how we test the sound output of the device under test. Because of this bug we can't run any tests on Umidigi A3 or A1.

[223786.572463] usb 1-1: new high-speed USB device number 13 using xhci_hcd
[223786.721641] usb 1-1: New USB device found, idVendor=0e8d, idProduct=2008
[223786.721643] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[223786.721645] usb 1-1: Product: A3
[223786.721647] usb 1-1: Manufacturer: UMIDIGI
[223786.721648] usb 1-1: SerialNumber: A3201809012173
[223847.009118] usb 1-1: reset high-speed USB device number 13 using xhci_hcd
[223847.285054] usb 1-1: reset high-speed USB device number 13 using xhci_hcd
[223880.928622] usb 1-1: USB disconnect, device number 13
[223881.313053] usb 1-1: new high-speed USB device number 14 using xhci_hcd
[223881.461820] usb 1-1: New USB device found, idVendor=18d1, idProduct=2d04
[223881.461826] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[223881.461830] usb 1-1: Product: A3
[223881.461834] usb 1-1: Manufacturer: UMIDIGI
[223881.461837] usb 1-1: SerialNumber: A3201809012173
[223881.496477] usbcore: registered new interface driver snd-usb-audio
[223881.518553] usb 1-1: 2:1: usb_set_interface failed (-32)
[223881.520081] usb 1-1: 2:1: usb_set_interface failed (-32)
[223881.521077] usb 1-1: 2:1: usb_set_interface failed (-32)
[223881.522552] usb 1-1: 2:1: usb_set_interface failed (-32)
[223881.523878] usb 1-1: 2:1: usb_set_interface failed (-32)



7

threads

40

posts

195

credits

Senior Member

Rank: 2

credits
195
 Author| Post time 2019-1-4 10:36:15 | Show all posts
Can you please forward this over to your software developers....

When the kernel for the A3 was built, did USB audio support get turned off accidentally?
This might not be working simply because support for it was turned off.

It is supposed to be turned on:
jonsmirl@ares:~/aosp/mtk8/kernel-4.4/arch/arm64/configs$ grep SND_USB_AUDIO *
evb6771_64_emmc_debug_defconfig:CONFIG_SND_USB_AUDIO=y
evb6771_64_emmc_defconfig:CONFIG_SND_USB_AUDIO=y
evb6771_64_emmc_mhl_debug_defconfig:CONFIG_SND_USB_AUDIO=y
evb6771_64_emmc_mhl_defconfig:CONFIG_SND_USB_AUDIO=y
k39tv1_64_bsp_debug_defconfig:CONFIG_SND_USB_AUDIO=y
k39tv1_64_bsp_defconfig:CONFIG_SND_USB_AUDIO=y
k63v1_64_bsp_debug_defconfig:CONFIG_SND_USB_AUDIO=y

Turning on USB audio enables SND_PCM

config SND_USB_AUDIO
        tristate "USB Audio/MIDI driver"
        select SND_HWDEP
        select SND_RAWMIDI
        select SND_PCM
        select BITREVERSE

These #Ifdef then turn on the AOA USB audio support.

jonsmirl@ares:~/aosp/mtk8/kernel-4.4/drivers/usb/gadget$ grep PCM android.c
#ifdef CONFIG_SND_PCM
#ifdef CONFIG_SND_PCM

The audio interface is listed in the USB descriptors, when our code tries to turn it on, it errors out with -EPIPE. That would happen if the code in android.c was turned off by the IFDEFs and not built. This is code should always be turned on except in something like a watch with no USB audio.

Bus 001 Device 029: ID 18d1:2d05 Google Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x18d1 Google Inc.
  idProduct          0x2d05
  bcdDevice            2.23
  iManufacturer           1 A-gold
  iProduct                2 A1_PRO
  iSerial                 3 0123456789ABCDEF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          156
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          4 accessory_audiosource_adb
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol      0
      iInterface              5 Android Accessory Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0
      iInterface              0
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           40
        bInCollection           2
        baInterfaceNr( 0)       1
        baInterfaceNr( 1)       2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Microphone
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          2
        bSourceID               2
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 2
        bSourceID               1
        bControlSize            2
        bmaControls( 0)      0x00
        bmaControls( 0)      0x00
        iFeature                0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           1
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        44100
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes           13
          Transfer Type            Isochronous
          Synch Type               Synchronous
          Usage Type               Data
        wMaxPacketSize     0x0100  1x 256 bytes
        bInterval               4
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         1 Milliseconds
          wLockDelay              1 Milliseconds
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     66
      bInterfaceProtocol      1
      iInterface              6 ADB Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)






0

threads

1

posts

4

credits

New Member

Rank: 1

credits
4
Post time 2020-2-26 19:37:37 | Show all posts
Edited by govtjobsss at 2020-2-26 19:38  

Sarkari or Government tests are led for free job alert 2020different situations in the state just as focal Government. There are different gatherings in Government employments and applicants can apply for both of these gatherings, contingent upon their capabilities. Gathering A generally involves administrative jobs and are viewed as the most elevated level of employments. Gathering B is for Gazetted officials. To clear the Group B test, one needs to make the UPSC test. Most seats under Group B are filled through advancements, so just restricted seats are left for passage by means of test. Gathering C and D are for local officials who have non-supervisory jobs.

0

threads

1

posts

4

credits

New Member

Rank: 1

credits
4
Post time 2020-3-21 19:40:40 | Show all posts
The Indian Government has launched a WhatsApp chatbot to answer, queries related to coronavirus or COVID-19 across India. The user has to required save the number 9013151515 first in their device and then send a message to chat by messaging app giant Whatsapp. Since WhatsApp is quite popular in online platforms and is used daily by about 2 Billion people, hence MyGov has chosen to spread the right information to people. Small Industries Development Bank of India (SIDBI) has recently announced to starting the Swavalamban Express train on June 5, 2020, This will travel in 11 entrepreneurial cities i.e. Jammu, Delhi, Varanasi, Ahmedabad, Mumbai, Hyderabad, Bengaluru, Kolkata, and Bhubaneswr. Small Industrial Development Bank of India (SIDBI) is a financial institution, regulated by Reserve Bank of India & headquartered in Lucknow. Its focus is to provide Free Job Alert refinance  and short-term loans to industries as well as the micro, small and medium enterprises (MSME) sector Government Jobs. The Chairman and Managing Director as of March 2020 is Mohammad Mustafa.  Highonstudy also shares Free Job Alert notification of all Central Govt Jobs, State Vacancies including Railway, UPSC, SSC, State PSC, Banking, PSU, etc. This page is updated regularly.

0

threads

1

posts

4

credits

New Member

Rank: 1

credits
4
Post time 2020-5-23 16:03:56 | Show all posts
Finding the right government job might be a difficult task but where to find the relevant and latest government job is now very easy. I use to prefer Muft Jobs website where you can get the latest government and private job notifications easily. You can get new jobs daily on this website.

0

threads

1

posts

4

credits

New Member

Rank: 1

credits
4
Post time 2020-7-19 00:16:56 | Show all posts
Thanks for sharing this with us. For Latest Job please visit Assam Job News

0

threads

1

posts

4

credits

New Member

Rank: 1

credits
4
Post time 2020-9-6 15:53:41 | Show all posts
Edited by rajat at 2020-9-6 15:55  

Finding the right government job might be a difficult task but where to find the relevant and latest government job is now very easy. I use to prefer sarkari Result Josh website where you can get the latest government and private job notifications easily. You can get new jobs daily on this website.

0

threads

1

posts

4

credits

New Member

Rank: 1

credits
4
Post time 2020-11-10 00:08:49 | Show all posts
Free Latest Govt Jobs Alert Recruitment Notification public sector ssc upsc IBPS NRA CET call Letter / admit card exam dates Results Bank jobs Railway Jobs Ctet Teaching All Govt jobs info

0

threads

1

posts

4

credits

New Member

Rank: 1

credits
4
Post time 2021-5-26 10:47:06 | Show all posts
Edited by ravindra at 2021-5-26 10:52  

Sarkari Result provides you all Sarkari job (State Government Jobs and Central Government Jobs) notifications. You can search for this as per your qualification and your job location choices.It includes also Provides Sarkari Result 10+2 and 10th pass and 12th pass and graduation, post graduation BA, BSc, B.Tech, B.E, B. Com, diploma Like I.T.I., Polytechnic Etc. Its provides you all the Sarkari Result related updates like UP Police Result, RRB Group D Admit Card, RRB NTPC Admit Card, States government exam, Defence Exam, UP Board Result.
123Next
You have to log in before you can reply Login | WELCOME TO UMIDIGI COMMUNITY

Points Rules

Quick Reply Top Back to list