XPicoWiFi/Usb

From Lantronix Developer Wiki
Revision as of 07:52, 7 July 2016 by Ltrxmg42 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is an new feature of 1.4 firmware.

Contents

Why USB to Wi-Fi with xPico Wi-Fi

See this video for how USB to Wi-Fi works: YouTube Link

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 xPico Wi-Fi

UsbBridge.png

To enable the USB to Wi-Fi bridging function, go to the web manager, click on Bridge, then Configuration, and set the radio checkbox to Enabled. Click Submit, then reboot the xPico Wi-Fi. See the screenshot to the right.

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
Personal tools
Namespaces

Variants
Actions
Navigation
Tools