Difference between revisions of "XPicoWiFi/Usb"

From Lantronix Wiki!
Jump to navigation Jump to search
Line 3: Line 3:
  
 
== Why USB to Wi-Fi with xPico Wi-Fi ==
 
== Why USB to Wi-Fi with xPico Wi-Fi ==
 
+
<youtube>QBgPcWqLIEE</youtube>
  
 
== USB Communications Protocol ==
 
== USB Communications Protocol ==

Revision as of 20:57, 4 May 2015

This is an Alpha Feature of 1.4 firmware. Features are subject to change. Please contact a Lantronix Field Applications Engineer to get firmware that supports this feature

Why USB to Wi-Fi with xPico Wi-Fi

<youtube>QBgPcWqLIEE</youtube>

USB Communications Protocol

The USB interface of the xPico Wi-Fi is a device-side, Full speed (12Mbps) port. When plugged into a USB Host, it will enumerate as a RNDIS Ethernet device.

Drivers

No special drivers are needed for the xPico Wi-Fi. The operating system of the host needs to support RNDIS as a network interface. Most Debian Linux distributions have built in support in the kernel. Most Windows operating systems also have built in support for RNDIS.

Configuring WLAN Profiles

Unlike most USB to Wi-Fi adapters, the xPico Wi-Fi enumerates as an Ethernet interface. This means that the host doesn't have to configure the Wi-Fi interface with the SSID and password or other details of the WLAN Profile. Just plug into USB, and it appears as an Ethernet interface, and the xPico Wi-Fi automatically connects to one of the saved WLAN Profiles.

To provision a WLAN Profile, you can use the SoftAP interface of the xPico Wi-Fi and use the Web Configuration Manager's QuickConnect feature (see the Quick Start Guide), or use the Lantronix xPico Wi-Fi Utilities App. The other option is to connect one of the UARTs to your host's UART and use it in Command Line mode to configure the WLAN Profiles.

Raspberry Pi

If running Raspbian, then edit the /etc/modprobe.d/blacklist.conf file and add this line:

blacklist cdc_subset

This will prevent the built in driver in the kernel from loading (as it currently doesn't work), and will instead load the RNDIS driver from the modules, which is more up to date and does work.

Also, you will want to add eth1 to /etc/network/interfaces so that it is automatically configured and it tries to get a DHCP address (or assign it a static IP if that's what you would like to do):

iface eth1 inet dhcp
auto eth1
 

When plugged in, the xPico Wi-Fi will show up as eth1 interface, see below:

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:17:87:bf
          inet addr:192.168.20.164  Bcast:192.168.20.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:513 errors:0 dropped:0 overruns:0 frame:0
          TX packets:371 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:53048 (51.8 KiB)  TX bytes:63921 (62.4 KiB)
 
eth1      Link encap:Ethernet  HWaddr 00:80:a3:a0:0a:89
          inet addr:192.168.20.160  Bcast:192.168.20.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1480  Metric:1
          RX packets:14 errors:7 dropped:0 overruns:0 frame:7
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1423 (1.3 KiB)  TX bytes:772 (772.0 B)
 
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 

Other Embedded Linux devices

Make sure that the kernel has the following enabled:

CONFIG_USB_NET_RNDIS_HOST
CONFIG_USB_NET_CDC_SUBSET
CONFIG_USB_NET_CDCETHER
CONFIG_USB_NET_DRIVERS