<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Huawei E220</title>
	<atom:link href="http://jkroon.blogs.uls.co.za/it/networking/huawei-e220/feed" rel="self" type="application/rss+xml" />
	<link>http://jkroon.blogs.uls.co.za/it/networking/huawei-e220</link>
	<description>Ultimate Linux Solutions</description>
	<lastBuildDate>Fri, 30 Jul 2010 12:32:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jaco Kroon</title>
		<link>http://jkroon.blogs.uls.co.za/it/networking/huawei-e220/comment-page-1#comment-20</link>
		<dc:creator>Jaco Kroon</dc:creator>
		<pubDate>Mon, 13 Oct 2008 09:59:34 +0000</pubDate>
		<guid isPermaLink="false">http://jkroon.blogs.uls.co.za/?p=21#comment-20</guid>
		<description>Hi,

This is contradictory to what I&#039;ve been told on the GLUG-tech mailing list by someone that worked on firmware for a similar device.  I&#039;m unfortunately unable to locate the email at the moment.  My understanding was similar to yours.  I&#039;m not sure how widespread the problem is, but it does seem to be specific to the Huawei modems.

Even the above eventually broke, so I just added something to restart pppd in ip-up, the box is unfortunately off at the moment, but IIRC it looks something like this:

if [[ $DNS1 = &quot;10.11.12.13&quot; ]]; then
    kill -HUP $PPPD_PID
    exit 0
fi

Not sure whether $PPPD_PID is standard, but it exists on Gentoo, and I&#039;ll abuse it for as long as is required.  This so far is the only 100 % surefire way I&#039;ve found of dealing effectively with the problem - whatever may be the trigger of that.

Please see my other posts regarding Vodacom to understand why I&#039;ve simply stopped caring and is now in a place of calm where my DSL at home should be installed at home in the next few hours, and I&#039;ll be updating my ip-up on my laptop to deal with the sack options by disabling it whenever the 3G link comes up, and re-enabling it whenever it goes down again.

For my servers out in the field, all of them that makes use of 3G for failover are still struggling with the sack problem.  Fortunately this isn&#039;t overly serious as it&#039;s mostly web browsing (which goes into transparent proxies that hides the problem) and mail (which gets retried in a few minutes, also hiding the problem).

I stopped getting the &quot;Linux is not a supported platform&quot; when I started threatening with legal action against what they&#039;re doing to my TCP streams.  Now they&#039;ve shown that it&#039;s a CISCO router making the changes, and in spite of me proving that what they&#039;re doing is illogical and pointless they insist on still doing it, and looking to fix their code.  Anyway, I don&#039;t want to go all red faced again, so I&#039;ll stop right here.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>This is contradictory to what I&#8217;ve been told on the GLUG-tech mailing list by someone that worked on firmware for a similar device.  I&#8217;m unfortunately unable to locate the email at the moment.  My understanding was similar to yours.  I&#8217;m not sure how widespread the problem is, but it does seem to be specific to the Huawei modems.</p>
<p>Even the above eventually broke, so I just added something to restart pppd in ip-up, the box is unfortunately off at the moment, but IIRC it looks something like this:</p>
<p>if [[ $DNS1 = "10.11.12.13" ]]; then<br />
    kill -HUP $PPPD_PID<br />
    exit 0<br />
