<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title xmlns="http://www.w3.org/2005/Atom">Dobrica Pavlinušić's random unstructured stuff: esp8089</title>
  <id xmlns="http://www.w3.org/2005/Atom">https://saturn.ffzg.hr/rot13/</id>
  <link xmlns="http://www.w3.org/2005/Atom" type="text/html" rel="alternate" href="https://saturn.ffzg.hr/rot13/index.cgi?esp8089"/>
  <link xmlns="http://www.w3.org/2005/Atom" type="application/atom+xml" rel="self" href="https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443/feed/workspace/rot13?page=esp8089;type=Atom"/>
  <updated xmlns="http://www.w3.org/2005/Atom">2019-07-04T07:18:10Z</updated>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <title xmlns="http://www.w3.org/2005/Atom">esp8089</title>
    <link xmlns="http://www.w3.org/2005/Atom" type="text/html" rel="alternate" href="https://saturn.ffzg.hr/rot13/index.cgi?esp8089"/>
    <content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;div&gt;Creator: Dobrica Pavlinušić&lt;/div&gt;&lt;hr/&gt;&lt;div class="wiki"&gt;
&lt;p&gt;
use &lt;a href="https://saturn.ffzg.hr/rot13/index.cgi?esp8266" title="(57 months)  toc links http www.esp8266.com https github.com esp8266 esp8266-wiki wiki http www.electrodragon.co..."&gt;esp8266&lt;/a&gt; module over sdio on &lt;a href="https://saturn.ffzg.hr/rot13/index.cgi?cubieboard" title="(83 months)  image cubieboard-ir-module.png file cubieboard_schematic_2012-08-08.pdf file BreadBoard V1.0 03-25 ..."&gt;cubieboard&lt;/a&gt; as wifi card&lt;/p&gt;
&lt;div class="nlw_phrase"&gt;&lt;table class="wafl_container"&gt;
  &lt;tr&gt;
    &lt;td&gt;
      &lt;div class="wafl_box"&gt;
        
          &lt;div class="wafl_titlebox"&gt;
            &lt;div class="wafl_title"&gt;
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="wafl_items"&gt;
            
              &lt;div class="wiki"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#links"&gt;Dobrica Pavlinušić's random unstructured stuff (links)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] links} --&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#setup"&gt;Dobrica Pavlinušić's random unstructured stuff (setup)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] setup} --&gt;&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#cubieboard_pinout"&gt;Dobrica Pavlinušić's random unstructured stuff (cubieboard pinout)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] cubieboard pinout} --&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#esp_201_pinout_from_top"&gt;Dobrica Pavlinušić's random unstructured stuff (ESP-201 pinout from top)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] ESP-=201 pinout from top} --&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#ch_en_mapping_to_gpio_pin"&gt;Dobrica Pavlinušić's random unstructured stuff (CH_EN mapping to GPIO pin)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] CH_EN mapping to GPIO pin} --&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#additional_components"&gt;Dobrica Pavlinušić's random unstructured stuff (additional components)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] additional components} --&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#clear_the_qe_quad_enable_bit_in_the_sreg2_of_a_w25q40bv_or_similar"&gt;Dobrica Pavlinušić's random unstructured stuff (clear the QE (quad enable) bit in the sreg2 of a W25Q40BV or similar)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] clear the QE (quad enable) bit in the sreg2 of a W25Q40BV or similar} --&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#bootloader"&gt;Dobrica Pavlinušić's random unstructured stuff (bootloader)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] bootloader} --&gt;&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#setup_boudrate_to_74880"&gt;Dobrica Pavlinušić's random unstructured stuff (setup boudrate to 74880)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] setup boudrate to 74880} --&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#boot_modes"&gt;Dobrica Pavlinušić's random unstructured stuff (boot modes)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] boot modes} --&gt;&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#io15_3v3"&gt;Dobrica Pavlinušić's random unstructured stuff (IO15 -&amp;gt; 3V3)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] IO15 -=&gt; 3V3} --&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="nlw_phrase"&gt;&lt;a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#io15_gnd"&gt;Dobrica Pavlinušić's random unstructured stuff (IO15 -&amp;gt; GND)&lt;/a&gt;&lt;!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] IO15 -=&gt; GND} --&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;/div&gt;

            
            
          &lt;/div&gt;
        
      &lt;/div&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;!-- wiki: {toc: }
