How to make the DIY WiFi Shield
You can make your own WiFi shield!
Just prepare some type of element like resistor and capacitor.
AND ODROID Board AND SDIO interface supported WiFI CHIP. :)
ESP-WROOM-S2
Connection
Pin # of J2 | Label | |
---|---|---|
3V3 | 1 | 3V3 |
GND | 6 | GND |
EN | 3 | GPIOX_17 |
RST | 5 | GPIOX_18 |
D0 | 16 | GPIOX_0 |
D1 | 18 | GPIOX_1 |
D2 | 22 | GPIOX_2 |
D3 | 11 | GPIOX_3 |
SCLK | 13 | GPIOX_4 |
CMD | 7 | GPIOX_5 |
Build and Configuartion
Before using the esp8089 kernel driver, you have to install the esp8089 module to the ODROID-C4 Board. - How to Install modules
And you have to copy a esp8089.dtbo file to the /media/boot/amlogic/overlays/odroidc4/.
Edit the config.ini file to apply dtbo files when booting.
- target
$ vi /media/boot/config.ini
- target
... ; Device Tree Overlay overlay_resize=16384 overlay_profile= overlays="spi i2c1 uart0 esp8089" [overlay_custom] ...
After editing the config.ini file, please reboot the ODROID board.
Insert Module
you can insert the esp8089 module.
- target
$ modprobe esp8089 [eagle_path=(path) esp_enable_gpio=(enable_gpio_num, default 493) esp_reset_gpio=(reset gpio num, default 494)]
Activate
Turn on the wifi and Connect to the AP.
- target
$ nmcli radio wifi on
- target
$ nmcli dev wifi list IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY DE:AD:BE:EF:BE:EF SSID_1 Infra 2 270 Mbit/s 100 ▂▄▆█ WPA2 DE:AD:BE:EF:BE:EF SSID_2 Infra 11 195 Mbit/s 100 ▂▄▆█ WPA1 WPA2 * DE:AD:BE:EF:BE:EF SSID_3 Infra 13 270 Mbit/s 100 ▂▄▆█ WPA2 DE:AD:BE:EF:BE:EF SSID_4 Infra 1 270 Mbit/s 94 ▂▄▆█ WPA2 DE:AD:BE:EF:BE:EF SSID_5 Infra 4 270 Mbit/s 90 ▂▄▆█ WPA2 DE:AD:BE:EF:BE:EF SSID_6 Infra 6 270 Mbit/s 90 ▂▄▆█ WPA2 DE:AD:BE:EF:BE:EF SSID_7 Infra 7 270 Mbit/s 90 ▂▄▆█ WPA2 DE:AD:BE:EF:BE:EF SSID_8 Infra 8 270 Mbit/s 74 ▂▄▆_ WPA2
- target
$ nmcli dev wifi con 'TARGET_AP_ID' password 'P/W of TARGET_AP'
Check the connection information.
- target
$ ifconfig wlan0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.30.84 netmask 255.255.255.0 broadcast 192.168.30.255 inet6 dead::beef:dead:beef:1234 prefixlen 64 scopeid 0x20<link> inet6 dead::beef:dead:beef:1234 prefixlen 64 scopeid 0x20<link> inet6 dead::beef:dead:beef:1234 prefixlen 64 scopeid 0x20<link> ether DE:AD:BE:EF:BE:EF txqueuelen 1000 (Ethernet) RX packets 53 bytes 13882 (13.8 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 17 bytes 2354 (2.3 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 or $ ip addr ... 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether DE:AD:BE:EF:BE:EF brd ff:ff:ff:ff:ff:ff inet 192.168.30.84/24 brd 192.168.30.255 scope global dynamic noprefixroute wlan0 valid_lft 7012sec preferred_lft 7012sec inet6 dead::beef:dead:beef:1234/64 scope link dadfailed tentative noprefixroute valid_lft forever preferred_lft forever inet6 dead::beef:dead:beef:1234/64 scope link dadfailed tentative noprefixroute valid_lft forever preferred_lft forever inet6 dead::beef:dead:beef:1234/64 scope link dadfailed tentative noprefixroute valid_lft forever preferred_lft forever