Using PCI.e M.2 Connector Print

 

This application note explains how to configure and use the Intel 8265NGW PCIe WiFi/BT module with the i.MX 8M SOM to obtain network access to the Internet over WiFi. The Intel 8265NGW WiFi/BT module interfaces to the i.MX 8M through a PCIe bus available on the PCI.e M.2 connector of the IMX8M-SOM-BSB and provides high-end WiFi connectivity.

Step through the following procedure:

  1. Install an Intel 8265NGW PCIe card to the J10 M.2 connector of the IMX8M-SOM-BSB and connect compatible antennas to the antenna connectors on the PCIe card.
  2. Boot Linux to the shell interface and validate that the on-board WiFi chip has been detected and initialized by the Linux kernel successfully. You should see output similar to the snapshot shown below in the iwconfig print-out just after the system boot up:
  3. root@imx8m-som:~# iwconfig lo no wireless extensions. eth0 no wireless extensions. wlp1s0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:on wlP1p1s0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:on

  4. Run wpa_supplicant in order to scan the wireless network for WiFi access points available to the i.MX 8M:
  5. root@imx8m-som:~# wpa_supplicant -i wlP1p1s0 -c /etc/wpa_supplicant.conf -B Successfully initialized wpa_supplicant root@imx8m-som:~# wpa_cli scan Selected interface 'wlP1p1s0' OK root@imx8m-som:~# wpa_cli scan_results Selected interface 'wlP1p1s0' bssid / frequency / signal level / flags / ssid ec:43:f6:e1:4a:d8 2422 -77 [WPA2-PSK-CCMP][WPS][ESS] My_access_point

  6. To connect to your access point, use the following commands (in the example below replace My_access_point and My_password with the parameters of your access point):
  7. root@imx8m-som:~# wpa_cli add_network Selected interface 'wlP1p1s0' 1 root@imx8m-som:~# wpa_cli set_network 1 ssid '"My_access_point"' Selected interface 'wlP1p1s0' OK root@imx8m-som:~# wpa_cli set_network 1 psk '"My_password"' Selected interface 'wlP1p1s0' OK root@imx8m-som:~# wpa_cli enable_network 1 Selected interface 'wlP1p1s0' [ 231.741551] wlP1p1s0: authenticate with ec:43:f6:e1:4a:d8 OK [ 231.815377] wlP1p1s0: send auth to ec:43:f6:e1:4a:d8 (try 1/3) [ 231.822753] wlP1p1s0: authenticated [ 231.833499] wlP1p1s0: associate with ec:43:f6:e1:4a:d8 (try 1/3) [ 231.849830] wlP1p1s0: associate with ec:43:f6:e1:4a:d8 (try 2/3) [ 231.859419] wlP1p1s0: RX AssocResp from ec:43:f6:e1:4a:d8 (capab=0x411 status=0 aid=2) [ 231.870567] wlP1p1s0: associated root@imx8m-som:~# wpa_cli reassociate

  8. Obtain the IP, verify connection to the Internet:
  9. root@imx8m-som:~# udhcpc -i wlP1p1s0 udhcpc (v1.24.1) started Sending discover... Sending discover... Sending discover... Sending select for 192.168.1.48... Lease of 192.168.1.48 obtained, lease time 25200 /etc/udhcpc.d/50default: Adding DNS 8.8.8.8 /etc/udhcpc.d/50default: Adding DNS 192.168.1.1 root@imx8m-som:~# ping -c 5 google.com PING google.com (173.194.222.139) 56(84) bytes of data. 64 bytes from lo-in-f139.1e100.net (173.194.222.139): icmp_seq=1 ttl=47 time=39.1 ms 64 bytes from lo-in-f139.1e100.net (173.194.222.139): icmp_seq=2 ttl=47 time=50.6 ms 64 bytes from lo-in-f139.1e100.net (173.194.222.139): icmp_seq=3 ttl=47 time=43.4 ms 64 bytes from lo-in-f139.1e100.net (173.194.222.139): icmp_seq=4 ttl=47 time=48.7 ms 64 bytes from lo-in-f139.1e100.net (173.194.222.139): icmp_seq=5 ttl=47 time=32.4 ms --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 32.489/42.909/50.649/6.591 ms