fi</p>
<p>Not sure whether $PPPD_PID is standard, but it exists on Gentoo, and I&#8217;ll abuse it for as long as is required.  This so far is the only 100 % surefire way I&#8217;ve found of dealing effectively with the problem &#8211; whatever may be the trigger of that.</p>
<p>Please see my other posts regarding Vodacom to understand why I&#8217;ve simply stopped caring and is now in a place of calm where my DSL at home should be installed at home in the next few hours, and I&#8217;ll be updating my ip-up on my laptop to deal with the sack options by disabling it whenever the 3G link comes up, and re-enabling it whenever it goes down again.</p>
<p>For my servers out in the field, all of them that makes use of 3G for failover are still struggling with the sack problem.  Fortunately this isn&#8217;t overly serious as it&#8217;s mostly web browsing (which goes into transparent proxies that hides the problem) and mail (which gets retried in a few minutes, also hiding the problem).</p>
<p>I stopped getting the &#8220;Linux is not a supported platform&#8221; when I started threatening with legal action against what they&#8217;re doing to my TCP streams.  Now they&#8217;ve shown that it&#8217;s a CISCO router making the changes, and in spite of me proving that what they&#8217;re doing is illogical and pointless they insist on still doing it, and looking to fix their code.  Anyway, I don&#8217;t want to go all red faced again, so I&#8217;ll stop right here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: diepes</title>
		<link>http://jkroon.blogs.uls.co.za/it/networking/huawei-e220/comment-page-1#comment-19</link>
		<dc:creator>diepes</dc:creator>
		<pubDate>Mon, 13 Oct 2008 07:49:05 +0000</pubDate>
		<guid isPermaLink="false">http://jkroon.blogs.uls.co.za/?p=21#comment-19</guid>
		<description>You mentioned.
&gt;&gt;The bottom line is this: The firmware on the Huawei E220
&gt;&gt; (and by implication the E270 and probably others too) is broken.

My understanding is that the modem is not involved in the ppp negotiation, it just converts the data from usb/serial/bluetooth to GSM.

The only commands the modem uses is the AT commands to setup the device in the chat script.

The ppp session terminates on some NAS equipment at the provider (similar with dsl).

That is why you would see the same behavior using any usb modem and even with my bluetooth connected Samsung 3G phone.

