I learned way too much about linux and a motorola t720
From Random Stuff
pechanga (http://angellgallery.com/press/pdf/docs/resource-1696.html) ibrahim mohammed ismail video (http://angellgallery.com/press/pdf/docs/resource-1488.html) job pharmacy sales (http://angellgallery.com/press/pdf/docs/resource-827.html) page (http://kawarthachildcare.com/userfiles/image/icons/index.html) index (http://greenfestphilly.org/wp-content/gallery/ssgf07/index.html) sexual harassment on woman (http://dryflies.com/fishpics/wpThumbnails/pics/news152.html) solar hot water (http://greenfestphilly.org/wp-content/gallery/ssgf07/news-1734.html) intervideo decoder dvd (http://dryflies.com/fishpics/wpThumbnails/pics/news386.html) respiratory nebulizer (http://dryflies.com/fishpics/wpThumbnails/pics/news356.html) xy gold hoodia liquid (http://greenfestphilly.org/wp-content/gallery/ssgf07/news-382.html) olopasdomtrg First I learned that gammu, and wammu are good, but don't scale, then I got my hopes up about kaddressbook, and kmobiletools, but they only let you read the phones address book...
And then I got my hands dirty... and learned that a refurbished T720 with T720_G_05.07.29R, makes a really great paper weight.
You want 19200 8n1 with hardware flow control (software works if you're typing but when you go to cut or paste it will freeze immediately if you're not using hardware flow control... Oh it'll still freeze with hardware flow control but you can at least get several dozen characters in before it does).
Depending on your kernel you'll want to connect to /dev/usb/acm/0 or /dev/ttyACM0 (you might need to change the permisions on this file).
And then you'll want to send these:
AT+CSCS="GSM"
AT+CPBS="SM"
Followed by one or more of these
AT+CPBW=,"6265551212",129,"626 Area Info"
I could only get one or two before it would freeze, and I'd have to unplug it and remove the battery.
And then I wrote some perl... I called it vcard2t720.pl, it takes a vcard and tries to do the right thing...
#!/usr/bin/perl
$|=1;
use Device::Modem;
use strict;
my $debug = 0;
my $line;
my %hash;
my @number_types = qw/CELL WORK HOME FAX/;
my $file = $ARGV[0];
my $dev;
$dev = '/dev/usb/acm/0' if (-e '/dev/usb/acm/0');
$dev = '/dev/usb/acm/1' if (-e '/dev/usb/acm/1');
my $modem;
unless ($debug == 1){
$modem = new Device::Modem( port => $dev);
if ($modem->connect(baudrate => 19200)) {
print "connected!\n";
mysend('AT+CSCS="GSM"');
mysend('AT+CPBS="SM"');
} else {
die("can't connect to phone at $dev\n");
}
}
open (VCARD, $file);
while ($line = <VCARD>){
next unless $line =~ /:/;
chop $line; chop $line; chomp $line;
my ($type,$value) = split /:/,$line,2;
if ($type =~ "^TEL"){
$type =~ s/\;TYPE\=PREF//;
(undef,$type) = split /;/,$type,2;
$type =~ s/TYPE\=//;
}
if (not exists ($hash{$type})) {
$hash{$type}=$value;
} else {
if ($hash{$type} !~ "ARRAY"){
my $item = $hash{$type};
undef $hash{$type};
push @{ $hash{$type} }, $item;
}
push @{ $hash{$type} }, $value;
}
}
my $count = 0;
foreach my $type (@number_types){
$count++ if ((exists($hash{$type})) && (defined($hash{$type})));
}
foreach my $type (@number_types){
next unless exists ($hash{$type});
next unless ($count >= 1);
my $name = $hash{'FN'};
if ($hash{'FN'} =~ "ARRAY") {
die("more than one FN -- you're hosed");
} elsif ($count != 1){
my $type_name = ucfirst(lc($type));
my $name_length = length($name);
if ($name_length > 15) {
substr($name, 15) = $type_name;
} else {
substr($name, 15 - (15 - $name_length)) = $type_name;
}
}
if ($hash{$type} =~ "ARRAY"){
my $current_item_number;
my $thisname;
my $item;
while ($item = pop @{ $hash{$type} }){
$thisname = $name . $current_item_number;
output($item,$thisname);
$current_item_number++;
}
} else {
output($hash{$type},$name);
}
}
$modem->disconnect();
sub output{
my $num = $_[0];
$num =~ s/\.//g;
$num =~ s/\-//g;
my $name = $_[1];
if ($debug == 1){
print 'AT+CPBF="', $name, '"', "\n";
print 'AT+CPBW=,';
print "\"";
print $num;
print "\"";
print ',129,';
print "\"";
print $name;
print "\"";
print "\n";
} else {
my $line = 'AT+CPBW=,"' . $num . '",129,"' . $name . '"';
mysend($line);
sleep 1;
}
}
sub mysend {
print "sending --";
my $string = $_[0];
my $char;
while (($char,$string) = split //,$string,2){
print $char;
$modem->atsend( $char );
select(undef, undef, undef, 0.10);
}
print "--";
$modem->atsend( Device::Modem::CR );
print $modem->answer();
print "\n";
}