--&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1 id="links"&gt;links&lt;/h1&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a target="_blank" title="(external link)" href="https://hackaday.io/project/8678-rpi-wifi-hat"&gt;https://hackaday.io/project/8678-rpi-wifi-hat&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a target="_blank" title="(external link)" href="https://github.com/al177/esp8089"&gt;https://github.com/al177/esp8089&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="setup"&gt;setup&lt;/h1&gt;
&lt;h2 id="cubieboard_pinout"&gt;cubieboard pinout&lt;/h2&gt;
&lt;pre&gt;
root@cubieboard:/home/dpavlin# cat mmc3-sdio.txt 
22 PI4 2 1 2 [mmc mmc3]                                SCD3_CMD
24 PI5 2 1 2 [mmc mmc3]                                SCD3_CLK
26 PI6 2 1 2 [mmc mmc3]                                SCD3_D0
28 PI7 2 1 2 [mmc mmc3]                                SCD3_D1
30 PI8 2 1 2 [mmc mmc3]                                SCD3_D2
32 PI9 2 1 2 [mmc mmc3]                                SCD4_D3
&lt;/pre&gt;
&lt;br /&gt;&lt;h2 id="esp_201_pinout_from_top"&gt;ESP-201 pinout from top&lt;/h2&gt;
&lt;pre&gt;
15 IO0                  13 IO15
14 IO2                  12 IO13
18 D2  GPIO9            10 IO12
21 CLK GPIO6            9  IO14
20 CMD GPIO11           8  XPD GPIO16
22 D0  GPIO7            7  CHIP_EN 
23 D1  GPIO8            32 RST
19 D3  GPIO10           6  TOUT ADC
16 IO4                  24 IO5
3.3V                    GND
3.3V                    GND
&lt;/pre&gt;
&lt;br /&gt;&lt;h2 id="ch_en_mapping_to_gpio_pin"&gt;CH_EN mapping to GPIO pin&lt;/h2&gt;
&lt;pre&gt;
PE4   &amp;quot;132&amp;quot; =&amp;gt; &amp;quot;PE4&amp;quot;, -&amp;gt; CHIP_EN

root@cubieboard:/home/dpavlin/linux-gpio-pinout# modprobe esp8089 esp_reset_gpio=132 # PE4
[Sun Jun 30 19:19:24 2019] 
                           ***** EAGLE DRIVER VER:bdf5087c3deb*****

[Sun Jun 30 19:19:24 2019] ESP8089 reset via GPIO 132
[Sun Jun 30 19:19:35 2019] esp_sdio_init ------ RETRY ------ 
[Sun Jun 30 19:19:35 2019] ESP8089 reset via GPIO 132
[Sun Jun 30 19:19:35 2019] ESP8089 reset via GPIO 132
[Sun Jun 30 19:19:46 2019] esp_sdio_init ------ RETRY ------ 
[Sun Jun 30 19:19:46 2019] ESP8089 reset via GPIO 132
[Sun Jun 30 19:19:47 2019] ESP8089 reset via GPIO 132
[Sun Jun 30 19:19:58 2019] esp_sdio_init ------ RETRY ------ 
[Sun Jun 30 19:19:58 2019] ESP8089 reset via GPIO 132
[Sun Jun 30 19:19:58 2019] ESP8089 reset via GPIO 132
[Sun Jun 30 19:20:09 2019] esp_sdio_init ------ RETRY ------ 
[Sun Jun 30 19:20:09 2019] ESP8089 reset via GPIO 132
modprobe: ERROR: could not insert 'esp8089': No such device
[Sun Jun 30 19:20:10 2019] eagle sdio can not power up!

