https://elinux.org/index.php?title=CR48-SIM&feed=atom&action=historyCR48-SIM - Revision history2024-03-29T00:10:42ZRevision history for this page on the wikiMediaWiki 1.31.0https://elinux.org/index.php?title=CR48-SIM&diff=42055&oldid=prevPeter Huewe at 21:30, 12 April 20112011-04-12T21:30:06Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 21:30, 12 April 2011</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l46" >Line 46:</td>
<td colspan="2" class="diff-lineno">Line 46:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Full Chromium OS D-Bus tree [http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Full Chromium OS D-Bus tree [http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><br><br><br>[[CR48|Back to CR48 Home]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><br><br><br>[[CR48|Back to CR48 Home]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:CR48]]</ins></div></td></tr>
<!-- diff cache key elinux:diff::1.12:old-31381:rev-42055 -->
</table>Peter Huewehttps://elinux.org/index.php?title=CR48-SIM&diff=31381&oldid=prevReddog176 at 16:18, 20 January 20112011-01-20T16:18:09Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 16:18, 20 January 2011</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l45" >Line 45:</td>
<td colspan="2" class="diff-lineno">Line 45:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Note that Google does not exclusively use the ModemManager spec. When adhering to the spec, they use org.freedesktop.ModemManager.*. * When doing their own thing, they use org.chromium.ModemManager.*.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Note that Google does not exclusively use the ModemManager spec. When adhering to the spec, they use org.freedesktop.ModemManager.*. * When doing their own thing, they use org.chromium.ModemManager.*.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Full Chromium OS D-Bus tree [http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Full Chromium OS D-Bus tree [http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><br><br><br>[[CR48|Back to CR48 Home]]</ins></div></td></tr>
<!-- diff cache key elinux:diff::1.12:old-31345:rev-31381 -->
</table>Reddog176https://elinux.org/index.php?title=CR48-SIM&diff=31345&oldid=prevReddog176: Created page with "=Accessing the CR48's SIM slot= Here's what has been found:<br> The Gobi 2000 does support AT&T, and it's unlocked. To switch carriers, you need to swap firmwares. Google was nic..."2011-01-20T16:15:46Z<p>Created page with "=Accessing the CR48's SIM slot= Here's what has been found:<br> The Gobi 2000 does support AT&T, and it's unlocked. To switch carriers, you need to swap firmwares. Google was nic..."</p>
<p><b>New page</b></p><div>=Accessing the CR48's SIM slot=<br />
Here's what has been found:<br><br />
The Gobi 2000 does support AT&T, and it's unlocked. To switch carriers, you need to swap firmwares. Google was nice enough to provide most of the common carrier firmwares.<br><br><br />
<br />
* The various firmwares live in /opt/Qualcomm/Images2k/Novatel<br />
* Google includes firmware for these carriers: <br />
* 1 ("Verizon Wireless")<br />
* 2 ("AT&T")<br />
* 3 ("Sprint")<br />
* 6 ("UMTS")<br />
* 14 (???)<br />
* generic UMTS (not sure why it's different from 6.)<br><br />
<br />
====For reference, see [http://www.thinkwiki.org/wiki/Talk:Qualcomm_Gobi_2000 http://www.thinkwiki.org/wiki/Talk:Qualcomm_Gobi_2000]====<br />
<br />
Google made it easy to switch firmwares.<br><br />
Here are the relevant tools at your disposal:<br><br />
* /usr/bin/modem - Google's user-friendly Cr48 modem management tool (shell script)<br />
* /usr/bin/modem status your new best friend<br />
* /usr/bin/modem factory-reset /org/chromium/ModemManager/Gobi/# spc 000000 factory reset; replace # with number from modem status<br />
* /usr/bin/modem activate-manual ... CDMA manual activation only<br />
* /usr/bin/modem_set_carrier - Google's undocumented firmware swapping tool (shell script)<br />
* /usr/bin/dbus-send - Direct access to D-Bus, allowing you to send custom commands<br />
* /usr/bin/mm-cromo-wrapper - Google's user-friendly wrapper for dbus-send<br />
* /usr/bin/dbusxx-introspect - Navigate an object's D-Bus interface for methods, properties, and signals<br />
* /opt/Qualcomm/bin/gobi-factory-reset spc 000000 - Resets your modem to its default settings. Does not clear activation data.<br />
* /usr/lib/mm.sh - Google's shell script library for interfacing with the modem. No UI, but worth looking at.<br />
* /usr/share/mobile-broadband-provider-info/serviceproviders.xml - The list of all service providers supported by Chromium OS, with their APN info. AT&T's is listed and correct (unless you're on the iPhone data plan).<br><br><br />
<br />
So, how far did I get? So close.<br><br />
* modem status to get the path for the modem. replace # below.<br />
* modem factory-reset /org/chromium/ModemManager/Gobi/# 000000<br />
* modem_set_carrier "AT&T"<br />
* modem status<br><br><br />
<br />
At this point, I see lots of good things. My AT&T SIM's cell phone number is listed as my MDN. The modem is set up to use UMTS, and claims to have signal.<br><br><br />
<br />
The problem is activation. It looks like we need to use org.freedesktop.ModemManager.Modem.Simple.Connect. The problem is, this command takes a mixed array ({string,variant}) -- which can't be created using any of the provided command line tools. <br><br />
In the method documentation for "ActivateManualDebug" in Google's spec "mm-modem-cdma.xml", they make note of this bug. ("Workaround for the fact that dbus-send cannot send dictionaries of variants. Calls ActivateManual, with system_id converted to int.")<br><br><br />
<br />
So, given the limited information I have, it looks like we can't activate an UMTS connection without writing our own (C++/Python) D-Bus interface to facilitate activation. I'm a newb with all of this D-Bus nonsense, so take my conclusion with a grain of salt. But this is where I gave up.<br><br><br />
<br />
Relevant docs:<br><br />
* ModemManager spec [http://projects.gnome.org/NetworkManager/developers/mm-spec-04.html http://projects.gnome.org/NetworkManager/developers/mm-spec-04.html] (ancient)<br />
* Note that Google does not exclusively use the ModemManager spec. When adhering to the spec, they use org.freedesktop.ModemManager.*. * When doing their own thing, they use org.chromium.ModemManager.*.<br />
* Full Chromium OS D-Bus tree [http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection http://gitrw.chromium.org/gitweb/?p=modemmanager.git;a=tree;f=introspection]</div>Reddog176