Hi,
I have a couple of questions all regarding the same topic.
I’m currently using the stock ccimx6ulsbc image. I followed the instructions to set up softAP mode on wlan0 from here:
https://www.digi.com/resources/documentation/digidocs/90001945-13/default.htm#reference/yocto/r_network_bridging.htm%3FTocPath%3DDigi%2520Embedded%2520Yocto|System%2520
I can see the access point and connect to it on my computer. I then configured wlan0 in /etc/network/interfaces to have a static IP:
auto wlan0
iface wlan0 inet static
address 192.168.46.35
netmask 255.255.255.0
post-up /etc/init.d/hostapd start
pre-down /etc/init.d/hostapd stop
then I did ‘ifconfig wlan0 down’ and ‘ifup wlan0’ to get the interface back up with its new static IP.
Now I’m pretty sure the stock image runs an httpd server – when I connect to my board via ethernet, if I type the ethernet interfaces IP into my computers browser I get to a page which displays the text “It Works!” However, when I try the same thing with the IP address on wlan0, I get a timeout. Whats the deal here? I’m assuming there is something basic here i’m misunderstanding.
My ultimate goal is to host a webpage that will be displaying live data which can be accesses from any other browser enabled wireless device.
A few other questions:
Which physical antennas correspond to which wlan interfaces? There is wlan0 and wlan1 and there is the antenna on the actual CCi.MX6UL module and there’s one on the sbc board via the ANT EXT pin. Which is which? I couldn’t find documentation on it, and its probably in the DEY configurations somewhere but I don’t know where to look for these kinds of things.
Also I’m using the stock image because for some reason, I couldn’t get a proper image to build. I built an image with the following inside of my local.conf file:
#Debugging
EXTRA_IMAGE_FEATURES ?= “debug-tweaks”
EXTRA_IMAGE_FEATURES += “tools-debug”
EXTRA_IMAGE_FEATURES += “eclipse-debug”
EXTRA_IMAGE_FEATURES += “dey-network”
EXTRA_IMAGE_FEATURES += “dey-wireless”
#EXTRA_IMAGE_FEATURES += “dey-examples”
#Web hosting services
CORE_IMAGE_EXTRA_INSTALL += “apache2”
CORE_IMAGE_EXTRA_INSTALL += “php”
CORE_IMAGE_EXTRA_INSTALL += “sqlite3”
I built using bitbake core-image-base. For whatever reason, my resulting image did not have wlan0 or wlan1 as an interface when running on the sbc board – only eth0. Any advice here?
Thank you!
-AES_Dev
Well I’ve figured out the answer to one of my questions – regarding the antenna and wlan interface.
WLAN0 is indeed the interface tied to the antenna.
In the ConnectCore6UL reference manual it says:
You can use the control signal RF1_INT/nEXT to select between the on-module antenna
port (U.FL connector) and the external antenna port (LGA pad). This control signal has a 10K pull-up
populated on the module, which means that the on-module antenna port (U.FL connector) is active by
default. Pulling RF1_INT/nEXT low activates the external antenna port and disables the on-module
antenna port.
RF1_INT/nEXT of the CCiMX6UL on the SBC/Pro board is actually tied to SW4 (as seen here in http://ftp1.digi.com/support/documentation/55001889-02-ENG_1P.pdf)
Looks like by factory default, the switch is in the ‘on’ position, meaning the RF1_INT/nEXT is high and on-board antenna is the one I should be using.
I’m starting to think that all I have to do is bridge wlan0 to eth0, and then i’ll likely be able to connect to the local web page. I’ll try that and see what happens.
Well I’ve figured it out! Since no one else has answered (or possibly the mods are just really slow at approving messages) I was determined to get this working. After scouring across various guides, I realized where I was lacking understanding. I ended up just keeping with busybox instead of Apache. You can replicate this with the default image that comes on the board.
Here are the steps to get a locally hosted web page going on your Connect Core SBC Board:
1.) Create a softAP access point
a.) Modify your wpa_suppplicant config file in /etc/wpa_supplicant.conf
# SoftAP mode (WPA-PSK/AES)
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
fast_reauth=1
update_config=1
ap_scan=2
network={
ssid="AES-AP" #this is what you will see on the devices you want to connect
mode=2
frequency=2412
key_mgmt=WPA-PSK
proto=RSN
pairwise=CCMP
psk="aes_dev_ap" #enter in passphrase of choice
}
b.) Generate your WPA key for your devices to use by using 'wpa_passphrase' on your CCiMX6UL
root@ccimx6ulsbc:~# wpa_passphrase AES-AP aes_dev_ap
c.) Kill wpa_supplicant if its currently running
root@ccimx6ulsbc:~# killall wpa_supplicant
d.) Run the wpa_supplicant daemon again with the following parameters:
root@ccimx6ulsbc:~# wpa_supplicant -i wlan0 -D nl80211 -c /etc/wpa_supplicant.conf -B
e.) Check and make sure the daemon is running:
root@ccimx6ulsbc:~# ps | grep wpa_supplicant
2.) bind an IP address to your wlan interface (in this case wlan0):
root@ccimx6ulsbc:~# ifconfig wlan0 192.168.40.1 netmask 255.255.255.0 broadcast 192.168.40.255 up
3.) Now we must enable dhcp on this network interface so that devices that connect get an IP assigned
a.) Create a configuration file for the dhcp daemon to use:
root@ccimx6ulsbc:~# vi /etc/dhcp/udhcp.conf
start 192.168.40.1 #range start for IP assigning addresses
end 192.168.40.200 #range end
interface wlan0 #specify our wireless interface
option subnet 255.255.255.0
option router 192.168.40.1
option lease 43200
option dns 192.168.40.1
option domain local
:wq
b.) Create a lease file for the dhcp daemon (the daemon will complain if it doesn't exist):
root@ccimx6ulsbc:~# touch /var/lib/misc/udhcpd.leases
c.) Start the daemon with our configuration file(use -S to post messages to syslog):
root@ccimx6ulsbc:~# /usr/sbin/udhcpd -S /etc/dhcp/dhcpd.conf
d.) Make sure the daemon is running:
root@ccimx6ulsbc:~# ps | grep udhcpd
(optional)
4.) By default the httpd daemon seems to bind to all interfaces, but if you want to bind it to a specific address or interface you can end the server by killing the process (find the process PID using ‘ps’ and then kill it using 'kill -9 ') and restart the httpd daemon by running:
root@ccimx6ulsbc:~# /usr/sbin/httpd -p 192.168.40.1:80 -h /srv/www
At this point, after connecting your device to your connect core board (using the key we generated in 1.b) you should be able to see your web page by entering the IP address of your wlan0 interface into your browser!
Now my only remaining task is determining why my yocto configuration did not yield an image that had the wlan0 interfaces. I will explore this next!
Well another step slightly forward, I’ve compiled another image. I am booting it via network (https://www.digi.com/resources/documentation/digidocs/90001548/#task/eclipse_ide/new/boot_your_images_from_network.htm%3FTocPath%3DDigi%2520Embedded%2520Yocto|System%2520development|Program%2520devices|Boot%2520options|_____1) but the wlan is still not showing. I noticed that upon boot, it actually says “wlan: driver load failure.” I then tried “sudo modprobe wlan” and I received the following message:
modprobe: can’t load module wlan (extra/wlan.ko): No such device
What am I missing here?