I still think more of us should log calls with our 3G providers to fix there ppp software.  (While we work around them with a patch)
I got the standard reply of &#039;Linux is not a supported platform&quot;</description>
		<content:encoded><![CDATA[<p>You mentioned.<br />
&gt;&gt;The bottom line is this: The firmware on the Huawei E220<br />
&gt;&gt; (and by implication the E270 and probably others too) is broken.</p>
<p>My understanding is that the modem is not involved in the ppp negotiation, it just converts the data from usb/serial/bluetooth to GSM.</p>
<p>The only commands the modem uses is the AT commands to setup the device in the chat script.</p>
<p>The ppp session terminates on some NAS equipment at the provider (similar with dsl).</p>
<p>That is why you would see the same behavior using any usb modem and even with my bluetooth connected Samsung 3G phone.</p>
<p>I still think more of us should log calls with our 3G providers to fix there ppp software.  (While we work around them with a patch)<br />
I got the standard reply of &#8216;Linux is not a supported platform&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jaco Kroon</title>
		<link>http://jkroon.blogs.uls.co.za/it/networking/huawei-e220/comment-page-1#comment-6</link>
		<dc:creator>Jaco Kroon</dc:creator>
		<pubDate>Wed, 13 Aug 2008 08:19:55 +0000</pubDate>
		<guid isPermaLink="false">http://jkroon.blogs.uls.co.za/?p=21#comment-6</guid>
		<description>I replied to the above with:

They don&#039;t.  I&#039;m attaching the debug output below, look at what happens though (And some of this is speculation), initially we send a confreq, the modem (not vodacom, because the ppp only runs to the modem) then responds with auth chap MD5 and a magic, which we then rejet - indicating that I haven&#039;t supplied credentials to pppd.  Eventually the device actually connects with the GSM network, issues a DiscReq to us so that we can re-establish parameters (because it now got the info from GSM, I suspect), now, when we send the ConfReq for IPCP we send a request for addr, as well as ms-dns1 and 2 - which is all we really want.  It then responds with with no addr and both dns and wins (which afaik it _SHOULD_NOT_ respond with as we haven&#039;t requested it).  This hops a couple of times, but notice that with the patched pppd it now sends the wins back indicating that we&#039;re willing to accept it.  I think I&#039;m going to mod the patch to only do this with a parameter option of acceptwins in order to attempt getting it into mainline if other people find that this works for them too.  Now last night the number of hops was fewer, but the result was the same, eventually it sends a ConfReq with no parameters, at which point we ConfNak it due to missing addr info, after which it rejects the WINS servers (in other words - NO WINS INFO IN THE END), we then send another confreq that&#039;s near identical to the original, except we now have 10.11.12.13 and 10.11.12.14 as the initial dns servers as supplied earlier, this now gets Nak&#039;ed and the correct data is _finally_ provided, and our responding Req is Ack&#039;ed and we&#039;ve got lift-off.

I hope this confusing explanation expresses somewhat accurately what I understand of the problem.

You&#039;ll notice that the peer IP is still bogus - this does not matter at all.  That IP is not used ANYWHERE except for two routes

1.  A route to the pppd peer ip (unused except if you want to ping the pppd peer or something).
2.  The default route added by pppd if you have the defaultroute option set, and even then it really doesn&#039;t matter and I don&#039;t know why pppd adds a &quot;via&quot; rule instead of a &quot;dev&quot; rule from the start anyway.

Regards,
Jaco Kroon


Connect: ppp2 &lt;--&gt; /dev/ttyUSB0
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0xf250f1b5&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfReq id=0x3 &lt;asyncmap 0x0&gt; &lt;auth chap MD5&gt; &lt;magic 0x455367cd&gt; &lt;pcomp&gt; &lt;accomp&gt;]
No auth is possible
sent [LCP ConfRej id=0x3 &lt;auth chap MD5&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0xf250f1b5&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfReq id=0x4 &lt;asyncmap 0x0&gt; &lt;magic 0x455367cd&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfAck id=0x4 &lt;asyncmap 0x0&gt; &lt;magic 0x455367cd&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP EchoReq id=0x0 magic=0xf250f1b5]
sent [IPCP ConfReq id=0x1 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 0.0.0.0&gt; &lt;ms-dns3 0.0.0.0&gt;]
rcvd [LCP DiscReq id=0x5 magic=0x455367cd]
rcvd [LCP EchoRep id=0x0 magic=0x455367cd f2 50 f1 b5]
rcvd [IPCP ConfNak id=0x1 &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]
sent [IPCP ConfReq id=0x2 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]
rcvd [IPCP ConfNak id=0x2 &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]
sent [IPCP ConfReq id=0x3 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]
rcvd [IPCP ConfNak id=0x3 &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]
sent [IPCP ConfReq id=0x4 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]
rcvd [IPCP ConfReq id=0x0]
sent [IPCP ConfNak id=0x0 &lt;addr 0.0.0.0&gt;]
rcvd [IPCP ConfRej id=0x4 &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]
sent [IPCP ConfReq id=0x5 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt;]
rcvd [IPCP ConfNak id=0x5 &lt;addr 196.46.172.91&gt; &lt;ms-dns1 196.207.36.251&gt; &lt;ms-dns3 196.207.36.254&gt;]
sent [IPCP ConfReq id=0x6 &lt;addr 196.46.172.91&gt; &lt;ms-dns1 196.207.36.251&gt; &lt;ms-dns3 196.207.36.254&gt;]
rcvd [IPCP ConfAck id=0x6 &lt;addr 196.46.172.91&gt; &lt;ms-dns1 196.207.36.251&gt; &lt;ms-dns3 196.207.36.254&gt;]
rcvd [IPCP ConfReq id=0x1]
sent [IPCP ConfAck id=0x1]
Could not determine remote IP address: defaulting to 10.64.64.66
local  IP address 196.46.172.91
remote IP address 10.64.64.66
primary   DNS address 196.207.36.251
secondary DNS address 196.207.36.254
Script /etc/ppp/ip-up started (pid 12581)
Script /etc/ppp/ip-up finished (pid 12581), status = 0x0
</description>
		<content:encoded><![CDATA[<p>I replied to the above with:</p>
<p>They don&#8217;t.  I&#8217;m attaching the debug output below, look at what happens though (And some of this is speculation), initially we send a confreq, the modem (not vodacom, because the ppp only runs to the modem) then responds with auth chap MD5 and a magic, which we then rejet &#8211; indicating that I haven&#8217;t supplied credentials to pppd.  Eventually the device actually connects with the GSM network, issues a DiscReq to us so that we can re-establish parameters (because it now got the info from GSM, I suspect), now, when we send the ConfReq for IPCP we send a request for addr, as well as ms-dns1 and 2 &#8211; which is all we really want.  It then responds with with no addr and both dns and wins (which afaik it _SHOULD_NOT_ respond with as we haven&#8217;t requested it).  This hops a couple of times, but notice that with the patched pppd it now sends the wins back indicating that we&#8217;re willing to accept it.  I think I&#8217;m going to mod the patch to only do this with a parameter option of acceptwins in order to attempt getting it into mainline if other people find that this works for them too.  Now last night the number of hops was fewer, but the result was the same, eventually it sends a ConfReq with no parameters, at which point we ConfNak it due to missing addr info, after which it rejects the WINS servers (in other words &#8211; NO WINS INFO IN THE END), we then send another confreq that&#8217;s near identical to the original, except we now have 10.11.12.13 and 10.11.12.14 as the initial dns servers as supplied earlier, this now gets Nak&#8217;ed and the correct data is _finally_ provided, and our responding Req is Ack&#8217;ed and we&#8217;ve got lift-off.</p>
<p>I hope this confusing explanation expresses somewhat accurately what I understand of the problem.</p>
<p>You&#8217;ll notice that the peer IP is still bogus &#8211; this does not matter at all.  That IP is not used ANYWHERE except for two routes</p>
<p>1.  A route to the pppd peer ip (unused except if you want to ping the pppd peer or something).<br />
2.  The default route added by pppd if you have the defaultroute option set, and even then it really doesn&#8217;t matter and I don&#8217;t know why pppd adds a &#8220;via&#8221; rule instead of a &#8220;dev&#8221; rule from the start anyway.</p>
<p>Regards,<br />
Jaco Kroon</p>
<p>Connect: ppp2 &lt;&#8211;&gt; /dev/ttyUSB0<br />
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0xf250f1b5&gt; &lt;pcomp&gt; &lt;accomp&gt;]<br />
rcvd [LCP ConfReq id=0x3 &lt;asyncmap 0x0&gt; &lt;auth chap MD5&gt; &lt;magic 0x455367cd&gt; &lt;pcomp&gt; &lt;accomp&gt;]<br />
No auth is possible<br />
sent [LCP ConfRej id=0x3 &lt;auth chap MD5&gt;]<br />
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0xf250f1b5&gt; &lt;pcomp&gt; &lt;accomp&gt;]<br />
rcvd [LCP ConfReq id=0x4 &lt;asyncmap 0x0&gt; &lt;magic 0x455367cd&gt; &lt;pcomp&gt; &lt;accomp&gt;]<br />
sent [LCP ConfAck id=0x4 &lt;asyncmap 0x0&gt; &lt;magic 0x455367cd&gt; &lt;pcomp&gt; &lt;accomp&gt;]<br />
sent [LCP EchoReq id=0x0 magic=0xf250f1b5]<br />
sent [IPCP ConfReq id=0x1 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 0.0.0.0&gt; &lt;ms-dns3 0.0.0.0&gt;]<br />
rcvd [LCP DiscReq id=0x5 magic=0x455367cd]<br />
rcvd [LCP EchoRep id=0x0 magic=0x455367cd f2 50 f1 b5]<br />
rcvd [IPCP ConfNak id=0x1 &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]<br />
sent [IPCP ConfReq id=0x2 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]<br />
rcvd [IPCP ConfNak id=0x2 &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]<br />
sent [IPCP ConfReq id=0x3 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]<br />
rcvd [IPCP ConfNak id=0x3 &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]<br />
sent [IPCP ConfReq id=0x4 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt; &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]<br />
rcvd [IPCP ConfReq id=0x0]<br />
sent [IPCP ConfNak id=0x0 &lt;addr 0.0.0.0&gt;]<br />
rcvd [IPCP ConfRej id=0x4 &lt;ms-wins 10.11.12.13&gt; &lt;ms-wins 10.11.12.14&gt;]<br />
sent [IPCP ConfReq id=0x5 &lt;addr 0.0.0.0&gt; &lt;ms-dns1 10.11.12.13&gt; &lt;ms-dns3 10.11.12.14&gt;]<br />
rcvd [IPCP ConfNak id=0x5 &lt;addr 196.46.172.91&gt; &lt;ms-dns1 196.207.36.251&gt; &lt;ms-dns3 196.207.36.254&gt;]<br />
sent [IPCP ConfReq id=0x6 &lt;addr 196.46.172.91&gt; &lt;ms-dns1 196.207.36.251&gt; &lt;ms-dns3 196.207.36.254&gt;]<br />
rcvd [IPCP ConfAck id=0x6 &lt;addr 196.46.172.91&gt; &lt;ms-dns1 196.207.36.251&gt; &lt;ms-dns3 196.207.36.254&gt;]<br />
rcvd [IPCP ConfReq id=0x1]<br />
sent [IPCP ConfAck id=0x1]<br />
Could not determine remote IP address: defaulting to 10.64.64.66<br />
local  IP address 196.46.172.91<br />
remote IP address 10.64.64.66<br />
primary   DNS address 196.207.36.251<br />
secondary DNS address 196.207.36.254<br />
Script /etc/ppp/ip-up started (pid 12581)<br />
Script /etc/ppp/ip-up finished (pid 12581), status = 0&#215;0</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jaco Kroon</title>
		<link>http://jkroon.blogs.uls.co.za/it/networking/huawei-e220/comment-page-1#comment-5</link>
		<dc:creator>Jaco Kroon</dc:creator>
		<pubDate>Wed, 13 Aug 2008 08:19:28 +0000</pubDate>
		<guid isPermaLink="false">http://jkroon.blogs.uls.co.za/?p=21#comment-5</guid>
		<description>I received this reply on a discussion on the GLUG mailing list:

BTW, I note that the vodafone-mobile-connect-card-driver-for-linux (from https://forge.betavine.net/projects/vodafonemobilec/) package (not a driver, rather a python-twisted-based GUI for configuring and connecting GPRS/3G/HSDPA modems/connections with wvdial) has settings for various network providers, and the one for Vodacom-SA has static DNS IPs, and by default will have the &quot;use static DNS servers&quot; or simlar option checked ...

Why anyone would actually want to run WINS on an internet connection though is beyond me, but in case they did, nss_wins may be of some benefit then too ...</description>
		<content:encoded><![CDATA[<p>I received this reply on a discussion on the GLUG mailing list:</p>
<p>BTW, I note that the vodafone-mobile-connect-card-driver-for-linux (from <a href="https://forge.betavine.net/projects/vodafonemobilec/)" rel="nofollow">https://forge.betavine.net/projects/vodafonemobilec/)</a> package (not a driver, rather a python-twisted-based GUI for configuring and connecting GPRS/3G/HSDPA modems/connections with wvdial) has settings for various network providers, and the one for Vodacom-SA has static DNS IPs, and by default will have the &#8220;use static DNS servers&#8221; or simlar option checked &#8230;</p>
<p>Why anyone would actually want to run WINS on an internet connection though is beyond me, but in case they did, nss_wins may be of some benefit then too &#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