&lt;/pre&gt;
&lt;br /&gt;&lt;h1 id="additional_components"&gt;additional components&lt;/h1&gt;
&lt;p&gt;
&lt;a target="_blank" title="(external link)" href="https://hackaday.io/project/8678-rpi-wifi/details"&gt;https://hackaday.io/project/8678-rpi-wifi/details&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
missing 200 ohm resistors on sdio lines&lt;/p&gt;
&lt;p&gt;
4.7k pullup on CH_PD &lt;a target="_blank" title="(external link)" href="https://github.com/al177/esp8089/issues/4"&gt;https://github.com/al177/esp8089/issues/4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
rpi needs dtoverlay=sdio,poll_once=false&lt;/p&gt;
&lt;p&gt;
it's still not clear to me do I have to remove spi flash or not&lt;/p&gt;
&lt;p&gt;
newer project with simpler overview&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" title="(external link)" href="https://hackaday.io/project/12980-pi2wifi"&gt;https://hackaday.io/project/12980-pi2wifi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" title="(external link)" href="https://sites.google.com/site/mincepi/pi2wifi"&gt;https://sites.google.com/site/mincepi/pi2wifi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
it suggests 33 ohm resistors on sdio, includes dts overlay)&lt;/p&gt;
&lt;p&gt;
&lt;a target="_blank" title="(external link)" href="https://hackaday.io/project/8678/instructions"&gt;https://hackaday.io/project/8678/instructions&lt;/a&gt; also suggest 33 ohm resistors...&lt;/p&gt;
&lt;h1 id="clear_the_qe_quad_enable_bit_in_the_sreg2_of_a_w25q40bv_or_similar"&gt;clear the QE (quad enable) bit in the sreg2 of a W25Q40BV or similar&lt;/h1&gt;
&lt;p&gt;
&lt;a target="_blank" title="(external link)" href="https://github.com/jacksonliam/rpi-bitbang-spiflash"&gt;https://github.com/jacksonliam/rpi-bitbang-spiflash&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="bootloader"&gt;bootloader&lt;/h1&gt;
&lt;h2 id="setup_boudrate_to_74880"&gt;setup boudrate to 74880&lt;/h2&gt;
&lt;span class="nlw_phrase"&gt;&lt;a href="https://saturn.ffzg.hr/rot13/index.cgi/anyboud.c?action=attachments_download;page_name=esp8089;id=20190704060856-0-15819"&gt;anyboud.c&lt;/a&gt;&lt;!-- wiki: {file: anyboud.c} --&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;
&lt;a target="_blank" title="(external link)" href="https://gist.githubusercontent.com/sentinelt/3f1a984533556cf890d9/raw/8a35958138b1167fce5c2301a73e2fe06aeb08d8/gistfile1.c"&gt;https://gist.githubusercontent.com/sentinelt/3f1a984533556cf890d9/raw/8a35958138b1167fce5c2301a73e2fe06aeb08d8/gistfile1.c&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
You have to first open terminal in some valid baud rate&lt;/p&gt;
&lt;pre&gt;
root@cubieboard:~# microcom -p /dev/ttyS1
&lt;/pre&gt;
&lt;br /&gt;&lt;p&gt;
and then in another terminal force new speed for port with:&lt;/p&gt;
&lt;pre&gt;
dpavlin@cubieboard:~/anybaud$ ./anyboud /dev/ttyS1 74880
Changed successfully.
&lt;/pre&gt;
&lt;br /&gt;&lt;h2 id="boot_modes"&gt;boot modes&lt;/h2&gt;
&lt;p&gt;
&lt;a target="_blank" title="(external link)" href="https://github.com/esp8266/esp8266-wiki/wiki/Boot-Process#esp-boot-modes"&gt;https://github.com/esp8266/esp8266-wiki/wiki/Boot-Process#esp-boot-modes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
The Espressif code can boot in different modes, selected on power-up based on GPIO pin levels. (MTDO is equivalent to GPIO15).&lt;/p&gt;
&lt;table style="border-collapse: collapse;" class="formatter_table"&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;MTDO&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;GPIO0&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;GPIO2&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;Mode&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;Description&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;L&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;L&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;H&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;UART&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;Download code from UART&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;L&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;H&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;H&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;Flash&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;Boot from SPI Flash&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;H&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;x&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;x&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;SDIO&lt;/td&gt;
&lt;td style="border: 1px solid black;padding: .2em;"&gt;Boot from SD-card&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br /&gt;&lt;p&gt;
In the bootup message 'boot mode:(x,y)' three low bits of x are {MTDO, GPIO0, GPIO2}.&lt;/p&gt;
&lt;h3 id="io15_3v3"&gt;IO15 -&amp;gt; 3V3&lt;/h3&gt;
&lt;p&gt;
My guess from espressif powerpoint this is sdio boot mode (and it doesn't work for me right now)&lt;/p&gt;
&lt;pre&gt;
 ets Jan  8 2013,rst cause:1, boot mode:(7,7)

waiting for host
&lt;/pre&gt;
&lt;br /&gt;&lt;h3 id="io15_gnd"&gt;IO15 -&amp;gt; GND&lt;/h3&gt;
&lt;p&gt;
According to hackaday thread, this is correct way to force SDIO mode, serial output is:&lt;/p&gt;
&lt;pre&gt;
 ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 31020, room 16

 ets Jan  8 2013,rst cause:1, boot mode:(3,7)
&lt;/pre&gt;
&lt;br /&gt;&lt;p&gt;
This seems like loading from spi flash to me. If I don't touch kernel module, but just toggle CH_EN pin&lt;/p&gt;
&lt;pre&gt;
root@cubieboard:/home/dpavlin# cat esp-reset.sh
#!/bin/sh -xe

cd /sys/class/gpio/
echo 132 &amp;gt; export
echo out &amp;gt; gpio132/direction
echo 0 &amp;gt; gpio132/value
echo 1 &amp;gt; gpio132/value
echo 132 &amp;gt; unexport
root@cubieboard:/home/dpavlin# 
&lt;/pre&gt;
&lt;br /&gt;&lt;p&gt;
I get full bootloader output:&lt;/p&gt;
&lt;pre&gt;
 ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 31020, room 16
tail 12
chksum 0x79
ho 0 tail 12 room 4
load 0x3ffe8000, len 2888, room 12
tail 12
chksum 0x6a
ho 0 tail 12 room 4
load 0x3ffe8b50, len 14864, room 12
tail 4
chksum 0x45
csum 0x45


&lt;/pre&gt;
&lt;br /&gt;&lt;p&gt;
It seems that esp tries to load first part, but fails and kernel module toggle CH_PD and resets it.&lt;br /&gt;
Time to try soldering resistors between 200 and 33 ohms I guess...&lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;&lt;div&gt;Attachments: anyboud.c&lt;/div&gt;</content>
    <id xmlns="http://www.w3.org/2005/Atom">https://saturn.ffzg.hr/rot13/index.cgi?esp8089</id>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">Dobrica Pavlinušić</name>
    </author>
    <updated xmlns="http://www.w3.org/2005/Atom">2019-07-04T07:18:10Z</updated>
  </entry>
</feed>
