<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andyjpb</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andyjpb"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Andyjpb"/>
	<updated>2026-05-02T14:27:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ericsson_F3507g_Mobile_Broadband_Module&amp;diff=49552</id>
		<title>Ericsson F3507g Mobile Broadband Module</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ericsson_F3507g_Mobile_Broadband_Module&amp;diff=49552"/>
		<updated>2010-09-07T21:58:36Z</updated>

		<summary type="html">&lt;p&gt;Andyjpb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== Ericsson F3507g Mobile Broadband Module ===&lt;br /&gt;
This is a Ericsson WWAN Adapter that is installed in a Mini-PCI Express slot&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Specific versions of this card may come pre-configured for a certain carrier (AT&amp;amp;T)}}&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Ericsson F3507g&lt;br /&gt;
* USB ID: 0bdb:1900&lt;br /&gt;
* USB ID: 0bdb:1902&lt;br /&gt;
* WCDMA 2100/1900/850MHz&lt;br /&gt;
* GSM/GPRS/EDGE 850/900/1800/1900MHz&lt;br /&gt;
* GPS&lt;br /&gt;
* Download up to 7.2Mbps&lt;br /&gt;
* Upload up to 2.0Mbps&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:EriccsonWWAN.gif|thumb|Ericsson F3507g WWAN Adapter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lenovo Partnumbers ==&lt;br /&gt;
* Option PN 43R9152 (AT&amp;amp;T)&lt;br /&gt;
* FRU 43Y6537 (AT&amp;amp;T)&lt;br /&gt;
* FRU 43Y6513 (Other)&lt;br /&gt;
&lt;br /&gt;
Forumthread with [http://www.netbooks.ph/forums/viewtopic.php?f=56&amp;amp;t=1756#p18011 list of FRUs and corresponding firmwares] (scroll down):&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
! Firmware !! Date       !! FRU      !! Remarks&lt;br /&gt;
|-&lt;br /&gt;
| R1A034   || 2008-05-17 || 43Y6477&lt;br /&gt;
|-&lt;br /&gt;
| R1B003   || 2008-07-08 || 43Y6479&lt;br /&gt;
|-&lt;br /&gt;
| R1B/1    || 2008-07-30 || 43Y6513&lt;br /&gt;
|-&lt;br /&gt;
| R1D06    || 2008-11-07 || 43Y6537 || better performance and stability, fixed many bugs from the previous version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Unlike other manufactures (Dell, Toshiba etc.) Lenovo does not release the firmware update utility public, so the only way to get a newer version F3507g is by replacing the existing one.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Here are some basics about Ericsson F3507g MiniPCIe WWAN/GPS card (USB ID &amp;lt;tt&amp;gt;0bdb:1900&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;0bdb:1902&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* the card will not work without an inserted SIM, even the GPS function. If you want to use just GPS, any SIM would work, even if it is not attached to any active account with any GSM provider.&lt;br /&gt;
* the card provides three CDC ACM interfaces (&amp;lt;tt&amp;gt;CONFIG_USB_ACM=m&amp;lt;/tt&amp;gt;), two CDC WDM interfaces (&amp;lt;tt&amp;gt;CONFIG_USB_WDM=m&amp;lt;/tt&amp;gt;) and one CDC Ethernet interface (&amp;lt;tt&amp;gt;CONFIG_USB_NET_CDCETHER=m&amp;lt;/tt&amp;gt;), and identifies them as&lt;br /&gt;
 for n in `ls /sys/class/*/*{ACM,wdm,usb0}*/device/interface`;do echo $(echo $n|awk -F '/' '{print $5}') : $(cat $n);done&lt;br /&gt;
 &lt;br /&gt;
 usb0 : Ericsson F3507g Mobile Broadband Minicard Network Adapter&lt;br /&gt;
 ttyACM0 : Ericsson F3507g Mobile Broadband Minicard Modem&lt;br /&gt;
 ttyACM1 : Ericsson F3507g Mobile Broadband Minicard Data Modem&lt;br /&gt;
 ttyACM2 : Ericsson F3507g Mobile Broadband Minicard GPS Port&lt;br /&gt;
 cdc-wdm0 : Ericsson F3507g Mobile Broadband Minicard Device Management&lt;br /&gt;
 cdc-wdm1 : Ericsson F3507g Mobile Broadband Minicard PC SC Port&lt;br /&gt;
'''Note''':&lt;br /&gt;
*apparently, for a while &amp;lt;tt&amp;gt;option&amp;lt;/tt&amp;gt; USB-serial driver had claimed USB ID &amp;lt;tt&amp;gt;0bdb:1900&amp;lt;/tt&amp;gt;, but this was wrong, and as of kernel 2.6.28.9 that commit was reversed. If instead of &amp;lt;tt&amp;gt;/dev/ttyACM*&amp;lt;/tt&amp;gt; you see &amp;lt;tt&amp;gt;/dev/ttyUSB*&amp;lt;/tt&amp;gt;, it means that &amp;lt;tt&amp;gt;option&amp;lt;/tt&amp;gt; module is loaded. You may need to blacklist it to make sure it doesn't happen.&lt;br /&gt;
*Support for the CDC Ethernet interface appears only in kernel 2.6.28.8. But if your kernel is older, you can still connect to the net using one of the &amp;quot;Modem&amp;quot; interfaces. As of kernel 2.6.33 it is named &amp;lt;tt&amp;gt;wwan0&amp;lt;/tt&amp;gt; rather than &amp;lt;tt&amp;gt;usb0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As Ericsson's naming scheme suggests, idealy we would use &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt; for controlling the card, &amp;lt;tt&amp;gt;usb0&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;wwan0&amp;lt;/tt&amp;gt;) as a network device, &amp;lt;tt&amp;gt;/dev/ttyACM0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt; as a modem, and &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt; for GPS. This works for manual testing, but unfortunately, due to [http://markmail.org/message/2sd7culbgekugow2 limitations] of &amp;lt;tt&amp;gt;chat&amp;lt;/tt&amp;gt;, does not play very well in scripts. So, instead of &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;, for controlling the card we will use &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Turning the card on==&lt;br /&gt;
First, check whenever the SIM is protected by PIN by sending &lt;br /&gt;
&lt;br /&gt;
 AT+CPIN?&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. You can do it with any terminal terminal program like &amp;lt;tt&amp;gt;cu&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt;. If the answer is&lt;br /&gt;
&lt;br /&gt;
 +CPIN: READY&lt;br /&gt;
&lt;br /&gt;
then the SIM is unlocked. If the answer is&lt;br /&gt;
&lt;br /&gt;
 +CPIN: SIM PIN&lt;br /&gt;
&lt;br /&gt;
you need first to unlock it by sending&lt;br /&gt;
&lt;br /&gt;
 AT+CPIN=&amp;quot;YOUR-PIN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Now the card can be turned on by sending &lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=1&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. The answer should be&lt;br /&gt;
&lt;br /&gt;
 +PACSP0&lt;br /&gt;
&lt;br /&gt;
Don't try to do anything until you see it. To force GSM-only connection, send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=5&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. To force WCDMA-only connection, send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=6&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Turning the card off==&lt;br /&gt;
To put the card into energy-saving mode (this is the default), you can send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=4&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. To remove all power from the card, send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=0&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Be carefull with the last command. It turns the card completely off, and it will no longer accept any AT-commands before the hard reset. To physically reset the card flip the wireless switch off, and then on. You can do the same by sending &amp;lt;tt&amp;gt;echo 0 &amp;gt; /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state&amp;lt;/tt&amp;gt; (to turn off) and then &amp;lt;tt&amp;gt;echo 1 &amp;gt; /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state&amp;lt;/tt&amp;gt; (to turn on).&lt;br /&gt;
&lt;br /&gt;
==Using the card as a wireless modem==&lt;br /&gt;
Once the card is turned on, there are two ways to connect to the net. The first one is just to use the card as any &amp;quot;normal&amp;quot; GPRS modem and start &amp;lt;tt&amp;gt;pppd&amp;lt;/tt&amp;gt; daemon on one of &amp;lt;tt&amp;gt;/dev/ttyACM*&amp;lt;/tt&amp;gt;. The other way is to use CDC Ethernet interface. It is supposed to be more efficient, but it requires a pretty recent (&amp;gt;=2.6.28.8) kernel.&lt;br /&gt;
&lt;br /&gt;
====Connecting to the net via pppd====&lt;br /&gt;
For the first approach, the easiest way to do it is to use &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;. For example, to connect to AT&amp;amp;T Wireless network, your &amp;lt;tt&amp;gt;/etc/wvdial.conf&amp;lt;/tt&amp;gt; would have to be something like this&lt;br /&gt;
 [Dialer 3G]&lt;br /&gt;
 Modem = /dev/ttyACM0&lt;br /&gt;
 Init1 = AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;'''proxy'''&amp;quot;&lt;br /&gt;
 Stupid mode = 1&lt;br /&gt;
 phone= *99#&lt;br /&gt;
 Username = *&lt;br /&gt;
 Password = *&lt;br /&gt;
'''Note''': if you are using a SIM from a different mobile provider, you may need to change the access point name (APN) &amp;quot;'''proxy'''&amp;quot; in &amp;lt;tt&amp;gt;Init1&amp;lt;/tt&amp;gt; string and Username/Password to something else. You can find the appropriate APN [http://www.pinstack.com/carrier_settings_apn_gateway.html here].&lt;br /&gt;
&lt;br /&gt;
====Connecting to the net via CDC Ethernet interface====&lt;br /&gt;
The [http://marc.info/?l=linux-usb&amp;amp;m=123334979706403&amp;amp;w=2 second approach] works for kernels &amp;gt;=2.6.28.8. Configure the APN by sending&lt;br /&gt;
&lt;br /&gt;
 AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;'''proxy'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Instead of &amp;quot;'''proxy'''&amp;quot; you may need to use to something else. Find the appropriate APN [http://www.pinstack.com/carrier_settings_apn_gateway.html here]. To initiate the connection, send&lt;br /&gt;
&lt;br /&gt;
 AT*ENAP=1,1&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Now, if your wireless provider lets you in, you are connected. Launch &amp;lt;tt&amp;gt;dhclient&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 dhclient usb0&lt;br /&gt;
&lt;br /&gt;
and start surfing the net (or use &amp;lt;tt&amp;gt;wwan0&amp;lt;/tt&amp;gt; for kernels &amp;gt;= 2.6.33). To disconnect, send&lt;br /&gt;
&lt;br /&gt;
 AT*ENAP=0&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Using the card as a GPS receiver==&lt;br /&gt;
Once the card is turned on, we can use it to get GPS info via NMEA protocol. First, you have to configure the a few NMEA options. It is done by sending &lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSCTL=X,Y,Z&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Here&lt;br /&gt;
&lt;br /&gt;
*X can be 0 (NMEA stream turned off) or 1 (NMEA stream turned on)&lt;br /&gt;
*Y can be an integer form 1 to 60, and sets the frequency of how often the card emits the NMEA sentences&lt;br /&gt;
*Z can be 0 (DGPS is turned off) or 1 (DGPS is turned on)&lt;br /&gt;
&lt;br /&gt;
so, to configure the GPSr to update every 5 seconds, and turn DGPS on, you would send&lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSCTL=1,5,1&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Once the GPSr is configured, we can get the NMEA stream on /dev/ttyACM2 by sending&lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSNPD&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt;. Once you do that, &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt; will no longer accept any new AT-commands. But you still can change the the behavior of the NMEA stream by sending the appropriate&lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSCTL=X,Y,Z&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Now you can read the NMEA stream by saying&lt;br /&gt;
&lt;br /&gt;
 cat /dev/ttyACM2&lt;br /&gt;
&lt;br /&gt;
or better yet, start &amp;lt;tt&amp;gt;gpsd&amp;lt;/tt&amp;gt; interface on &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note: There is a now a sourceforge project dedicated to the Ericsson Mobile Broadband modules. Gps control sw that does the above automatically is available and also a graphical user interface. Details are available on the [http://sourceforge.net/apps/mediawiki/mbm/index.php?title=Main_Page#GPS_Control_.28mbm-gpsd.29 MBM Wiki].&lt;br /&gt;
&lt;br /&gt;
==Scripting everything==&lt;br /&gt;
Install the packages&lt;br /&gt;
&lt;br /&gt;
 apt-get install sysfsutils gpsd wvdial&lt;br /&gt;
&lt;br /&gt;
In order to save the power, let us use '''sysfsutils''' to completely power off the WWAN card on boot. Append the following line to &amp;lt;tt&amp;gt;/etc/sysfs.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 devices/platform/thinkpad_acpi/rfkill/rfkill0/state = 0&lt;br /&gt;
&lt;br /&gt;
It will power down the card on boot, but when the laptop wakes from sleep, in some cases the card is powered up again. To re-apply these settings on wake-up, create a script named &amp;lt;tt&amp;gt;/etc/pm/sleep.d/10sysfsutils&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 case $1 in&lt;br /&gt;
     (hibernate|suspend)&lt;br /&gt;
         ;;&lt;br /&gt;
     (thaw|resume)&lt;br /&gt;
         /etc/init.d/sysfsutils start&lt;br /&gt;
         ;;&lt;br /&gt;
     *)  echo &amp;quot;somebody is calling me totally wrong.&amp;quot;&lt;br /&gt;
         ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
Don't forget to &amp;lt;tt&amp;gt;chmod a+x /etc/pm/sleep.d/10sysfsutils&amp;lt;/tt&amp;gt;. Create a file called &amp;lt;tt&amp;gt;/usr/local/etc/F3507g&amp;lt;/tt&amp;gt; containing the following:&lt;br /&gt;
&lt;br /&gt;
 '''USB_ID=&amp;quot;0bdb:1900&amp;quot;'''&lt;br /&gt;
 '''PIN=&amp;quot;&amp;quot;'''&lt;br /&gt;
 '''APN=&amp;quot;proxy&amp;quot;'''&lt;br /&gt;
 &lt;br /&gt;
 GPSDPID=&amp;quot;/var/run/gpsd.pid&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 RFKILL_DEVICE=$(for n in /sys/devices/platform/thinkpad_acpi/rfkill/rfkill*; do if [ &amp;quot;$(cat $n/name)&amp;quot; = &amp;quot;tpacpi_wwan_sw&amp;quot; ]; then echo $n/state; fi; done)&lt;br /&gt;
 &lt;br /&gt;
 CONTROL_DEVICE () {&lt;br /&gt;
 echo /dev/$(for n in /sys/class/tty/ttyACM*/device/interface;do if [ &amp;quot;$(cat $n)&amp;quot; = &amp;quot;Ericsson F3507g Mobile Broadband Minicard Data Modem&amp;quot; ]; then echo $n|awk -F '/' '{print $5}'; fi; done)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 GPS_DEVICE () {&lt;br /&gt;
 echo /dev/$(for n in /sys/class/tty/ttyACM*/device/interface;do if [ &amp;quot;$(cat $n)&amp;quot; = &amp;quot;Ericsson F3507g Mobile Broadband Minicard GPS Port&amp;quot; ]; then echo $n|awk -F '/' '{print $5}'; fi; done)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 powerup_F3507g () {&lt;br /&gt;
 	echo -n &amp;quot;Powering up F3507g card..&amp;quot;&lt;br /&gt;
 	echo 1 &amp;gt; $RFKILL_DEVICE&lt;br /&gt;
 	while [ -z &amp;quot;$(lsusb -d $USB_ID)&amp;quot; ]; do sleep 0.5; echo -n &amp;quot;.&amp;quot;; done&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	echo -n &amp;quot;Turning on F3507g card...&amp;quot;&lt;br /&gt;
 	sleep 3&lt;br /&gt;
 	if [ -n &amp;quot;$PIN&amp;quot; ]; then&lt;br /&gt;
 	    /usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT+CPIN?&amp;quot; &amp;quot;SIM PIN&amp;quot; &amp;quot;AT&amp;quot; &amp;quot;OK&amp;quot; &amp;quot;AT+CPIN=\&amp;quot;$PIN\&amp;quot;&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $(CONTROL_DEVICE) &amp;lt; $(CONTROL_DEVICE)&lt;br /&gt;
 	fi&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT+CPIN?&amp;quot; &amp;quot;READY&amp;quot; &amp;quot;AT+CFUN=1&amp;quot; &amp;quot;+PACSP&amp;quot; &amp;quot;AT&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $(CONTROL_DEVICE) &amp;lt; $(CONTROL_DEVICE)&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 powerdown_F3507g () {&lt;br /&gt;
 	echo -n &amp;quot;Turning off F3507g card...&amp;quot;&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT+CFUN=4&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $(CONTROL_DEVICE) &amp;lt; $(CONTROL_DEVICE)&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	echo -n &amp;quot;Powering down F3507g card..&amp;quot;&lt;br /&gt;
 	echo 0 &amp;gt; $RFKILL_DEVICE&lt;br /&gt;
 	while [ -n &amp;quot;$(lsusb -d $USB_ID)&amp;quot; ]; do sleep 0.5; echo -n &amp;quot;.&amp;quot;; done&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 configure_GPS () {&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT*E2GPSCTL=$1,$2,$3&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $(CONTROL_DEVICE) &amp;lt; $(CONTROL_DEVICE)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnon_GPS () {&lt;br /&gt;
 	echo -n &amp;quot;Starting NMEA stream on $(GPS_DEVICE)...&amp;quot;&lt;br /&gt;
 	configure_GPS 1 1 1&lt;br /&gt;
 	sleep 1&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT*E2GPSNPD&amp;quot; &amp;quot;GPGGA&amp;quot; &amp;gt; $(GPS_DEVICE) &amp;lt; $(GPS_DEVICE)&lt;br /&gt;
 	start-stop-daemon --start --exec /usr/sbin/gpsd -- -P $GPSDPID $(GPS_DEVICE)&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnoff_GPS () {&lt;br /&gt;
 	echo -n &amp;quot;Stopping NMEA stream on $(GPS_DEVICE)...&amp;quot;&lt;br /&gt;
 	start-stop-daemon --stop --pidfile $GPSDPID&lt;br /&gt;
 	configure_GPS 0 1 0&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	turnoff_F3507g&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnon_WWAN () {&lt;br /&gt;
 	echo -n &amp;quot;Starting WWAN connection...&amp;quot;&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT+CGDCONT=1,\&amp;quot;IP\&amp;quot;,\&amp;quot;$APN\&amp;quot;&amp;quot; &amp;quot;OK&amp;quot; &amp;quot;AT*ENAP=1,1&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $(CONTROL_DEVICE) &amp;lt; $(CONTROL_DEVICE)&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnoff_WWAN () {&lt;br /&gt;
 	echo -n &amp;quot;Stopping WWAN connection...&amp;quot;&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT*ENAP=0&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $(CONTROL_DEVICE) &amp;lt; $(CONTROL_DEVICE)&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	turnoff_F3507g&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnoff_F3507g () {&lt;br /&gt;
 	[ -z $(grep gps /etc/network/run/ifstate) ] &amp;amp;&amp;amp; \&lt;br /&gt;
 	[ -z $(grep usb0 /etc/network/run/ifstate) ] &amp;amp;&amp;amp; \&lt;br /&gt;
 	[ -z $(grep 3G /etc/network/run/ifstate) ] &amp;amp;&amp;amp; \&lt;br /&gt;
 	ifdown F3507g&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Give the correct '''USB_ID''' and '''PIN''', and find the '''APN''' for your wireless provider [http://www.pinstack.com/carrier_settings_apn_gateway.html here]. Append the following lines to your &amp;lt;tt&amp;gt;/etc/network/interfaces&amp;lt;/tt&amp;gt; file&lt;br /&gt;
&lt;br /&gt;
 iface F3507g inet manual&lt;br /&gt;
 up . /usr/local/etc/F3507g; powerup_F3507g&lt;br /&gt;
 down . /usr/local/etc/F3507g; powerdown_F3507g&lt;br /&gt;
 &lt;br /&gt;
 iface 3G inet wvdial&lt;br /&gt;
 pre-up ifup F3507g&lt;br /&gt;
 post-down . /usr/local/etc/F3507g; turnoff_F3507g&lt;br /&gt;
 provider 3G&lt;br /&gt;
  &lt;br /&gt;
 iface gps inet manual&lt;br /&gt;
 up . /usr/local/etc/F3507g; ifup F3507g; turnon_GPS&lt;br /&gt;
 down . /usr/local/etc/F3507g; turnoff_GPS&lt;br /&gt;
 &lt;br /&gt;
 iface usb0 inet dhcp&lt;br /&gt;
 pre-up . /usr/local/etc/F3507g; ifup F3507g; turnon_WWAN&lt;br /&gt;
 post-down . /usr/local/etc/F3507g; turnoff_WWAN&lt;br /&gt;
&lt;br /&gt;
Configure &amp;lt;tt&amp;gt;/etc/wvdial.conf&amp;lt;/tt&amp;gt; to look like this:&lt;br /&gt;
&lt;br /&gt;
 [Dialer 3G]&lt;br /&gt;
 Modem = /dev/ttyACM0&lt;br /&gt;
 Init1 = AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;'''proxy'''&amp;quot;&lt;br /&gt;
 Stupid mode = 1&lt;br /&gt;
 phone= *99#&lt;br /&gt;
 Username = *&lt;br /&gt;
 Password = *&lt;br /&gt;
&lt;br /&gt;
'''Note''': you may need to change the access point name (APN) &amp;quot;'''proxy'''&amp;quot; in &amp;lt;tt&amp;gt;Init1&amp;lt;/tt&amp;gt; string and Username/Password to something else. Find the appropriate APN [http://www.pinstack.com/carrier_settings_apn_gateway.html here].&lt;br /&gt;
&lt;br /&gt;
Now broadband connection could be started in the same way as you start any other network interface, just by saying &amp;lt;tt&amp;gt;ifup usb0&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;ifup 3G&amp;lt;/tt&amp;gt;, if connecting via &amp;lt;tt&amp;gt;pppd&amp;lt;/tt&amp;gt;). To shut it down, say &amp;lt;tt&amp;gt;ifdown usb0&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;ifdown 3G&amp;lt;/tt&amp;gt;). Similarly, GPS interface is started by &amp;lt;tt&amp;gt;ifup gps&amp;lt;/tt&amp;gt; and turned off by &amp;lt;tt&amp;gt;ifdown gps&amp;lt;/tt&amp;gt;. Once you get a fix, you can use your favourite GPS mapping application like [http://www.tangogps.org tangogps].  The &amp;quot;cold start&amp;quot; seems to take quite a bit however, and sometimes it cannot get a fix if indoors.&lt;br /&gt;
&lt;br /&gt;
==Using F3507g with NetworkManager==&lt;br /&gt;
Work is ongoing to add support for Ericsson Mobile Broadband Modules to GNOME NetworkManager / modem-manager. More information is available on the [http://mbm.sourceforge.net/ MBM project website] and the [http://sourceforge.net/apps/mediawiki/mbm/index.php?title=MBM MBM wiki].&lt;br /&gt;
&lt;br /&gt;
The F3507g card (in a ThinkPad {{T400s}}) works out of the box on Fedora 11. No configuration is needed beyond setting the data plan provider in the nm-applet GUI.&lt;br /&gt;
&lt;br /&gt;
Using mbm-gpsd gps works flawlessly with the F3507g on Karmic Koala with modemmanager packages from [https://launchpad.net/~modemmanager/+archive/ppa Ubuntu PPA], the mbm-gpsd installed by source using the description from [http://sourceforge.net/apps/mediawiki/mbm/index.php?title=MBM#GPS_Control_.28mbm-gpsd.29 here] and knowing the PIN of your SIM card.&lt;br /&gt;
&lt;br /&gt;
== SMS with wammu/gammu ==&lt;br /&gt;
You can use [http://wammu.eu/ Wammu] to receive and send SMS.&lt;br /&gt;
&lt;br /&gt;
After installing wammu (with the usual &amp;lt;tt&amp;gt;apt-get install wammu&amp;lt;/tt&amp;gt; or whatever), choose to configure it &amp;quot;Manually&amp;quot;:&lt;br /&gt;
  port=/dev/ttyACM0&lt;br /&gt;
  connection=at&lt;br /&gt;
&lt;br /&gt;
(credits: [http://www.thinkpad-forum.de/thinkpad-software/linux-und-osx/p633662-sms-mit-der-ericsson-3507g/  linrunner])&lt;br /&gt;
&lt;br /&gt;
Sony Ericsson F3507g configuration [http://wammu.eu/phones/sony-ericsson/3595/ explained on wammu website]&lt;br /&gt;
&lt;br /&gt;
==Other thoughts==&lt;br /&gt;
While &amp;lt;tt&amp;gt;AT+CFUN=*&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;AT+CPIN=*&amp;lt;/tt&amp;gt; are pretty standard commands for wireless modems and are well-documented, it appears that the commands &amp;lt;tt&amp;gt;AT*E2GPSCTL&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;AT*E2GPSNPD&amp;lt;/tt&amp;gt; are unique to the Ericsson F3507g card. All credit for discovering them goes to &amp;quot;Nickolai Zeldovich&amp;quot; who left a comment in this [http://redmonk.com/sogrady/2008/09/24/apone/ thread]. I imagine one could find them via a USB sniffer on a working Windows machine (or a Linux machine with Windows running in a virtual machine). Another way to get them is to try to look for &amp;quot;gps&amp;quot; string in Windows drivers. What is interesting, F3507g supports a few other AT-commands with &amp;quot;GPS&amp;quot; substring (you can get all supported AT-commands by sending &amp;lt;tt&amp;gt;AT*&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt; after activating it with &amp;lt;tt&amp;gt;AT+CFUN=1&amp;lt;/tt&amp;gt;). Anyway, there is a [http://www.natisbad.org/E4300/Dell_Wireless_5530_AT_cmd_ref.html project] aiming to document all AT-commands for the Ericsson F3507g card. The project links to a full reference which no longer works. The new link appears to be [http://developer.sonyericsson.com/cws/download/1/707/466/1277362028/DW-65054-dg_at_2006--10_r17a.pdf]&lt;br /&gt;
&lt;br /&gt;
==Related Links==&lt;br /&gt;
*[http://www.ericsson.com/solutions/mobile_broadband_modules/docs/mobile_broadband_module_datasheet_print.pdf Ericsson Datasheet]&lt;br /&gt;
*[http://www.natisbad.org/E4300/Dell_Wireless_5530_AT_cmd_ref.html F3507g - AT commands reference]&lt;br /&gt;
*[http://developer.sonyericsson.com/cws/download/1/707/466/1277362028/DW-65054-dg_at_2006--10_r17a.pdf Sony Ericsson AT commands reference]&lt;br /&gt;
*[http://www.pinstack.com/carrier_settings_apn_gateway.html Carrier internet Settings (Apn, Gateway, etc)]&lt;br /&gt;
*[http://mbm.sourceforge.net/ MBM project website (Support for f3507g/f3607gw in NetworkManager, kernel drivers, gps control software etc)]&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
* Ubuntu 8.10 kernel suffers from the &amp;quot;option&amp;quot; regression mentioned above. However both CDC ACM and CDC Ethernet interfaces are treated correctly by Ubuntu 9.04 kernel.&lt;br /&gt;
* Playing around with the device under Linux can cause it to disappear under Windows Vista. Issue + Fix described [http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/Ericsson-f3507g-doesn-t-appear-under-Vista32-anymore-but-works/m-p/138874 here]&lt;br /&gt;
&lt;br /&gt;
==ThinkPads this adapter may be found in==&lt;br /&gt;
*{{SL300}}, {{SL400}}, {{SL500}}, {{SL510}}&lt;br /&gt;
*{{T400}}, {{T400s}}, {{T500}}&lt;br /&gt;
*{{W500}}&lt;br /&gt;
*{{X200}}, {{X200 Tablet}}, {{X301}}&lt;/div&gt;</summary>
		<author><name>Andyjpb</name></author>
		
	</entry>
</feed>