As could probably have been guessed by things like this, I’ve been more than a bit frustrated by my continuing inability to get the on board WWAN card in my new X301 – an Ericsson F3507g – working under Ubuntu. When I initially reviewed the machine, and later commented on the Ubuntu Intrepid compatibility, the Ericsson was one of the few pieces of hardware I couldn’t get to work. Which was unfortunate, as that has occasionally left me at the mercy of brutally inefficient and expensive hotel wireless.
Well, all of that is over as of yesterday. Using some instructions from the invaluable Thinkwiki.org, I not only got the card running, but was able to successfully connect to the AT&T network. Which is, frankly, awesome.
Anyway, here’s how I did it. Before I continue, though, please note that all credit for these scripts belongs with the Thinkwiki.org user Willsowerbutts. I’m just repackaging his excellent work for the benefit of fellow Ubuntu users and AT&T customers. The advantage of his approach, as well, is that it not only handles connectivity but the powering off of the card, which is something of a power hog.
Enjoy.
sudo apt-get install ppp wvdial sysfsutils
sudo nano /etc/sysfs.conf
Paste the following:
block/sda/queue/scheduler = noop
devices/platform/thinkpad_acpi/bluetooth_enable = 0
devices/platform/thinkpad_acpi/wwan_enable = 0
class/leds/tpacpi::power/brightness = 0sudo nano /etc/pm/sleep.d/sysfsutils
Paste the following:
#!/bin/bash
case $1 in
(hibernate|suspend)
;;
(thaw|resume)
/etc/init.d/sysfsutils start
;;
*) echo "somebody is calling me totally wrong."
;;
esac
sudo nano /etc/wvdial.conf
Note that the “ISP.CINGULAR” portion is unique to the AT&T network; Willsowerbutts’ scripts have the proper APN strings for Tmobile and Vodafone. Anyway, paste the following:
[Dialer 3G]
Modem = /dev/ttyACM0
Init1 = AT+CGDCONT=1,"IP","ISP.CINGULAR"
Stupid mode = 1
phone= *99#
Username = *
Password = *- sudo nano /etc/ppp/peers/wvdial
Paste the following:
noauth
name wvdial
usepeerdns
noccp
novj
novjccomp
sudo nano /usr/local/bin/3g-dialup
Paste the following:
#!/bin/sh
WWANDEVICE=/dev/ttyACM2
## Check we have appropriate permissions
if [ `whoami` != "root" ]; then
echo Run this script as root
exit 0
fi## Enable the WWAN hardware
echo -n "Powering up WWAN device .."
echo 1 > /sys/devices/platform/thinkpad_acpi/wwan_enable
while [ ! -c $WWANDEVICE ]; do sleep 0.5; echo -n "."; done
echo " OK"echo -n "Initialising WWAN modem ..."
/usr/sbin/chat -v "" "AT+CFUN=1" "+PACSP0" "AT" "OK" > $WWANDEVICE < $WWANDEVICE
echo " OK"echo "Starting PPP -- hit Ctrl+C when finished"
/usr/bin/wvdial 3Gecho -n "Shutting down WWAN modem ..."
/usr/sbin/chat -v "" "AT+CFUN=4" "OK" > $WWANDEVICE < $WWANDEVICE
echo " OK"## Disable the WWAN hardware, save power
echo -n "Powering down WWAN device .."
echo 0 > /sys/devices/platform/thinkpad_acpi/wwan_enable
while [ -c $WWANDEVICE ]; do sleep 0.5; echo -n "."; done
echo " OK"sudo chmod a+x /usr/local/bin/3g-dialup
Once all of that is done, you can connect to the AT&T network using the command sudo 3g-dialup
, and disconnect with a CTL-C
. You may get a few false starts where the card is unable to obtain an IP, but it will retry. You'll know that it's been successful when it grabs an IP and DNS. If the IP or DNS begins with 10.10, it's an internal connection and it will fail. Cancel out, and retry.
If anyone's been able to get this card working with the 3G GUI in NetworkManager, feel free to post the HowTo in the comments below. Until then, I'll count myself fortunate for having a command line solution.
tecosystems » The X301 & Ubuntu Intrepid: The One Month Review says:
December 9, 2008 at 3:56 pm
[…] Update: This one’s been solved: see the instructions here. […]
tecosystems » Meet Apone: The X301 Review (Linux and Vista) says:
December 9, 2008 at 3:58 pm
[…] WWAN: Update: This one’s been solved: see the instructions here. […]
Mark says:
January 6, 2009 at 2:52 pm
Thanks for the instructions! A couple of items:
1) watch the copy and paste from the web site … the quotes (“) didn’t copy over well.
2) i had to specify “isp.cingular” in lower case
Also, I’ve now gotten connected, but my system isn’t recognizing that I have a valid network connection. I see the IP address (remote – 10.64.64.64), (local – 32.179.60.189), (Primary DNS address 209.183.35.23), and (secondary DNS address 209.183.33.23) but I still can not access the net. What am I missing?
Mark
Mark says:
January 6, 2009 at 3:13 pm
Well, of course, as soon as I posted my comments, I was able to get to the web … not sure why the delay, but it’s working GREAT now … THANK YOU THANK YOU!
Mark
HOWTO : Configure AT&T 3G on Windows Vista without Communication Manager » Kudithipudi.Org says:
January 8, 2009 at 6:53 am
[…] I recently got a 3G card at work and needed to install it on my laptop. I figured that the AT&T provided software was just setting up a dial-up connection with specific settings. Guessing that some Linux geek might have already figured out what the settings where, I used the following search term in Google “Linux Ubuntu Configure AT&T 3G card”.. Lo and behold, the following link showed up http://redmonk.com/sogrady/2008/12/07/how-to-use-an-att-ericsson-f3507g-card-on-ubuntu-intrepid/. […]
Using the builtin GPS in a Thinkpad X200 under Linux | tjansson.dk says:
January 17, 2009 at 8:14 am
[…] 4. redmonk.com/sogrady/2008/12/07/how-to-use… […]
Using the builtin GPS in a Thinkpad X200 under Linux by I Thinkpaded says:
March 5, 2009 at 10:48 am
[…] 4. redmonk.com/sogrady/2008/12/07/how-to-use… […]
tennents says:
April 20, 2009 at 6:20 am
I have a dell 5530 card, which is a rebranded F3507g.
It works like a charm under ubuntu 9.04. I just had to chose my service provider and connection manager did all the rest!
tecosystems » The Startup’s Guide to Working With RedMonk says:
November 11, 2009 at 5:30 pm
[…] bat for various open source communities both publicly and behind the scenes, writing up open source HowTo’s, commissioning plugins like Progressive License and building out sites like FOSS […]