External wifi card with omega
Has anybody tried and successfully connected a usb wireless card/device to the omega?
Any suggestions on what kind will and or will not work?
Hi @Luis-Johannes-Schubert, we haven't tried connecting USB WiFi adaptors to the Omega because we haven't found any need to do it yet. If you want to connect it, just keep in mind that you will need to compile the kernel-drivers into the firmware. We have removed all the drivers for additional wireless cards in the firmware to save space (assuming that the on-board WiFi would be enough for most applications).
@Boken-Lin , I'd like to know how to compile that kernel firmware package. I'm interested in attaching an external wifi device/antenna. Thanks.
Hi @Enrico-Bermudez, First you will need to setup the cross compile environment, as outline here: https://wiki.onion.io/Tutorials/Cross-Compile. Then you simply need to select the drivers under
Network Devicesthat you want to use with the Omega.
@Boken-Lin In the tutorial on setting up the cross compile environment, Step 7: Flash Image, you said to execute the following command:
# wget https://downloads.onion.io/openwrt-ar71xx-generic-onion-omega-squashfs-factory.bin
Instead of that command, should I be uploading the .bin file I just created from Step 6 into the omega? Sorry, newbie question.
Hi @Enrico-Bermudez, yup, you will be downloading the
.binfile you created from step 6. Usually, if you have python installed on your computer (that's doing the cross compilation), you can run the following command to start a simple HTTP server to serve the files:
python -m SimpleHTTPServer 8080
You can also change the port to whatever you want. This command will serve your current directory to the public web, which will allow you to do
wgeton the Omega to download the firmware image.
Took me a while to get it to work.
Since I created my cross compile environment on Ubuntu Linux VM on my MacBook Pro (using VMware Fusion), how the VM is networked can affect how python's SimpleHTTPServer will behave.
I kept getting a "Connection refused" when I tried to access the SimpleHTTPServer from the omega.
How I fixed it: Changed the VM's network setup from NAT to Bridged. I did this by going to the VMware Fusion's dropdown menu: Virtual Machine --> Network Adapter --> Bridged (Autodetect)
By putting the VM on a Bridged setup, it picks up a separate IP address from the local wireless router.
Then in my omega, I used that IP address to wget the file I needed from the cross compile environment.
Thanks, @Boken-Lin ! I learned a lot from that.
Now off to flashing my omega!
@Boken-Lin , I flashed my omega just fine.
But now, I tried to download the .bin file from your downloads site to restore my omega to the original setup...and I get an error.
$ wget https://downloads.onion.io/openwrt-ar71xx-generic-onion-ome
$ bad address 'downloads.onion.io'
Need a lifeline!
Hi @Enrico-Bermudez, please download the image from the following URL: http://repo.onion.io/omega/images/omega-v0.0.5-b258.bin.
@Boken-Lin I'm having a problem downloading because I still need to setup my omega's wifi connection. Tried many online tips, but no luck.
Can you tell me what my /etc/config/wireless should look like?
I finally figured it out. So flashing the omega with the .bin file from the cross compile environment led me to a situation where I didn't have any wifi connection. So it was impossible for me to wget the official onion omega image. And doing the factory reset doesn't bring it back either.
So starting from the cross compiled image on the omega, here's how I setup the wifi connection... which is the first step to bring back the onion omega standard image.
First, I edited /etc/config/wireless to look like this:
config wifi-device radio0 option type mac80211 option channel 11 option hwmode 11ng option path 'platform/ar933x_wmac' option htmode HT20 option disabled 0 config wifi-iface option device radio0 option network wwan option mode sta option ssid 'mySSIDHere' option encryption psk2 option key 'myWifiPasswordHere'
Then I added these lines in /etc/config/network to setup the wwan interface:
config interface wwan option proto 'dhcp' option ifname 'wlan0'
The final step is the key. Run this command to get a specific IP address (edited 12/29/2015):
ip addr add 192.168.1.147/24 brd 192.168.1.255 dev wlan0
After going through the steps described above, I was able to ping local devices. Then I was able to wget the .bin file.
Then flashed the omega with the .bin file.
Now the problem is that there are still missing components such as the wifisetup and the oupgrade commands or scripts that originally came with the omega.
I'm going to start a new forum discussion since this is outside the current thread's subject.
Hi @Enrico-Bermudez, that's very strange. If you are flashing on a default factory image, it should contain all the commands such as
oupgrade. Are you accessing the terminal using the Console app or through SSH or through the serial terminal?
@Boken-Lin I'm accessing omega through serial terminal using screen on Ubuntu 14.04.
@Enrico-Bermudez Can you post the output when you try to run
@Boken-Lin Here you go:
root@OpenWrt:/# wifisetup /bin/ash: wifisetup: not found root@OpenWrt:/# oupgrade /bin/ash: oupgrade: not found
It seems that when I factory reset the omega, it just goes back to a clean version of the cross-compiled bare bones openwrt OS. Network and wireless are reset, and none of the omega packages installed.
@Enrico-Bermudez Can you show me the content of
/etc/sysupgrade.conf? Files/directories listed in this configration files are not overwritten during the upgrade. That might be the issue?
## This file contains files and directories that should ## be preserved during an upgrade. # /etc/example.conf # /etc/openvpn/
@Enrico-Bermudez Can you try
sysupgradeone more time with
-nflag. This will do a full reflash of your Omega. Please backup your data because this will reset all your settings.
@Boken-Lin It still didn't work. I reflashed for several times, but the -n didn't seem to matter. All files I had remained in the omega after the reflash attempts.
@Enrico-Bermudez Can you try manually downloading the script the following file and save it to
oupgradeis at https://github.com/OnionIoT/oupgrade/blob/master/oupgrade.sh, and
wifisetupis at https://github.com/OnionIoT/wifisetup/blob/master/wifisetup.sh.
First try to run the commands to see if the commands work, and then try performing another sysupgrade after to see if they continue working after the upgrade.
Unfortunately I'm not sure what is causing such bizarre behavior... :(