<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SavvyAdmin.com &#187; Wireless</title>
	<atom:link href="http://savvyadmin.com/tag/wireless/feed/" rel="self" type="application/rss+xml" />
	<link>http://savvyadmin.com</link>
	<description>For savvy admins everywhere...</description>
	<lastBuildDate>Thu, 05 Aug 2010 03:30:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>VirtualBox Wireless Bridging</title>
		<link>http://savvyadmin.com/virtualbox-wireless-bridging/</link>
		<comments>http://savvyadmin.com/virtualbox-wireless-bridging/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 08:12:36 +0000</pubDate>
		<dc:creator>gmendoza</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[Bridging]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Proxy ARP]]></category>
		<category><![CDATA[Routing]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://www.savvyadmin.com/?p=101</guid>
		<description><![CDATA[UPDATE (12/13/2009): The latest versions of VirtualBox 3 have made great improvements in their guest networking options. It is possible to natively bridge guests over your hosts wireless connection &#8220;out of the box&#8221;, even allowing guests bridge over wireless with DHCP. The suggestions on this post still work fairly well, and will be left up [...]


Related posts:<ol><li><a href='http://savvyadmin.com/virtualbox-host-interface-networking-with-nat/' rel='bookmark' title='Permanent Link: VirtualBox Host Interface Networking with NAT'>VirtualBox Host Interface Networking with NAT</a></li>
<li><a href='http://savvyadmin.com/virtualbox-wireless-bridging-with-dhcp/' rel='bookmark' title='Permanent Link: VirtualBox Wireless Bridging with DHCP'>VirtualBox Wireless Bridging with DHCP</a></li>
<li><a href='http://savvyadmin.com/ubuntu-dell-5700-evdo/' rel='bookmark' title='Permanent Link: Ubuntu Linux + Dell Wireless 5700 CDMA/EVDO Card'>Ubuntu Linux + Dell Wireless 5700 CDMA/EVDO Card</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE (12/13/2009):</strong> The latest versions of VirtualBox 3 have made great improvements in their guest networking options.  It is possible to natively bridge guests over your hosts wireless connection &#8220;out of the box&#8221;, even allowing guests bridge over wireless with DHCP.  The suggestions on this post still work fairly well, and will be left up as it has bits of information that is still useful in some scenarios.  Please refer to the latest VirtualBox documentation for more help.</p>
<p><strong>ORIGINAL:</strong> Here&#8217;s a straight forward explanation on how to bridge (well, technically route) your VirtualBox (VB) guest network interface through your host machines wireless network connection.  The guest machine will be configured to use a static IP address that is on the same subnet as the wireless network, and will also be able to communicate directly with any device on the network.</p>
<p>First things first, make sure you have a working VB installation and that your guest operating system is configured with a static IP address outside of your DHCP scope.  You also need to install the <em>User Mode Linux</em> utilities.  In Ubuntu/Debian, they are found in the <em>uml-utilities</em> package.</p>
<blockquote><p><code><strong>sudo apt-get install uml-utilities</strong></code></p></blockquote>
<p>You also need to ensure your <em>/dev/net/tun</em> interface has the appropriate permissions for the <em>vboxusers</em> group.  You can set the permissions manually and should modify the udev rules to have them apllied at boot up.</p>
<blockquote><p><code><strong>sudo chown root.vboxusers /dev/net/tun<br />
sudo chmod g+rw /dev/net/tun</strong></code></p></blockquote>
<p>Add the following line of code to <em>/etc/udev/rules.d/20-names.rules</em>:</p>
<blockquote><p><code>KERNEL=="tun", NAME="net/%k", GROUP="vboxusers", MODE="0660"</code></p></blockquote>
<p>Verify <em>/dev/net/tun</em> permissions:</p>
<blockquote><p><code><strong>ls -l /dev/net/tun</strong><br />
crw-rw---- 1 root vboxusers 10, 200 2008-04-24 16:34 /dev/net/tun</code></p></blockquote>
<p><strong>How does this all work?</strong><br />
The magic of this process is achieved through a technique called &#8220;Proxy ARP&#8221;.  This technique allows a router, in this case your Linux host computer, to intercept Layer-2 ARP packets, and forward them through the host computer and into adjacent networks.  Long story short, to the external network, your guest computers MAC address is masked behind the host computers MAC address.  The IP address of your guests remain unique to the network and all devices on either side of the host can communicate directly with each other.</p>
<p><strong>Network Assumptions:</strong><br />
I&#8217;m going to assume we&#8217;re using a very simple setup typical to most small networks and wireless routers.  Feel free to adjust the following values according to your own requirements.</p>
<p>Wireless Network ID: <em>192.168.1.0/24</em><br />
Wireless Network DHCP Range: <em>192.168.1.2-100</em><br />
Wireless Network Default Gateway: <em>192.168.1.1</em><br />
Host Computer Wireless Interface:  <em>wlan0</em> (change accordingly)<br />
Host Computer IP: <em>Any IP</em> (Doesn&#8217;t matter; You can use DHCP or static)<br />
Guest Computer IP: <em>192.168.1.200</em> (Static IP outside DHCP range to avoid conflicts)<br />
Guest Computer DNS: <em>Any DNS server</em><br />
Guest Default Gateway: <em>192.168.1.1</em> (Same value that other devices on the network use)</p>
<p><strong>Quick scripts for the impatient:</strong><br />
To bring up the the tap interface and apply appropriate settings.  Run them with root privileges.</p>
<blockquote><p><code><strong>sudo tunctl -u $USER<br />
sudo sysctl net.ipv4.ip_forward=1<br />
sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1<br />
sudo sysctl net.ipv4.conf.tap0.proxy_arp=1<br />
sudo ip link set tap0 up<br />
sudo route add -host 192.168.1.200 dev tap0</strong></code></p></blockquote>
<p>To tear down the interface and configuration.</p>
<blockquote><p><code><strong>sudo sysctl net.ipv4.ip_forward=0<br />
sudo sysctl net.ipv4.conf.wlan0.proxy_arp=0<br />
sudo sysctl net.ipv4.conf.tap0.proxy_arp=0<br />
sudo tunctl -d tap0</strong></code></p></blockquote>
<p><strong>Explanation of steps:</strong><br />
Create TAP interface on the host computer (tap0):</p>
<blockquote><p><code><strong>sudo tunctl -u $USER</strong></code></p></blockquote>
<p>The $USER variable typically maps to your own user account.  If not, simply replace $USER with the account that will be running your guest machine; typically your own username.</p>
<p>Enable IP forwarding, which turns your host computer into a router.</p>
<blockquote><p><code><strong>sudo sysctl net.ipv4.ip_forward=1</strong></code></p></blockquote>
<p>Enable proxy ARP on both the TAP and wireless interfaces.</p>
<blockquote><p><code><strong>sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1<br />
sudo sysctl net.ipv4.conf.tap0.proxy_arp=1</strong></code></p></blockquote>
<p>Enable the TAP interface.</p>
<blockquote><p><code><strong>sudo ifconfig tap0 up</strong></code></p></blockquote>
<p>Add a static host route that points to your guest computer via the tap0 interface.</p>
<blockquote><p><code><strong>sudo route add -host 192.168.1.200 dev tap0</strong></code></p></blockquote>
<p>This is required for your host computer to be able to know how to forward packets to your guest.  Ultimately, this is what allows the kernels proxy ARP feature to work.</p>
<p>Edit the VB guest network settings so that Adapter 0 is attached to the <em>Host Interface</em>, and that the Interface Name is set to <em>tap0.</em> The screenshot below is an example of such a configuration.</p>
<p style="text-align: center;"><a href="http://www.savvyadmin.com/wp-content/uploads/2008/07/vbox-network-settings.png"><img class="size-medium wp-image-103 aligncenter" title="vbox-network-settings" src="http://www.savvyadmin.com/wp-content/uploads/2008/07/vbox-network-settings-300x280.png" alt="" width="300" height="280" /></a></p>
<p>Finally, turn on the guest system, and if you have already configured it&#8217;s IP address, you should be able to ping it.  The guest should also be able to ping every other device on the network.  Provided you have used the correct DNS and default gateway for your network, you will also have internet access available.</p>
<p>Some community documents claim that you need to use an application called <em>parprouted</em> to accomplish this, but that is not the case.  Linux has native proxy ARP support, and as demonstrated here, using it couldn&#8217;t be easier.  <em>Parprouted</em> provides the same service, however it runs as a daemon and adds host routes for every IP involved in a proxy ARP exchange.  Depending on the network size, your routing table can become large very quickly.  In addition to your increased routing table entries, the service also sends ARP queries to refresh the addresses every 50 seconds, adding senseless clutter to your network as well.  While it&#8217;s a useful tool for certain applications, you don&#8217;t need it if you&#8217;re doing light VB bridging.</p>
<p><strong>Full Script Example:</strong> <a title="tap-setup.sh" href="http://www.savvyadmin.com/downloads/tap-setup.sh">tap-setup.sh</a><br />
Save the following script to somewhere in your path and modify the appropriate values accordingly.  You must run the script with root privileges and supply the appropriate start and stop variable to bring up and tear down the TAP interface.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;"># tap-setup.sh</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Change username accordingly</span>
<span style="color: #007800;">USER</span>=<span style="color: #ff0000;">&quot;username_here&quot;</span>
&nbsp;
tap_up<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>
tunctl <span style="color: #660033;">-u</span> <span style="color: #007800;">$USER</span>
sysctl net.ipv4.ip_forward=<span style="color: #000000;">1</span>
sysctl net.ipv4.conf.wlan0.proxy_arp=<span style="color: #000000;">1</span>
sysctl net.ipv4.conf.tap0.proxy_arp=<span style="color: #000000;">1</span>
ip <span style="color: #c20cb9; font-weight: bold;">link</span> <span style="color: #000000; font-weight: bold;">set</span> tap0 up
route add <span style="color: #660033;">-host</span> 192.168.1.200 dev tap0
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
tap_down<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>
sysctl net.ipv4.ip_forward=<span style="color: #000000;">0</span>
sysctl net.ipv4.conf.wlan0.proxy_arp=<span style="color: #000000;">0</span>
sysctl net.ipv4.conf.tap0.proxy_arp=<span style="color: #000000;">0</span>
tunctl <span style="color: #660033;">-d</span> tap0
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$EUID</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;This script must be run as root&quot;</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
  <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">else</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
&nbsp;
start<span style="color: #7a0874; font-weight: bold;">&#41;</span>
	tap_up
	<span style="color: #000000; font-weight: bold;">;;</span>
stop<span style="color: #7a0874; font-weight: bold;">&#41;</span>
	tap_down
	<span style="color: #000000; font-weight: bold;">;;</span>
<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Usage: $0 {start|stop}&quot;</span>
	<span style="color: #000000; font-weight: bold;">;;</span>
<span style="color: #000000; font-weight: bold;">esac</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p><strong>Multiple Virtual Guest Machines:</strong><br />
More than likely, you will be running more than just one virtual machine.  All that is required for this to work is to add an additional static host route for each guest IP address.  Add these manually, or simply modify the script to add them for you.  Make sure you are choosing IP addresses outside your DHCP address pool to avoid conflicts.</p>
<blockquote><p><code><strong>sudo route add -host 192.168.1.200 dev tap0<br />
sudo route add -host 192.168.1.201 dev tap0<br />
sudo route add -host 192.168.1.202 dev tap0<br />
sudo route add -host 192.168.1.203 dev tap0</strong></code></p></blockquote>
<p>You can also use a subnet instead of lots of host routes, but you need to be careful in doing so.  Adding the entire subnet of your host network (in this case a 24 bit mask) can cause unpredeictable routing behavior.  If you know your DHCP pool never extends above the first 100 addresses, you can simply choose to use a smaller subnet matching the higher IP addresses.  This way you dedicate these addresses for your guests, and avoid weird routing issues.  The following static route example will allow you to use host addresses between .129 and .254.</p>
<blockquote><p><code><strong>sudo route add -net 192.168.1.128 netmask 255.255.255.128 dev tap0</strong></code></p></blockquote>
<p>Here&#8217;s an example of the routing table.  Notice that the output is minimal and extremely clean.</p>
<blockquote><p><code><strong>route -n</strong><br />
Kernel IP routing table<br />
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface<br />
192.168.1.128   0.0.0.0         255.255.255.128 U     0      0        0 tap0<br />
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0<br />
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0</code></p></blockquote>
<p>You do NOT have to modify your guest or host subnet masks.  Leave them to their respective values.  The static route is used simply to help keep your host computer organized and routing appropriately to each side of the network.</p>
<p><strong>Additional FAQ&#8217;s:</strong><br />
<strong>Q: Does my tap0 interface require it&#8217;s own IP address?</strong><br />
A: No.  The static route to your guests as shown in the above examples use the <em>tap0</em> interface as the destination.  Packets are simply forwarded out the <em>tap0</em> interface, and layer-3 information is unaltered.</p>
<p><strong>Q: How does my host computer communicate directly with the guest machine?</strong><br />
A: If your <em>wlan0</em> interface has an IP address, your host computers routing table will take care of everything for you.  You will communicate directly with the guest using the <em>wlan0</em> IP as the source address.</p>
<p><strong>Q: Does my host computer even require an IP address?</strong><br />
A: No.  Your <em>wlan0</em> interface doesn&#8217;t need an IP address for any of this to work. Your host computer won&#8217;t be able to communicate directly with anything on the network via layer-3, but will act as a transparent bridge.  If you just want your guest on the network, remove all IP addresses and routes from your host, then simply create appropriate static routes for both sides of the host directing traffic out each interface.  Using the same strategy of splitting your network in half to avoid DHCP scope conflicts, we add two /25 bit routes, the lower half of the block out <em>wlan0</em>, and the upper half out <em>tap0</em>.  You also need a default gateway defined if your guests need internet access.</p>
<blockquote><p><code><strong>sudo route add -net 192.168.1.0 netmask 255.255.255.128 dev wlan0<br />
sudo route add -net 192.168.1.128 netmask 255.255.255.128 dev tap0<br />
sudo route add default gw 192.168.1.1</strong></code></p>
<p><code><strong>route -n</strong><br />
Kernel IP routing table<br />
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface<br />
192.168.1.0     0.0.0.0         255.255.255.128 U     0      0        0 wlan0<br />
192.168.1.128   0.0.0.0         255.255.255.128 U     0      0        0 tap0<br />
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0</code></p></blockquote>
<p>If you run tcpdump to inspect the magic taking place, you&#8217;ll notice ARP exchanges are proxied from a 0.0.0.0 address on your host computer, which is completely acceptable and works well.  However, this represents a highly irregular configuration, and if you have multiple host computers doing the same thing you will run into layer-2 issues.  Think layer-2 man in the middle attack&#8230; but on accident.  :-)  This example is simply for educational purposes.</p>
<p><strong>Q: Okay, so I know I don&#8217;t need it, but what if I <em>want</em> my tap0 interface to have an IP address?</strong><br />
A: You just want to be careful about the subnet mask you assign to the tap0 interface.  I really don&#8217;t recommend assigning the same subnet mask as your physical interface, because doing so automatically adds a second route for that subnet, and you can run into routing decision and interface selection issues.  I recommend using a 32 bit mask host address.</p>
<blockquote><p><code><strong>sudo ip addr add 192.168.1.150/32 dev tap0</strong></code></p></blockquote>
<p>This is the cleanest way, because the routing table is only adjusted for that single IP address.  Proxy ARP again will work perfectly with that address since the host computer has the route.  Also, 32 bit mask address assignments on the host will not show ip in the routing table, so don&#8217;t worry if you don&#8217;t see it with the route command.</p>
<p><strong>Q: I was messing around with the <em>tunctl</em> commands, and now VirtualBox complains and I can&#8217;t start the guest machine.</strong><br />
A: You may have created multiple TAP interfaces inadvertently.  If you run &#8220;<em>tunctl -u $USER</em>&#8221; and the output tells you that it has set a TAP interface with a higher numerical value than tap0 (e.g. tap2, tap3, etc), then you simply need to remove them all, and start over.</p>
<blockquote><p><code><strong>sudo tunctl -d tap2<br />
sudo tunctl -d tap1<br />
sudo tunctl -d tap0<br />
sudo tunctl -u $USER</strong></code></p></blockquote>
<p>If your tunctl output shows you creating tap0, then you should be good to go.</p>
<blockquote><p><em>Set &#8216;tap0&#8242; persistent and owned by uid 1000</em></p></blockquote>
<p><strong>Q: Can I use DHCP on my guest computers?</strong><br />
A:  Sure!  It is possible, and I will cover this in an upcoming article.  You simply need to use a DHCP relay utility that converts your DHCP broadcast messages into unicast messages directed to your networks DHCP server.  <em>dhcp3-relay</em> is the tool for the job.  However, using DHCP complicates things a bit because now your static route will need to be added dynamically.  Now THAT sounds like a job for <em>parprouted</em>!  Stay tuned.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F&amp;partner=sociable" title="Print"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F&amp;t=VirtualBox%20Wireless%20Bridging" title="Facebook"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://twitter.com/home?status=VirtualBox%20Wireless%20Bridging%20-%20http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F" title="Twitter"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F&amp;title=VirtualBox%20Wireless%20Bridging&amp;notes=UPDATE%20%2812%2F13%2F2009%29%3A%20The%20latest%20versions%20of%20VirtualBox%203%20have%20made%20great%20improvements%20in%20their%20guest%20networking%20options.%20%20It%20is%20possible%20to%20natively%20bridge%20guests%20over%20your%20hosts%20wireless%20connection%20%22out%20of%20the%20box%22%2C%20even%20allowing%20guests%20bridge%20over%20" title="del.icio.us"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://savvyadmin.com/feed/" title="RSS"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F&amp;title=VirtualBox%20Wireless%20Bridging&amp;bodytext=UPDATE%20%2812%2F13%2F2009%29%3A%20The%20latest%20versions%20of%20VirtualBox%203%20have%20made%20great%20improvements%20in%20their%20guest%20networking%20options.%20%20It%20is%20possible%20to%20natively%20bridge%20guests%20over%20your%20hosts%20wireless%20connection%20%22out%20of%20the%20box%22%2C%20even%20allowing%20guests%20bridge%20over%20" title="Digg"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="mailto:?subject=VirtualBox%20Wireless%20Bridging&amp;body=http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F" title="email"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F&amp;title=VirtualBox%20Wireless%20Bridging&amp;source=SavvyAdmin.com+For+savvy+admins+everywhere...&amp;summary=UPDATE%20%2812%2F13%2F2009%29%3A%20The%20latest%20versions%20of%20VirtualBox%203%20have%20made%20great%20improvements%20in%20their%20guest%20networking%20options.%20%20It%20is%20possible%20to%20natively%20bridge%20guests%20over%20your%20hosts%20wireless%20connection%20%22out%20of%20the%20box%22%2C%20even%20allowing%20guests%20bridge%20over%20" title="LinkedIn"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F" title="Identi.ca"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F&amp;title=VirtualBox%20Wireless%20Bridging&amp;annotation=UPDATE%20%2812%2F13%2F2009%29%3A%20The%20latest%20versions%20of%20VirtualBox%203%20have%20made%20great%20improvements%20in%20their%20guest%20networking%20options.%20%20It%20is%20possible%20to%20natively%20bridge%20guests%20over%20your%20hosts%20wireless%20connection%20%22out%20of%20the%20box%22%2C%20even%20allowing%20guests%20bridge%20over%20" title="Google Bookmarks"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fsavvyadmin.com%2Fvirtualbox-wireless-bridging%2F&amp;title=VirtualBox%20Wireless%20Bridging" title="StumbleUpon"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://savvyadmin.com/virtualbox-host-interface-networking-with-nat/' rel='bookmark' title='Permanent Link: VirtualBox Host Interface Networking with NAT'>VirtualBox Host Interface Networking with NAT</a></li>
<li><a href='http://savvyadmin.com/virtualbox-wireless-bridging-with-dhcp/' rel='bookmark' title='Permanent Link: VirtualBox Wireless Bridging with DHCP'>VirtualBox Wireless Bridging with DHCP</a></li>
<li><a href='http://savvyadmin.com/ubuntu-dell-5700-evdo/' rel='bookmark' title='Permanent Link: Ubuntu Linux + Dell Wireless 5700 CDMA/EVDO Card'>Ubuntu Linux + Dell Wireless 5700 CDMA/EVDO Card</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://savvyadmin.com/virtualbox-wireless-bridging/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Ubuntu Linux + Dell Wireless 5700 CDMA/EVDO Card</title>
		<link>http://savvyadmin.com/ubuntu-dell-5700-evdo/</link>
		<comments>http://savvyadmin.com/ubuntu-dell-5700-evdo/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 06:00:13 +0000</pubDate>
		<dc:creator>gmendoza</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[EVDO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PPP]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://www.savvyadmin.com/2007/06/03/ubuntu-dell-5700-evdo/</guid>
		<description><![CDATA[UPDATE (11-04-2008): NetworkManager 0.7 has been introduced with Ubuntu 8.10. This major overhaul includes native support for Mobile Broadband card as shown in the screen-shots below. The great news is that virtually all CDMA cards work right out of the box with no configuration necessary. Thank you, NetworkManager developers! I suggest upgrading to the latest [...]


Related posts:<ol><li><a href='http://savvyadmin.com/virtualbox-wireless-bridging/' rel='bookmark' title='Permanent Link: VirtualBox Wireless Bridging'>VirtualBox Wireless Bridging</a></li>
<li><a href='http://savvyadmin.com/console-framebuffer-in-ubuntu/' rel='bookmark' title='Permanent Link: Console Framebuffer in Ubuntu'>Console Framebuffer in Ubuntu</a></li>
<li><a href='http://savvyadmin.com/word-war-vi-in-ubuntu/' rel='bookmark' title='Permanent Link: Word War Vi in Ubuntu'>Word War Vi in Ubuntu</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE (11-04-2008):</strong> <a href="http://www.gnome.org/projects/NetworkManager/" target="_blank">NetworkManager</a> 0.7 has been introduced with Ubuntu 8.10.  This major overhaul includes native support for Mobile Broadband card as shown in the screen-shots below.  The great news is that virtually all CDMA cards work right out of the box with no configuration necessary.  Thank you, NetworkManager developers!  I suggest upgrading to the latest version of Ubuntu, or use the NetworkManager <a href="https://edge.launchpad.net/~network-manager/+archive" target="_blank">PPA</a> or <a href="http://www.gnome.org/projects/NetworkManager/developers/" target="_blank">SVN</a> to at least upgrade to version 0.7.</p>
<p><img src="http://www.savvyadmin.com/wp-content/uploads/2008/11/mobile-broadband-1.png" alt="" title="mobile-broadband-1" width="314" height="203" class="alignnone size-full wp-image-267" /> <img src="http://www.savvyadmin.com/wp-content/uploads/2008/11/mobile-broadband-connected.png" alt="" title="mobile-broadband-connected" width="310" height="203" class="alignnone size-full wp-image-274" /></p>
<p><strong>ORIGINAL POST:</strong> Great news! The internal Dell Wireless 5700 Mini PCI Express Card for use with CDMA/EVDO networks is very easy to get working with Linux. The following tutorial was written for Ubuntu 7.04 (and works with 7.10 Gutsy), but the procedures are essentially the same for most Linux distributions. Please consult with your distribution documentation to assist with any differences.</p>
<p>Here&#8217;s how to get it going.<span id="more-7"></span>The card is presented to the operating system as a USB device and is used as a dialup modem via the &#8220;usbserial&#8221; kernel module. You load this kernel module with two variables that are specific to your wireless card; the Product and Vendor Identifiers.</p>
<p>You can find these values by listing the USB devices with &#8220;lsusb&#8221;.</p>
<blockquote><p><code>$ lsusb<br />
Bus 005 Device 001: ID 0000:0000<br />
Bus 003 Device 002: ID 413c:8103 Dell Computer Corp. Wireless 350 Bluetooth<br />
Bus 003 Device 001: ID 0000:0000<br />
Bus 004 Device 002: ID 413c:8114 Dell Computer Corp.<br />
Bus 004 Device 001: ID 0000:0000<br />
Bus 002 Device 001: ID 0000:0000<br />
Bus 001 Device 003: ID 046d:08c6 Logitech, Inc.<br />
Bus 001 Device 001: ID 0000:0000</code></p></blockquote>
<p>Although not obvious, the above output shows the 5700 wireless card as being on Bus 004 Device 002. The Vendor ID is 413c, and the Product ID is 8114. You can verify this by running &#8220;sudo lsusb -v | less&#8221; and search through the output for the device details.</p>
<blockquote><p><code>$ sudo lsusb -v | less<br />
Bus 004 Device 002: ID 413c:8114 Dell Computer Corp.<br />
Device Descriptor:<br />
bLength                18<br />
bDescriptorType         1<br />
bcdUSB               1.10<br />
bDeviceClass            0 (Defined at Interface level)<br />
bDeviceSubClass         0<br />
bDeviceProtocol         0<br />
bMaxPacketSize0        64<br />
idVendor           0x413c Dell Computer Corp.<br />
idProduct          0x8114<br />
bcdDevice            0.00<br />
iManufacturer           1 Novatel Wireless Inc.<br />
iProduct                2 Novatel Wireless EXPD CDMA<br />
iSerial                 0<br />
bNumConfigurations      1</code></p></blockquote>
<p>Note:  For a nice graphical view of you USB devices, check out &#8220;usbview&#8221;, which you can install with &#8220;sudo apt-get install usbview&#8221;.  Here&#8217;s a screenshot of usbview in action, showing the specifics of my card:</p>
<p><img src="https://www.savvyadmin.com/wp-content/uploads/2007/06/evdo-card.png" alt="USBView Screenshot" /></p>
<p>Next you need to load the appropriate kernel module with values from above in the following format:</p>
<blockquote><p><code>$ sudo modprobe usbserial vendor=0x413c product=0x8114</code></p></blockquote>
<p>Typically, your card will map itself to &#8220;ttyUSB0&#8243;.  You can check by looking through your kernel logs.</p>
<blockquote><p><code>$ grep tty /var/log/messages<br />
Jun  2 18:10:49 laptop kernel: [   18.920000] usb 4-2: generic converter now attached to ttyUSB0</code></p></blockquote>
<p>You should ensure that your computer loads the usbserial kernel module at bootup by adding the same variables to /etc/modules.</p>
<blockquote><p><code>$ sudo sh -c 'echo usbserial vendor=0x413c product=0x8114 >> /etc/modules'</code></p></blockquote>
<p>Now to actually configure your device for use, simply use your favorite dial-up configuration utility. I prefer &#8220;pppconfig&#8221;, so here&#8217;s the basic steps:</p>
<blockquote><p><code>$ sudo pppconfig</code></p></blockquote>
<blockquote><p>Select &#8220;Create a connection&#8221;<br />
Provider Name: verizon<br />
Select &#8220;Dynamic DNS&#8221;.<br />
Select &#8220;PAP&#8221; as the Authentication method<br />
Username: <a href="mailto:phone_number_here@vzw3g.com">phone_number_here@vzw3g.com</a><br />
Password: anything… &#8220;password&#8221; for example.<br />
Speed: 115200<br />
Select &#8220;Tone&#8221;<br />
Phone Number: #777<br />
Define device as &#8220;ttyUSB0&#8243;</p></blockquote>
<p>I also add the following two lines to /etc/ppp/peers/verizon to prevent annoying automatic disconnections due to a lack of lcp responses.</p>
<blockquote><p><code>$ sudo sh -c 'echo lcp-echo-failure 0 >> /etc/ppp/peers/verizon'<br />
$ sudo sh -c 'echo lcp-echo-interval 0 >> /etc/ppp/peers/verizon'</code></p></blockquote>
<p>My completed /etc/ppp/peers/verizon configuration looks like the following:</p>
<blockquote><p><code># This optionfile was generated by pppconfig 2.3.15.<br />
#<br />
#<br />
hide-password<br />
noauth<br />
connect "/usr/sbin/chat -v -f /etc/chatscripts/verizon"<br />
debug<br />
/dev/ttyUSB0<br />
115200<br />
defaultroute<br />
noipdefault<br />
user "5551112222@vzw3g.com"<br />
remotename verizon<br />
ipparam verizon<br />
usepeerdns<br />
lcp-echo-failure 0<br />
lcp-echo-interval 0</code></p></blockquote>
<p>Add the following lines to your /etc/network/interfaces file:</p>
<blockquote><p><code>iface ppp0 inet ppp<br />
provider verizon</code></p></blockquote>
<p>Restart Network Manager so that it reads the change from the last step.</p>
<blockquote><p><code>$ sudo /etc/dbus-1/event.d/25NetworkManager restart</code></p></blockquote>
<p>By doing so you will be able to connect and disconnect from Network Manager:</p>
<p><img src="https://www.savvyadmin.com/wp-content/uploads/2007/06/nm-verizon.png" alt="Network Manager Verizon EVDO Connection" /></p>
<p>You should receive an IP address within a few seconds, and you&#8217;re ready to surf.  One thing I noticed is that there&#8217;s a lack of notification from Network Manager that your dial-up connection is actually up and running after a successful connection.  The status icon does not change, and the &#8220;Connection information&#8221; menu item remains unavailable.  You can of course use &#8220;ifconfig&#8221; to  display your current IP address and status of the ppp0 interface.</p>
<p>If you look at /var/log/messages, you will also find all the nice pppd connection output.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F&amp;partner=sociable" title="Print"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F&amp;t=Ubuntu%20Linux%20%2B%20Dell%20Wireless%205700%20CDMA%2FEVDO%20Card" title="Facebook"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://twitter.com/home?status=Ubuntu%20Linux%20%2B%20Dell%20Wireless%205700%20CDMA%2FEVDO%20Card%20-%20http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F" title="Twitter"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F&amp;title=Ubuntu%20Linux%20%2B%20Dell%20Wireless%205700%20CDMA%2FEVDO%20Card&amp;notes=UPDATE%20%2811-04-2008%29%3A%20NetworkManager%200.7%20has%20been%20introduced%20with%20Ubuntu%208.10.%20%20This%20major%20overhaul%20includes%20native%20support%20for%20Mobile%20Broadband%20card%20as%20shown%20in%20the%20screen-shots%20below.%20%20The%20great%20news%20is%20that%20virtually%20all%20CDMA%20cards%20work%20right%20out%20o" title="del.icio.us"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://savvyadmin.com/feed/" title="RSS"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F&amp;title=Ubuntu%20Linux%20%2B%20Dell%20Wireless%205700%20CDMA%2FEVDO%20Card&amp;bodytext=UPDATE%20%2811-04-2008%29%3A%20NetworkManager%200.7%20has%20been%20introduced%20with%20Ubuntu%208.10.%20%20This%20major%20overhaul%20includes%20native%20support%20for%20Mobile%20Broadband%20card%20as%20shown%20in%20the%20screen-shots%20below.%20%20The%20great%20news%20is%20that%20virtually%20all%20CDMA%20cards%20work%20right%20out%20o" title="Digg"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="mailto:?subject=Ubuntu%20Linux%20%2B%20Dell%20Wireless%205700%20CDMA%2FEVDO%20Card&amp;body=http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F" title="email"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F&amp;title=Ubuntu%20Linux%20%2B%20Dell%20Wireless%205700%20CDMA%2FEVDO%20Card&amp;source=SavvyAdmin.com+For+savvy+admins+everywhere...&amp;summary=UPDATE%20%2811-04-2008%29%3A%20NetworkManager%200.7%20has%20been%20introduced%20with%20Ubuntu%208.10.%20%20This%20major%20overhaul%20includes%20native%20support%20for%20Mobile%20Broadband%20card%20as%20shown%20in%20the%20screen-shots%20below.%20%20The%20great%20news%20is%20that%20virtually%20all%20CDMA%20cards%20work%20right%20out%20o" title="LinkedIn"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F" title="Identi.ca"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F&amp;title=Ubuntu%20Linux%20%2B%20Dell%20Wireless%205700%20CDMA%2FEVDO%20Card&amp;annotation=UPDATE%20%2811-04-2008%29%3A%20NetworkManager%200.7%20has%20been%20introduced%20with%20Ubuntu%208.10.%20%20This%20major%20overhaul%20includes%20native%20support%20for%20Mobile%20Broadband%20card%20as%20shown%20in%20the%20screen-shots%20below.%20%20The%20great%20news%20is%20that%20virtually%20all%20CDMA%20cards%20work%20right%20out%20o" title="Google Bookmarks"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fsavvyadmin.com%2Fubuntu-dell-5700-evdo%2F&amp;title=Ubuntu%20Linux%20%2B%20Dell%20Wireless%205700%20CDMA%2FEVDO%20Card" title="StumbleUpon"><img src="http://savvyadmin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://savvyadmin.com/virtualbox-wireless-bridging/' rel='bookmark' title='Permanent Link: VirtualBox Wireless Bridging'>VirtualBox Wireless Bridging</a></li>
<li><a href='http://savvyadmin.com/console-framebuffer-in-ubuntu/' rel='bookmark' title='Permanent Link: Console Framebuffer in Ubuntu'>Console Framebuffer in Ubuntu</a></li>
<li><a href='http://savvyadmin.com/word-war-vi-in-ubuntu/' rel='bookmark' title='Permanent Link: Word War Vi in Ubuntu'>Word War Vi in Ubuntu</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://savvyadmin.com/ubuntu-dell-5700-evdo/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
	</channel>
</rss>
