Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
1,564 Views

i2s issue in intel edison mini breakout board.

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 https://www.adafruit.com/product/3421)) and MAX 98357 speaker driver (https://www.adafruit.com/product/3006 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(http://www.malinov.com/Home/sergey-s-blog/inteledison-simplei2saudiosetup 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 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!

17 Replies
Highlighted
Community Manager
11 Views

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

 

0 Kudos
Highlighted
Employee
11 Views

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).

Highlighted
New Contributor I
11 Views

0andriy FerryT0andriy

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 (0andriy 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.

0 Kudos
Highlighted
New Contributor I
11 Views

I follow up the https://github.com/htot/meta-intel-edison/wiki 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/ 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/ 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 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 https://github.com/htot/meta-intel-edison/wiki/Current-state-of-Edison-Morty 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?

 

0 Kudos
Highlighted
Valued Contributor I
11 Views

First read this: https://github.com/htot/meta-intel-edison/wiki 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: https://github.com/htot/meta-intel-edison/wiki/Build-and-flash-U-Boot-separately 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: https://github.com/htot/meta-intel-edison/wiki/Current-state-of-Edison-Morty 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.

Highlighted
New Contributor I
11 Views

FerryT

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

git clone mailto:git@github.com git@github.com:andy-shev/u-boot.git 

cd u-boot

 

git checkout edison-v2017.05

~

~

I'm not sure about that but I follow up that section and I arrived this issue

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( https://github.com/htot/meta-intel-edison/wiki/Build-and-flash-U-Boot-separately 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.

0 Kudos
Highlighted
New Contributor I
11 Views

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..

0 Kudos
Highlighted
Valued Contributor I
11 Views

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.

0 Kudos
Highlighted
New Contributor I
11 Views

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

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 ..)

0 Kudos
Highlighted
New Contributor I
11 Views

To. FerryT

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

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 ?

0 Kudos
Highlighted
Valued Contributor I
11 Views

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?

0 Kudos
Highlighted
Employee
11 Views

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.

0 Kudos
Highlighted
Employee
11 Views

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.

0 Kudos
Highlighted
Employee
11 Views

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 https://edison.internet-share.com/wiki/U-Boot

0 Kudos
Highlighted
Beginner
11 Views

Once, there was progress.

i installed some packages device-tree-compiler, gcc5,6multilib. may be there was a problem to make.

make file was success, but if failed 96%. This time, perhaps Edison has this problem.

(in drivers/usb/dwc3//dwe3_ep0.c: dwc3_ep0_do_control_data(680)

How can i do?

0 Kudos
Highlighted
Employee
11 Views

seokeun kirjoitti:

make file was success, but if failed 96%. This time, perhaps Edison has this problem.

(in drivers/usb/dwc3//dwe3_ep0.c: dwc3_ep0_do_control_data(680)

How can i do?

Did you run

truncate -s %4096 u-boot.bin

before running dfu-util?

0 Kudos
Highlighted
Beginner
11 Views

sure, i did it repeatedly.

0 Kudos