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!
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.
Intel Corporation kirjoitti:
Unfortunately, there are no drivers available to use these devices.
From recent kernels what I see is
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).
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.
I follow up the https://github.com/htot/meta-intel-edison/wiki Home · htot/meta-intel-edison Wiki · GitHub 's Road map
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?
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.
I'm install Linux Ubuntu 14.04 version in VirtualBox, and I try to U-boot update.
git clone mailto:firstname.lastname@example.org email@example.com:andy-shev/u-boot.git
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.
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.
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 ..)
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?
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.
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:
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?