{"id":254,"date":"2008-04-24T22:51:57","date_gmt":"2008-04-24T22:51:57","guid":{"rendered":"http:\/\/dalelane.co.uk\/blog\/?p=254"},"modified":"2009-05-17T16:06:52","modified_gmt":"2009-05-17T16:06:52","slug":"using-a-3-mobile-broadband-dongle-with-the-eee-pc","status":"publish","type":"post","link":"https:\/\/dalelane.co.uk\/blog\/?p=254","title":{"rendered":"Using a 3 mobile broadband dongle with the EEE PC"},"content":{"rendered":"<p>I&#8217;ve been loaned a USB mobile broadband modem by 3 to try out for a few months. I&#8217;ll write a proper post about why I&#8217;ve got it and what I think of it later. First, I wanted to share how I got it working with <a href=\"http:\/\/dalelane.co.uk\/blog\/?p=210\">my EEE PC<\/a>.<\/p>\n<p><b>What am I talking about?<\/b><br \/>\nThe modem is a small USB dongle &#8211; not dissimilar in appearance from a USB memory stick. You put a SIM card in, and the small mobile phone radio inside gives an Internet connection to any computer that it&#8217;s plugged into.<\/p>\n<p>The dongle is a Huawei E169G.<\/p>\n<p><b>So what&#8217;s the problem?<\/b><br \/>\nThe dongle is supported on Windows and Mac OS. Not Linux.  My EEE PC still runs the original Xandros Linux.<\/p>\n<p><b>Should it work on Linux?<\/b><br \/>\nPosts on the <a href=\"http:\/\/forum.eeeuser.com\/\" target=\"_blank\">eeeuser forum<\/a> suggested that it wouldn&#8217;t be possible.<\/p>\n<p>Other dongles seem to have <a target=\"_blank\" href=\"http:\/\/www.greenhughes.com\/content\/using-your-asus-eee-pc-3-mobile-network\">caused less trouble<\/a>, but the E169 wouldn&#8217;t work.<\/p>\n<p>The <a href=\"http:\/\/forum.eeeuser.com\/viewtopic.php?id=24905\" target=\"_blank\">consensus seemed to be<\/a> that:<\/p>\n<blockquote><p>Huawei 169 requires a patch to usb-storage driver to recognize the hardware similarly to 220&#8230; I think that ASUS is on a way to produce a small upgrade package to fix the issue for E169.<\/p><\/blockquote>\n<p>And a little Googling failed to turn up anyone who has got the Huawei E169 to work with an EEE PC on Linux.<\/p>\n<p>Still&#8230; how hard could it really be, eh? \ud83d\ude42<\/p>\n<p><!--more--><b>What happens if you try and use it?<\/b><br \/>\nPlug the USB dongle in.<\/p>\n<p><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-01-home.png\" target=\"_blank\"><img decoding=\"async\" alt=\"EEE PC home screen\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-01-homesmall.png\"\/><\/a><br \/>\nThe normal way to create an Internet connection on the EEE PC starts here &#8211; the Internet tab of the home screen. <\/p>\n<p>Notice that the system tray icon you get when you plug in a USB flash memory stick does not appear. <\/p>\n<p>Click on &#8216;Network&#8217;.<\/p>\n<p><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-02-networkconns.png\" target=\"_blank\"><img decoding=\"async\" alt=\"network connections\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-02-networkconnssmall.png\"\/><\/a><br \/>\nI only had one saved network before &#8211; my home Wi-Fi settings. Click on &#8216;Create&#8217; to create a new one.<\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-03-create.png\" target=\"_blank\"><img decoding=\"async\" alt=\"create a new connection\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-03-createsmall.png\"\/><\/a><br \/>\nIn the Connection Wizard that pops up, choose the option for a 3G connection.<\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-04-nohardware.png\" target=\"_blank\"><img decoding=\"async\" alt=\"no hardware found\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-04-nohardwaresmall.png\"\/><\/a><br \/>\nThen you choose the hardware to use. <\/p>\n<p>Except you can&#8217;t. The EEE PC doesn&#8217;t recognise the E169 dongle &#8211; the list of hardware to choose from is empty.<\/p>\n<p><br clear=\"all\"\/>I tried using <a href=\"http:\/\/alumnit.ca\/wiki\/index.php?page=WvDial\" target=\"_blank\">wvdial<\/a> to configure the modem myself without the wizard. Running the auto config mode &#8211; where it queries the device itself &#8211; failed. In fact, it seg faulted!<\/p>\n<p>I tried configuring it manually &#8211; a few different configuration files I found online. None of them worked. In each case, wvdial would fail to connect to the device. <\/p>\n<p>The EEE PC just really couldn&#8217;t see the dongle.<\/p>\n<p><b>Why not?<\/b><br \/>\nThe dongle works fine on Windows, so switching quickly to a Windows ThinkPad I could investigate further. <\/p>\n<p><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-usbmon.png\" target=\"_blank\"><img decoding=\"async\" alt=\"USB Monitor\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-usbmonsmall.png\"\/><\/a><br \/>\nI plugged it into my ThinkPad and kicked off <a href=\"http:\/\/www.hhdsoftware.com\/Products\/home\/usb-monitor.html\">USB Monitor<\/a> to have a dig around. The first thing I noticed is that the device ID it returns is different to the one printed on the USB device itself: E620. Weird.<\/p>\n<p>More interesting though was that <a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-usbmon.png\" target=\"_blank\">USB Monitor shows that the dongle is a &#8220;Composite Device&#8221;<\/a>. This was a new one on me, but it seems that &#8211; rather than ship the dongle with CDs containing the drivers to use &#8211; the USB device is a two-in-one device. It is both a &#8220;Mass Storage Device&#8221; &#8211; a flash memory disk, and a Modem. It starts out by behaving as flash memory. The flash storage contains the modem drivers, with an autorun config that installs them on a PC when it is plugged in. Once installed, the USB device is switched to modem mode. <\/p>\n<p>It seems that Linux, or the EEE PC at any rate, cannot handle this sort of composite device. It wasn&#8217;t sending the right signals to the device to tell it which mode to behave in, or didn&#8217;t understand when it reported itself to be a composite. Either way&#8230; I needed to find a way to manually make the device switch modes.<\/p>\n<p><b>Making USB devices switch modes<\/b><br \/>\nThings were looking up &#8211; I found (<em>yay for Google!<\/em>) that Josua Dietze has written a Linux utility to do this already: <a href=\"http:\/\/www.draisberghof.de\/usb_modeswitch\/\" target=\"_blank\">USB_ModeSwitch<\/a>. <\/p>\n<p>He&#8217;s written a utility that simplifies sending control commands to USB devices. All you have to do is put the command codes into a config file, then run his utility. He even includes a sample config file with the right codes for fifteen different USB devices. <\/p>\n<p>Unfortunately, the Huawei E169 isn&#8217;t one of the devices he&#8217;s identified the codes for. (<i>And I tried the other Huawei codes on his list &#8211; none of them worked<\/i>).<\/p>\n<p>So it was back to <a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-usbmon.png\" target=\"_blank\">the USB sniffer<\/a> to identify the right codes to use. <\/p>\n<p><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-05-modeswitch.png\" target=\"_blank\"><img decoding=\"async\" alt=\"perform USB mode switch\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-05-modeswitchsmall.png\"\/><\/a><br \/>\nI found the codes to first <a href=\"http:\/\/dalelane.co.uk\/blog\/post-images\/080424-usb_modeswitch-1.conf.txt\">disable the memory storage mode<\/a> and then <a href=\"http:\/\/dalelane.co.uk\/blog\/post-images\/080424-usb_modeswitch-2.conf.txt\">enable the modem<\/a>.<\/p>\n<p>Hurrah.<\/p>\n<p>So back to the EEE PC &#8216;Create connection&#8217; wizard. <\/p>\n<p><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-06-hardware.png\" target=\"_blank\"><img decoding=\"async\" alt=\"select USB hardware\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-06-hardwaresmall.png\"\/><\/a><br \/>\nThis time, it does show you USB devices to choose! I chose the first device: <code>\/dev\/ttyUSB0<\/code><\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-07-networksearch.png\" target=\"_blank\"><img decoding=\"async\" alt=\"network search\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-07-networksearchsmall.png\"\/><\/a><br \/>\nIt seemed happy to use the generic modem drivers without any more information, and started searching for mobile networks.<\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-08-networkchoose.png\" target=\"_blank\"><img decoding=\"async\" alt=\"networks found\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-08-networkchoosesmall.png\"\/><\/a><br \/>\nIt found &#8211; among others &#8211; the 3 network. <\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-09-networkdetails.png\" target=\"_blank\"><img decoding=\"async\" alt=\"enter network details\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-09-networkdetailssmall.png\"\/><\/a><br \/>\nI chose it, and copied the other network details from the <a href=\"http:\/\/ask3.three.co.uk\/SRVS\/Data\/Hutch\/KnowledgeBases\/Ask3\/document\/web\/USB_modem\/windows_trouble_installing.htm\" target=\"_blank\">information on the three<\/a> website.<\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-10-networkname.png\" target=\"_blank\"><img decoding=\"async\" alt=\"network short name\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-10-networknamesmall.png\"\/><\/a><br \/>\nGive the network a friendly name.<\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-11-finished.png\" target=\"_blank\"><img decoding=\"async\" alt=\"network config finished\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-11-finishedsmall.png\"\/><\/a><br \/>\nAll done!<\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-12-init.png\" target=\"_blank\"><img decoding=\"async\" alt=\"initializing modem\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-12-initsmall.png\"\/><\/a><br \/>\nAnd to prove it works, here is the modem initializing&#8230;<\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-13-dialing.png\" target=\"_blank\"><img decoding=\"async\" alt=\"dialling modem\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-13-dialingsmall.png\"\/><\/a><br \/>\n&#8230;dialling&#8230;<\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-14-connected.png\" target=\"_blank\"><img decoding=\"async\" alt=\"connected!\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-14-connectedsmall.png\"\/><\/a><br \/>\n&#8230;and finally connected.<\/p>\n<p><br clear=\"all\"\/><a href=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-15-online.png\" target=\"_blank\"><img decoding=\"async\" alt=\"lookee! i'm online\" align=\"left\" hspace=\"10\" vspace=\"10\" src=\"http:\/\/i267.photobucket.com\/albums\/ii311\/dale_lane\/080424-15-onlinesmall.png\"\/><\/a><br \/>\nLook &#8211; here is the EEE PC online using the 3 mobile broadband dongle.<\/p>\n<p>This is all overkill. By all accounts, the newer Huawei mobile broadband modems are much easier to get working. If you have an EEE PC and are considering getting a mobile broadband dongle, you might find it easier to just go for <a href=\"http:\/\/www.greenhughes.com\/content\/using-your-asus-eee-pc-3-mobile-network\">E220<\/a> or newer. <\/p>\n<p>But if you do already have the E169, or can get it cheaper, it seems that you can get it working!<\/p>\n<p><strong>Update:<\/strong> See the comment thread below for background, but in short, people have found it quicker to put in usb_modeswitch options at the command line rather than have to edit config files. E.g.<br \/>\n<code>.\/usb_modeswitch -v 0x12d1 -p 0x1001 -d 1<br \/>\n.\/usb_modeswitch -v 0x12d1 -p 0x1001 -H 1<\/code><br \/>\nYou may find this easier to script than the config file approach in my post.<\/p>\n<p>The developer of usb_modeswitch has <a href=\"http:\/\/www.draisberghof.de\/usb_modeswitch\/\" target=\"_blank\">more info on automating<\/a> which is also worth a look.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been loaned a USB mobile broadband modem by 3 to try out for a few months. I&#8217;ll write a proper post about why I&#8217;ve got it and what I think of it later. First, I wanted to share how I got it working with my EEE PC. What am I talking about? The modem [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[173,177,15,172,175,176,46,174,61],"class_list":["post-254","post","type-post","status-publish","format-standard","hentry","category-tech","tag-173","tag-3mobilebuzz","tag-eee","tag-eee-pc","tag-gadgets","tag-huawei","tag-mobile","tag-mobile-broadband","tag-usb"],"_links":{"self":[{"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=254"}],"version-history":[{"count":0,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/254\/revisions"}],"wp:attachment":[{"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}