Difference between revisions of "XPicoWiFi/Usb"

From Lantronix Wiki!
Jump to navigation Jump to search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
  
'''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'''
+
'''This is an new feature of 1.4 firmware. '''
  
 +
== Why USB to Wi-Fi with xPico Wi-Fi ==
 +
<!-- <youtube>QBgPcWqLIEE</youtube> -->
 +
 +
See this video for how USB to Wi-Fi works: [https://www.youtube.com/watch?v=QBgPcWqLIEE YouTube Link]
  
 
== USB Communications Protocol ==
 
== USB Communications Protocol ==
Line 7: Line 11:
  
 
=== Drivers ===
 
=== 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.
 
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 ===
 +
 +
[[File:usbBridge.png|300px|left]]
 +
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.
 +
<br clear=all>
 +
 +
=== 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 [http://www.lantronix.com/pdf/xPico-Wi-Fi-EvalKit_QS.pdf 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 [[XPicoWiFi/DeveloperGuide#Serial_Port|Command Line]] mode to configure the WLAN Profiles.
  
 
== Raspberry Pi ==
 
== Raspberry Pi ==
Line 14: Line 31:
  
 
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.
 
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):
 +
 +
<nowiki>
 +
iface eth1 inet dhcp
 +
auto eth1
 +
</nowiki>
  
 
When plugged in, the xPico Wi-Fi will show up as eth1 interface, see below:
 
When plugged in, the xPico Wi-Fi will show up as eth1 interface, see below:
Line 43: Line 67:
 
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 
  </nowiki>
 
  </nowiki>
 +
 +
== 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

Latest revision as of 15:52, 7 July 2016

This is an new feature of 1.4 firmware.

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