1 2 Previous Next 17 Replies Latest reply on Aug 1, 2017 6:38 PM by seokeun

    i2s issue in intel edison mini breakout board.

    HWEG

      Hi, I'm Jaeuk Lee from South Korea.

       

      Currently, I'm using several sensors at the same time. Almost sensors are from adafruit.com.

      I'm introduce some main issue about i2S audio Mems mic(https://www.adafruit.com/product/3421)) and MAX 98357 speaker driver (https://www.adafruit.com/product/3006 ). Is there any driver for this device? when I use this devices, not appeared list of [arecord] and [aplay]. I referred this blog(Intel Edison - Simple I2S Audio Setup - Malinov Family Web Presence) and I researched about i2s interface many weeks. but their are no solution about this devices.  I don't want to official guide document like (https://www.intel.com/content/dam/support/us/en/documents/edison/sb/edison-module_HG_331189.pdf ) that. please give me your advise. Thank you!

        • 1. Re: i2s issue in intel edison mini breakout board.
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hi Jaeuk,

          Thank you for contacting us.

          The information available about I2S besides, what can be found in the Hardware Guide, is the one that can be found in the Intel Edison Audio Setup Guide. You can see this guide here: http://download.intel.com/support/edison/sb/edisonaudio_332434001.pdf . The information on the Manilov Website that you linked, is based on the I2S information found in the hardware guide and Audio setup guides.

          Unfortunately, there are no drivers available to use these devices. 
          We apologize for the inconvenience this may cause.

          Regards,
          -Sergio A
           

          • 2. Re: i2s issue in intel edison mini breakout board.
            0andriy

            Intel Corporation kirjoitti:

             

            Unfortunately, there are no drivers available to use these devices.

            From recent kernels what I see is

            sound/soc/codecs/Kconfig:595:config SND_SOC_MAX98357A

            I suppose you meant that there is no driver in official BSP for Edison for that codec.

            HWEG, what I could recommend to try (perhaps as a last resort) is to get Morthy based Yocto from FerryT as a starting point. What needs to be still done is some coding: a) enabling Edison in upstream ASoC subsystem (mostly adding IDs AFAIU), b) enabling configuration with that codec (this might require more work to create actual glue driver), c) adapt REEF (open source?) ASoC firmware for Edison (I have heard internally that it should work on HiFi 2 chips). It would be nice if someone does these steps once to enable in upstream (unfortunately I have no time for that ATM).

            1 of 1 people found this helpful
            • 3. Re: i2s issue in intel edison mini breakout board.
              HWEG

              0andriy  ,FerryT

               

              I'm still try to connect MAX98357A and I2S MEMS MIC(SPH0645LM4H), you mean that my Yocto version is old one? So Upgrade my linux Yocto version.

              but it is so hard thing to me..  I read this page ((update) Unofficial new Edison image based on Morty, Linux 4.12, 64bit kernel + image available ) . but I don't know how can install Morty, Linux 4.12

              additionally, I don't understand 0andriy''s advice ' a) enabling Edison in upstream ASoC subsystem (mostly adding IDs AFAIU), b) enabling configuration with that codec (this might require more work to create actual glue driver), c) adapt REEF (open source?) ASoC firmware for Edison (I have heard internally that it should work on HiFi 2 chips). '

               

              please help me.

              • 4. Re: i2s issue in intel edison mini breakout board.
                HWEG

                I follow up the Home · htot/meta-intel-edison Wiki · GitHub 's Road map 

                1. make edison-image based on http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/ that actually builds (done)
                2. update http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-iot-middleware/ to the latest version that will build (done)
                3. provide a version with PREEMPT_RT kernel (done)
                4. fix up QA warnings (done, but more to do)
                5. update poky to morty (done)
                6. switch to Andy Shevshenko's kernel https://github.com/andy-shev/linux/tree/eds (done)This work is in the morty branch and is highly experimental. Read on about what works, what not and how to get this working in Current state of Edison Morty.
                7. switch to 64-bit kernel (done in branch morty-64)

                I don't understand these process, how can I follow up these process? Maybe I already used 3.10.98-poky-edison+, would I going on number 6~7?

                • 5. Re: i2s issue in intel edison mini breakout board.
                  FerryT

                  First read this: Home · htot/meta-intel-edison Wiki · GitHub

                   

                  You will probably want to install the Morty version. To build this you will need a machine with Ubuntu. If you don't have one, you can create one inside Virtualbox.

                  To run a newer kernel on Edison, you must upgrade U-Boot first. Your current Edison Image should not be affected (unless you make a mistake, in which case you will need to use recovery, which will bring your Edison back to factory state, i.e. you files/configuration will be lost, if that is a problem make a backup first)

                   

                  Read: Build and flash U Boot separately · htot/meta-intel-edison Wiki · GitHub

                   

                  Using Morty (which is a version of the Yocto Project build system named Poky), you can build a kernel (will be installed on Edison) and an image of the root file system (everything on / excluding /home), this will be installed on a SD card. This will not affect your current Edison image.

                   

                  Read: Current state of Edison Morty · htot/meta-intel-edison Wiki · GitHub

                   

                  There will be a few modifications and additions to the U-Boot environment. The modifications are needed for the new version of U-Boot. The additions will let you run the new kernel, when you interrupt the boot process (by pressing escape during boot), using run edsboot.

                  1 of 1 people found this helpful
                  • 6. Re: i2s issue in intel edison mini breakout board.
                    HWEG

                    FerryT

                    I'm install Linux Ubuntu 14.04 version in VirtualBox, and I try to U-boot update.

                     

                    git clone git@github.com:andy-shev/u-boot.git
                    cd u-boot
                    git checkout edison-v2017.05 

                    ~

                    ~

                     

                    스크린샷 2017-07-20 오후 4.25.17.png

                    I'm not sure about that but I follow up that section and I arrived this issue 스크린샷 2017-07-20 오후 4.29.35.png

                     

                    Sorry but I'm very confuse why we doing this process ( I think edison kernel need more update u-boot ). I wondered about U-boot is related to acknowledge ttyUSB0 port? My Mac OS terminal work well in USB port. But when I  insert command ' ls /dev' in Ubuntu terminal, Ubuntu didn't recognized edison USB port...and additionally, I used edison module with SparkFun board.

                     

                    this is my process for install that new edison image based on Morty, Linux 4.12

                     

                    1. Installed VirtualBox

                    2. using virtualBox, install Ubuntu 14.04 V

                    3. From this( Build and flash U Boot separately · htot/meta-intel-edison Wiki · GitHub ) page, I follow up the 'Instruction for Building'

                    ... Maybe I think it is hard thing : (

                     

                    also, if I solved this problem, edison Sparkfun board has no additional SD card slot, so how can I solve this problem.?

                     

                    Sorry repeat again, My Final destination is active I2S Mems MIC & I2S D class audio AMP.

                    if you have any solution about this issue, I'm not hesitate that consume my time.

                    Thank you for your advice.

                    • 7. Re: i2s issue in intel edison mini breakout board.
                      HWEG

                      Further more, SparkFun can added SD card, so it solved.

                      but I don't know still that what is first thing between recognizing USB port in Ubuntu or update U-BOOT.

                      In virtualBox Maun, I try to added USB intel edison, but fail..

                      스크린샷 2017-07-20 오후 5.07.34.png

                      • 8. Re: i2s issue in intel edison mini breakout board.
                        FerryT

                        HWEG You need the U-Boot for newer kernels to work, and that is what we are doing in later steps. It is actually not very hard and does not consume a lot of time. I'm not sure if and why you U-Boot build failed. Maybe you can post your exact steps?

                         

                        It is not necessary for your mac to acces the sd card, the idea is the edison acces the sd card during boot. To format the sd card and copy the image onto it you can use and card reader. I have given instructions for that assuming a running Ubuntu with access to the sd card through a card reader. No doubt there are ways to do that directly from a mac, but I am not familiar with those.

                         

                        I might be good to know that I build U-Boot on Ubuntu 17.04 64-bit version.

                        • 9. Re: i2s issue in intel edison mini breakout board.
                          HWEG

                          FerryT

                          thank you for your kindness

                           

                          I understand your mention and I try to upgrade U-BOOT version and I faced several problem.

                          First, in VirtualBox USB recognition problem. My Mac PC is well work as USB recognition. But in VirtualBox is not working well...

                          some way... I solved that problem and I follow up this process스크린샷 2017-07-31 오전 9.30.32.png

                          I success reboot process and Entered U-Boot by hit the keyboard.

                          and I type boot > run do_force_flash_os

                          next print command is  GARGET DRIVER : usb_dfu..

                          I am waiting about 2 hours but their are no response so I don't entered new terminal. Why it stop there?

                          Maybe ubuntu version is related that problem? (I used 16.04 ..)

                          • 10. Re: i2s issue in intel edison mini breakout board.
                            HWEG

                            To. FerryT

                            I am updating my U-Boot process. Here is my prompt screen .

                             

                            스크린샷 2017-07-31 오후 4.03.57.png

                            I excuse second terminal and type " sudo dfu-utils -v -d ~~~" but my terminal screen is stop zero percent.. there are no change..

                            how can I do ?

                            • 11. Re: i2s issue in intel edison mini breakout board.
                              FerryT

                              These problems are probably related to using Virtualbox. Have you shared the dfu device to the virtualbox guest?

                               

                              Maybe others have been successful in flashing the Edison in virtualbox?

                              • 12. Re: i2s issue in intel edison mini breakout board.
                                0andriy

                                Second screen shot is kinda useless. You obviously used make -jXX and the error lasts quite ahead of what you posted here. Try to rebuild with make -j1. I think the very likely you just didn't have multilib installed and packages to build 32-bit binaries.

                                • 13. Re: i2s issue in intel edison mini breakout board.
                                  0andriy

                                  It waits for data stream from the host. You need to run a command (see list item 8. in your screenshot) in the separate terminal window.

                                  • 14. Re: i2s issue in intel edison mini breakout board.
                                    0andriy

                                    Old U-Boot on the Edison has issues with transfer length via USB. So, it might be that Virtualbox splits the transfers to smaller chunks which are refused by DFU on Edison.

                                    I would recommend to run DFU utils without virtualization involved. (I suppose they might be ported to Mac in Homebrew environment)

                                     

                                    Just in case, U-Boot HOWTO had been moved to new page outside of this forum:

                                    https://edison.internet-share.com/wiki/U-Boot

                                    1 2 Previous Next