odroid_go_advance:application_note:sdio_wifi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
odroid_go_advance:application_note:sdio_wifi [2020/05/21 11:45] – [How to configure built-in WIFI module] joy.choodroid_go_advance:application_note:sdio_wifi [2020/09/03 17:09] (current) – [Configuring WIFI AP mode] joy.cho
Line 1: Line 1:
 ====== How to configure built-in WIFI module ====== ====== How to configure built-in WIFI module ======
-<WRAP info round> 
-**This wiki page will be updated soon!!!** (2020.05.21) 
-</WRAP> 
  
 <WRAP info round> <WRAP info round>
Line 8: Line 5:
 </WRAP> </WRAP>
  
-  - WIFI KEY Features+  - Module Key Features
   - Configuring WIFI station mode (1) - using [Configuration] Menu   - Configuring WIFI station mode (1) - using [Configuration] Menu
   - Configuring WIFI station mode (2) - using command line   - Configuring WIFI station mode (2) - using command line
   - Configuring WIFI AP mode   - Configuring WIFI AP mode
-  - Checking basic connection +  - Checking basic connection of wlan0 
-  - Configuring Suspend/Resume +  - Workaround to support Suspend/Resume with esp8089 module 
-===== WIFI Key Features ===== +===== Module Key Features ===== 
-  ESP-WROOM-S2 that integrates ESP8266EX + 
-  WIFI Protocol 802.11 b/g/n +^ Items            ^ Specifications                              ^ 
-  Frequency Range 2.4 GHz ~ 2.5 GHz (2400 MHz ~ 2483.5 MHz) +| Module           ESP-WROOM-S2                                | 
-  SDIO interface up to 50 MHz, SDIO v2.0+| MCU              | ESP8266EX                                   | 
 +WIFI Protocol    802.11 b/g/n, up to 72.2 Mbps of data rate  
 +Frequency Range  2.4 GHz ~ 2.5 GHz (2400 MHz ~ 2483.5 MHz)   | 
 +| Interface        | SDIO interface up to 50MHz, SDIO v2.0       |
  
  
Line 27: Line 27:
  
 ===== Configuring WIFI station mode (2) - using command line ===== ===== Configuring WIFI station mode (2) - using command line =====
-Turn on radio.+Or you can establish WIFI network using the following instuctions.\\ 
 +\\ 
 +First, check **esp8089** module is loaded normally. 
 +<code bash target> 
 +$ lsmod 
 +Module                  Size  Used by 
 +esp8089               266240 
 +sch_fq_codel           20480 
 +ip_tables              24576  0 
 +x_tables               32768  1 ip_tables 
 +ipv6                  372736  24 
 +</code> 
 +Turn on wifi radio.
 <code bash target> <code bash target>
 # nmcli radio wifi on # nmcli radio wifi on
 </code> </code>
-Check wifi list.+You can get all available WIFI list as following.
 <code bash target> <code bash target>
 $ nmcli dev wifi list $ nmcli dev wifi list
Line 39: Line 51:
         SSID_3          Infra  11    130 Mbit/ 92      ▂▄▆█  WPA2              SSID_3          Infra  11    130 Mbit/ 92      ▂▄▆█  WPA2     
 </code> </code>
-Add connection.+Enter SSID and password data.
 <code bash target> <code bash target>
 $ nmcli dev wifi con 'SSID_1' password 'password_of_ssid1' $ nmcli dev wifi con 'SSID_1' password 'password_of_ssid1'
 </code> </code>
-Check ip configuration.+If there is no issue during network establishment, you will get IP information.
 <code bash target> <code bash target>
 $ ip addr $ ip addr
Line 65: Line 77:
  
 ===== Configuring WIFI AP mode ===== ===== Configuring WIFI AP mode =====
 +There is no GUI menu to configure WIFI AP mode for now.\\ 
 +Please use the following instruction via command line.
 === 1. Update & Upgrade === === 1. Update & Upgrade ===
 <code bash target> <code bash target>
Line 81: Line 94:
 $ sudo systemctl disable dnsmasq $ sudo systemctl disable dnsmasq
 </code> </code>
-=== 3. Setup (1) - Configuration a static IP ===+=== 3. Setup (1) - Configuring a static IP ===
 To configure the static IP address, please edit a dhcpcd configuration file, /etc/dhcpcd.conf.\\ To configure the static IP address, please edit a dhcpcd configuration file, /etc/dhcpcd.conf.\\
 Go to the end fo this file and add the following lines.\\ Go to the end fo this file and add the following lines.\\
