<?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>My two ¢&#039;s &#187; vodafone</title>
	<atom:link href="http://www.linuxaddicted.de/blog/tag/vodafone/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.linuxaddicted.de/blog</link>
	<description>A Gentoo addict, linux admin and developer</description>
	<lastBuildDate>Wed, 31 Mar 2010 12:12:47 +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>Qualcomm MSM6275 UMTS Vodafone card</title>
		<link>http://www.linuxaddicted.de/blog/documentation/qualcomm-msm6275-umts-vodafone-card/</link>
		<comments>http://www.linuxaddicted.de/blog/documentation/qualcomm-msm6275-umts-vodafone-card/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 21:06:56 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ppp]]></category>
		<category><![CDATA[umts]]></category>
		<category><![CDATA[vodafone]]></category>

		<guid isPermaLink="false">http://blog.linuxaddicted.de/?page_id=99</guid>
		<description><![CDATA[Preferences <p /> <p>First of all make sure UMTS card is recognized by your system. You need PCMCIA support enabled in your kernel. If you compiled it as modules load the modules.</p> <p>deathstar ~ # lspci ... 04:00.0 Network controller: Option N.V. Qualcomm MSM6275 UMTS chip ... </p> Nozomi &#8211; Accessing the card <p <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.linuxaddicted.de/blog/documentation/qualcomm-msm6275-umts-vodafone-card/">Qualcomm MSM6275 UMTS Vodafone card</a></span>]]></description>
			<content:encoded><![CDATA[<h3>Preferences</h3>
<hr />
<p />
<p>First of all make sure UMTS card is recognized by your system. You need PCMCIA support enabled in your kernel. If you compiled it as modules load the modules.</p>
<p><code>deathstar ~ # lspci<br />
...<br />
04:00.0 Network controller: Option N.V. Qualcomm MSM6275 UMTS chip<br />
...<br />
</code></p>
<h3>Nozomi &#8211; Accessing the card</h3>
<hr />
<p />
<p>Download und build the Nozomi kernel module. You can get it <a href="http://www.pharscape.org/component/option,com_forum/Itemid,68/page,viewforum/f,5/"><b>here</b></a>.</p>
<p><code>cd nozomi_2.21alpha_060917<br />
mkdir -p /lib/modules/KERNEL_VERSION/kernel/drivers/pci/hotplug (if it doesn't exists)<br />
make<br />
depmod<br />
modprobe nozomi<br />
</code></p>
<p>After you succeeded in loading the nozomi module you should see something like this in dmesg:</p>
<p><code>nozomi 0000:04:00.0: Nozomi driver nozomi_tty<br />
Initializing Nozomi driver 2.21alpha (build date: Jun  9 2008 15:00:29)<br />
nozomi 0000:04:00.0: Version of card: 3<br />
nozomi 0000:04:00.0: Initialization OK!<br />
</code></p>
<h3>PPP Configuration</h3>
<hr />
<p />
<p>You have to supply the PIN to your SIM-card. There are two ways to accomplish this:</p>
<ul>
<li>Add &#8220;AT+CPIN=MY_SIM_PIN&#8221; to your chat script</li>
<li>Use a little Perl script (for example if you use a PIN app)</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> strict<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> warnings<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #0000ff;">$SIG</span><span style="color: #009900;">&#123;</span>ALRM<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">sub</span> <span style="color: #009900;">&#123;</span> <span style="color: #000066;">die</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;timeout: no response from modem $modem<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">my</span> §pin   <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$modem</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">'/dev/noz0'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span>MODEM<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;+&lt;&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$modem</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">or</span> <span style="color: #000066;">die</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Failed to open modem $modem: $!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">print</span><span style="color: #009900;">&#40;</span>MODEM <span style="color: #ff0000;">&quot;AT+CPIN=<span style="color: #000099; font-weight: bold;">\&quot;</span>$pin<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #009999;">&lt;MODEM&gt;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">m/OK/</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066;">close</span><span style="color: #009900;">&#40;</span>MODEM<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">print</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;PIN accepted<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">m/ERROR/</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066;">close</span><span style="color: #009900;">&#40;</span>MODEM<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">print</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;PIN rejected<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Now it&#8217;s time to create the PPP config and chat scripts.</p>
<h3>/etc/ppp/peers/umts</h3>
<hr />
<p />
<p><code><br />
# Most GPRS phones don't reply to LCP echo's<br />
lcp-echo-failure 0<br />
lcp-echo-interval 0<br />
# Keep pppd attached to the terminal:<br />
# Comment this to get daemon mode pppd<br />
nodetach<br />
# Debug info from pppd:<br />
# Comment this off, if you don't need more info<br />
debug<br />
# Connect script:<br />
# scripts to initialize the UMTS modem and start the connection,<br />
connect /etc/ppp/peers/umts-connect-chat<br />
# Disconnect script:<br />
# AT commands used to 'hangup' the UMTS connection.<br />
disconnect /etc/ppp/peers/umts-disconnect-chat<br />
# Serial device to which the UMTS card is connected:<br />
/dev/noz0<br />
# Serial port line speed<br />
115200<br />
# Hardware flow control:<br />
# Use hardware flow control with cable, Bluetooth and USB but not with IrDA.<br />
crtscts  # serial cable, Bluetooth and USB, on some occations with IrDA too<br />
#nocrtscts # IrDA<br />
# Ignore carrier detect signal from the modem:<br />
local<br />
# IP addresses:<br />
# - accept peers idea of our local address and set address peer as 10.0.0.1<br />
# (any address would do, since IPCP gives 0.0.0.0 to it)<br />
# - if you use the 10. network at home or something and pppd rejects it,<br />
# change the address to something else<br />
0.0.0.0:0.0.0.0<br />
# pppd must not propose any IP address to the peer!<br />
noipdefault<br />
# Accept peers idea of our local address<br />
ipcp-accept-local<br />
# Add the ppp interface as default route to the IP routing table<br />
defaultroute<br />
# DNS servers from the phone:<br />
# some phones support this, some don't.<br />
usepeerdns<br />
# ppp compression:<br />
# ppp compression may be used between the phone and the pppd, but the<br />
# serial connection is usually not the bottleneck in GPRS, so the<br />
# compression is useless (and with some phones need to disabled before<br />
# the LCP negotiations succeed).<br />
novj<br />
nobsdcomp<br />
novjccomp<br />
nopcomp<br />
noaccomp<br />
# The phone is not required to authenticate:<br />
noauth<br />
mtu 1500<br />
mru 1500<br />
</code></p>
<h3>/etc/ppp/peers/umts-connect-chat</h3>
<hr />
<p />
<p><code>exec chat             \<br />
  TIMEOUT   5       \<br />
  ECHO    ON        \<br />
  ABORT   '\nBUSY\r'      \<br />
  ABORT   '\nERROR\r'     \<br />
  ABORT   '\nNO ANSWER\r'     \<br />
  ABORT   '\nNO CARRIER\r'    \<br />
  ABORT   '\nNO DIALTONE\r'   \<br />
  ABORT   '\nRINGING\r\n\r\nRINGING\r'  \<br />
  ''    \rAT        \<br />
  TIMEOUT   12        \<br />
  SAY   "Press CTRL-C to close the connection at any stage!"  \<br />
  SAY   "\ndefining PDP context...\n" \<br />
  OK    ATH       \<br />
  OK    ATE1        \<br />
  OK    'AT+CGDCONT=1,"IP","web.vodafone.de","",0,0'  \<br />
  OK    ATD*99#       \<br />
  TIMEOUT   22        \<br />
  SAY   "\nwaiting for connect...\n"  \<br />
  CONNECT   ""        \<br />
  SAY   "\nConnected." \<br />
  SAY   "\nIf the following ppp negotiations fail,\n" \<br />
  SAY   "try restarting the phone.\n"<br />
</code></p>
<h3>/etc/ppp/peers/umts-disconnect-chat</h3>
<hr />
<p />
<p><code><br />
exec /usr/sbin/chat -V -s -S  \<br />
ABORT   "BUSY"    \<br />
ABORT   "ERROR"   \<br />
ABORT   "NO DIALTONE" \<br />
SAY   "\nSending break to the modem\n"  \<br />
""    "\K"    \<br />
""    "+++ATH"  \<br />
SAY   "\nPDP context detached\n"<br />
</code></p>
<h3>Time to go online</h3>
<hr />
<p />
<p><code>deathstar ~ # pppd call gprs<br />
Press CTRL-C to close the connection at any stage!<br />
defining PDP context...<br />
AT<br />
OK<br />
ATH<br />
OK<br />
ATE1<br />
OK<br />
AT+CGDCONT=1,"IP","web.vodafone.de","",0,0<br />
OK<br />
waiting for connect...<br />
ATD*99#<br />
CONNECT<br />
Connected.<br />
If the following ppp negotiations fail,<br />
try restarting the phone.<br />
Serial connection established.<br />
using channel 1<br />
Using interface ppp0<br />
Connect: ppp0 <--> /dev/noz0<br />
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x9aa17e40>]<br />
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <auth chap MD5> <magic 0x90ae7a2e>
<pcomp> <accomp>]<br />
No auth is possible<br />
sent [LCP ConfRej id=0x0 <auth chap MD5>
<pcomp> <accomp>]<br />
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x9aa17e40>]<br />
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x90ae7a2e>]<br />
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x90ae7a2e>]<br />
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]<br />
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]<br />
rcvd [LCP DiscReq id=0x2 magic=0x90ae7a2e]<br />
rcvd [LCP ProtRej id=0x3 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]<br />
rcvd [IPCP ConfNak id=0x1 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]<br />
sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14>]<br />
rcvd [IPCP ConfNak id=0x2 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]<br />
sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14>]<br />
rcvd [IPCP ConfNak id=0x3 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]<br />
sent [IPCP ConfReq id=0x4 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14>]<br />
rcvd [IPCP ConfReq id=0x0]<br />
sent [IPCP ConfNak id=0x0 <addr 0.0.0.0>]<br />
rcvd [IPCP ConfNak id=0x4 <addr 77.24.36.100> <ms-dns1 139.7.30.125> <ms-dns3 139.7.30.126>]<br />
sent [IPCP ConfReq id=0x5 <addr 77.24.36.100> <ms-dns1 139.7.30.125> <ms-dns3 139.7.30.126>]<br />
rcvd [IPCP ConfAck id=0x5 <addr 77.24.36.100> <ms-dns1 139.7.30.125> <ms-dns3 139.7.30.126>]<br />
rcvd [IPCP ConfReq id=0x1]<br />
sent [IPCP ConfAck id=0x1]<br />
Could not determine remote IP address: defaulting to 10.64.64.64<br />
local  IP address 77.24.36.100<br />
remote IP address 10.64.64.64<br />
primary   DNS address 139.7.30.125<br />
secondary DNS address 139.7.30.126<br />
Script /etc/ppp/ip-up started (pid 8494)<br />
Script /etc/ppp/ip-up finished (pid 8494), status = 0x1<br />
</code></p>
<p />
Welcome to mobile Internet using your Vodafone UMTS card <img src='http://www.linuxaddicted.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>If you have any trouble don&#8217;t hesitate to contact me: daniel@linuxaddicted.de</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxaddicted.de/blog/documentation/qualcomm-msm6275-umts-vodafone-card/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