Line 94: Line 107:
 </code> </code>
  
-=== 4. Setup (2) Configuring the access point host software - 'hostapd' ===+=== 4. Setup (2) Configuring the access point host software - 'hostapd' ===
 (1) You need to edit the hostapd configuration file in /etc/hostapd.\\ (1) You need to edit the hostapd configuration file in /etc/hostapd.\\
 <code bash target> <code bash target>
Line 126: Line 139:
 </code> </code>
 <code bash target> <code bash target>
-# DAEMON_CONF="" 
 DAEMON_CONF="/etc/hostapd/hostapd.conf" DAEMON_CONF="/etc/hostapd/hostapd.conf"
 </code> </code>
  
-=== 5. Setup (3) Configuring DHCP server - 'dnsmasq' ===+=== 5. Setup (3) Configuring DHCP server - 'dnsmasq' ===
 Add the following information in the dnsmasq configuration file, /etc/dnsmasq.conf.\\ Add the following information in the dnsmasq configuration file, /etc/dnsmasq.conf.\\
 <code bash target> <code bash target>
-#stop DNSmasq from using resolv.conf+$ vi /etc/dnsmasq.conf 
 +</code> 
 +<code bash target> 
 +If you don't want dnsmasq to read /etc/resolv.conf or any other 
 +# file, getting its servers from this file instead (see below), then 
 +# uncomment this.
 no-resolv no-resolv
-#Interface to use+ 
 +If you want dnsmasq to listen for DHCP and DNS requests only on 
 +# specified interfaces (and the loopback) give the name of the 
 +# interface (eg eth0) here. 
 +# Repeat the line for more than one interface.
 interface=wlan0 interface=wlan0
 +
 +# On systems which support it, dnsmasq binds the wildcard address,
 +# even when it is listening on only some interfaces. It then discards
 +# requests that it shouldn't reply to. This has the advantage of
 +# working even when interfaces come and go and change address. If you
 +# want dnsmasq to really bind only the interfaces it is listening on,
 +# uncomment this option. About the only time you may need this is when
 +# running another nameserver on the same machine.
 bind-interfaces bind-interfaces
 +
 +# Uncomment this to enable the integrated DHCP server, you need
 +# to supply the range of addresses available for lease and optionally
 +# a lease time. If you have more than one network, you will need to
 +# repeat this for each network on which you want to supply DHCP
 +# service.
 dhcp-range=192.168.4.3,192.168.4.20,12h dhcp-range=192.168.4.3,192.168.4.20,12h
 </code> </code>
  
-=== 6. Setup (4) Configuring network ===+=== 6. Setup (4) Configuring Network ===
 Create /etc/network/interfaces. \\ Create /etc/network/interfaces. \\
 Make sure that 3rd line is blocked using "#".\\ Make sure that 3rd line is blocked using "#".\\
Line 152: Line 187:
 === 7. Start services === === 7. Start services ===
 <code bash target> <code bash target>
-service dnsmasq start +sudo systemctl enable dnsmasq 
-service hostapd start +sudo systemctl start dnsmasq
-</code>+
  
 +$ sudo systemctl enable hostapd
 +$ sudo systemctl start hostapd
 +</code>
 +<code bash target>
 +$ ip addr
 +1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
 +    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 +    inet 127.0.0.1/8 scope host lo
 +       valid_lft forever preferred_lft forever
 +    inet6 ::1/128 scope host 
 +       valid_lft forever preferred_lft forever
 +2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
 +    link/ether ab:cd:ef:12:34:56 brd ff:ff:ff:ff:ff:ff
 +    inet 192.168.4.1/24 brd 192.168.4.255 scope global noprefixroute wlan0
 +       valid_lft forever preferred_lft forever
 +    inet6 fe80::1234:1234:1234:1234/64 scope link 
 +       valid_lft forever preferred_lft forever
 +</code>
 ===== Checking basic connection ===== ===== Checking basic connection =====
 +If you get fails during network setup, please check the followings using ssh with a USB-to-Ethernet adapter or UART console.
 +
 === mmc1 node === === mmc1 node ===
 <code bash target> <code bash target>
Line 186: Line 240:
 </code> </code>
  
-===== Configuring Suspend/Resume =====+===== Workaround to support Suspend/Resume with esp8089 module =====
  
 **/lib/systemd/system-sleep/sleep**\\ **/lib/systemd/system-sleep/sleep**\\
  • odroid_go_advance/application_note/sdio_wifi.1590029133.txt.gz
  • Last modified: 2020/05/21 11:45
  • by joy.cho