Posted by Jim Morris
Fri, 11 Jul 2008 20:53:11 GMT
OK so I just got my shiny new OpenMoko Freerunner GTA02.
This is an Open source GSM cell phone, running Linux and OpenMoko S/W stack.
This phone is really a developer release although it implies on the
website it is usable for the masses.
We will see...
Turning it on you see all this Linux boot up tiny tiny text scroll by,
ya the average Joe blo is going to love that ;)
So I followed the
startup guide
and plugged in the usb cable to my Ubuntu desktop. (If you don't have
Linux think again, maybe that $400's can go towards a tank of gas).
I followed the usb networking guide, and ssh'd into the phone, and
Holy Crap! it just worked!
First off it doesn't come with much, It can make a phone call, but no
other apps seem to be loaded.
Oh one gripe is there is nowhere to stow a stylus, it comes with a
huge pen/laser pointer/stylus, but who is going to keep that in their
pocket, and those with fat fingers are going to have a hard time doing
anything.
I actually had to RTFM to figure out how to close an application! BTW
this guide
seems to be pretty good. (You click the power button to close an app!
it really needs a close button somewhere where people expect one).
After loading most of the needed apps via the opkg app, which is slow
via USB 1.1 (whats up with that guys? its 2008! USB 2 is REQUIRED)
I found that most of them are pretty much unusable. The default
2007.2 UI is unintuitive, and most of the necessary apps simply don't
work well. Adding a contact is virtually impossible, try setting the
phone number to home instead of work for instance.
The web browser works but you can't input anything into forms, so
don't try logging into gmail.
The calendar makes no sense whatsoever.
OK so I am being harsh here, but the damn thing costs $400! and they
imply your average user could use it as a phone, so lets get over that
issue, and take it that this is a work in progress, very early stages,
and open source. It needs a good UI guide, come on we may not have a
super UI design guy, but copy the iphone or any other phone on the
market to get a clue how to make an intuitive UI. I am not a UI guy,
but even I can see this needs some work. BTW I do like the way the
scrolling works, that is very cool, you flick up or down and it
scrolls with some friction looks great, and works even better.
The platform itself has plenty of potential, built in GPS (which
doesn't work without an external antenna), accelerometers, which no one
has figured out how to use yet. A really nice VGA display, although
its invisible in bright sunlight, wifi which I was totally unable to
get to connect to a WPA/PSK station, and bluetooth, with no S/W support
for headsets.
Once all these issues are resolved I think it would make a great
primary handset.
I'll do my part and write something for it and release it as open
source, but I'm disappointed I can't use this as a phone yet.
I'll continue to RTFM if I can find one that describes the current UI
(the WIKI describes an obsolete UI). Maybe some of my issues are
simply not knowing how to use the UI, but that is a bad sign as I am a
developer and can use most UI's without RTFM'ing.
I still think this is a great (if expensive) toy for now, especially
for us Linux Geeks, and one day it may actually be a great phone too.
GPRS
UPDATE I got GPRS working, followed the instructions on the
WIKI, it is manual but it works.
My tmobile chatscript is...
# File: /etc/ppp/chatscripts/tmobile
TIMEOUT 20
ABORT BUSY
ABORT "NO ANSWER"
ABORT "NO DIALTONE"
ABORT VOICE
ABORT ERROR
ABORT RINGING
SAY 'Starting GPRS connect script\n'
"" +++
OK ATZ
OK ATE1
OK AT+CFUN=1
OK AT+COPS
SAY 'Setting APN\n'
OK AT+CGDCONT=1,"IP","wap.voicestream.com"
ABORT 'NO CARRIER'
SAY 'Dialing...\n'
OK ATD*99***1#
CONNECT /n/d
and the script
# File: /etc/ppp/peers/tmobile
#
/dev/ttySAC0
115200
crtscts
lock
hide-password
defaultroute # set the default route
usepeerdns
holdoff 3
ipcp-accept-local
lcp-echo-failure 12
lcp-echo-interval 3
noauth
noipdefault
novj
novjccomp
replacedefaultroute
persist
debug
connect "/usr/sbin/chat -v -f /etc/ppp/chatscripts/tmobile"
disconnect "/usr/sbin/chat -v -f /etc/ppp/chatscripts/tmobile-disconnect"
and a script to run it all...
/etc/init.d/gsmd stop
echo "1" > /sys/bus/platform/devices/neo1973-pm-gsm.0/power_on
chown uucp.uucp /dev/ttySAC0
stty -F /dev/ttySAC0 crtscts
pppd call tmobile
GPS
I did get a fix with the GPS using the internal antenna, however it
takes some concerted effort, see this page
for hints. NOTE without the sd card I get a fix within 1 minute.
WIFI
UPDATE Got WIFI and WPA/PSK working, again there are two sets of
instructions on the WIKI, the first set doesn't work for me, however
the second set does... adding
iface eth0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
to /etc/network/interfaces and then do ifdown usb0 and ifup eth0 of
course you need to setup /etc/wpa_supplicant/wpa_supplicant.conf
appropriately. However when I ssh into the phone via the wifi after
disconnecting the USB, it looses its connection regularly and usually
within a few minutes. Not sure why that is, my WIFI is generally very
stable with my laptop. I wonder if the bluetooth is interfering with
it?
Finally I would like to say that I love the idea of an open spurce
cell phone. I can see that these issues will probably get fixed pretty
quickly as it is open source and there are thousands of eyes on the
code, and if there is something you don't like you can fix it. Lets
see you do that on your I-Phone ;)
Posted in Openmoko, Linux | Tags freerunner, openmoko | 19 comments | no trackbacks
Posted by Jim Morris
Fri, 11 Jul 2008 20:53:11 GMT
OK so I just got my shiny new OpenMoko Freerunner GTA02.
This is an Open source GSM cell phone, running Linux and OpenMoko S/W stack.
This phone is really a developer release although it implies on the
website it is usable for the masses.
We will see...
Turning it on you see all this Linux boot up tiny tiny text scroll by,
ya the average Joe blo is going to love that ;)
So I followed the
startup guide
and plugged in the usb cable to my Ubuntu desktop. (If you don't have
Linux think again, maybe that $400's can go towards a tank of gas).
I followed the usb networking guide, and ssh'd into the phone, and
Holy Crap! it just worked!
First off it doesn't come with much, It can make a phone call, but no
other apps seem to be loaded.
Oh one gripe is there is nowhere to stow a stylus, it comes with a
huge pen/laser pointer/stylus, but who is going to keep that in their
pocket, and those with fat fingers are going to have a hard time doing
anything.
I actually had to RTFM to figure out how to close an application! BTW
this guide
seems to be pretty good. (You click the power button to close an app!
it really needs a close button somewhere where people expect one).
After loading most of the needed apps via the opkg app, which is slow
via USB 1.1 (whats up with that guys? its 2008! USB 2 is REQUIRED)
I found that most of them are pretty much unusable. The default
2007.2 UI is unintuitive, and most of the necessary apps simply don't
work well. Adding a contact is virtually impossible, try setting the
phone number to home instead of work for instance.
The web browser works but you can't input anything into forms, so
don't try logging into gmail.
The calendar makes no sense whatsoever.
OK so I am being harsh here, but the damn thing costs $400! and they
imply your average user could use it as a phone, so lets get over that
issue, and take it that this is a work in progress, very early stages,
and open source. It needs a good UI guide, come on we may not have a
super UI design guy, but copy the iphone or any other phone on the
market to get a clue how to make an intuitive UI. I am not a UI guy,
but even I can see this needs some work. BTW I do like the way the
scrolling works, that is very cool, you flick up or down and it
scrolls with some friction looks great, and works even better.
The platform itself has plenty of potential, built in GPS (which
doesn't work without an external antenna), accelerometers, which no one
has figured out how to use yet. A really nice VGA display, although
its invisible in bright sunlight, wifi which I was totally unable to
get to connect to a WPA/PSK station, and bluetooth, with no S/W support
for headsets.
Once all these issues are resolved I think it would make a great
primary handset.
I'll do my part and write something for it and release it as open
source, but I'm disappointed I can't use this as a phone yet.
I'll continue to RTFM if I can find one that describes the current UI
(the WIKI describes an obsolete UI). Maybe some of my issues are
simply not knowing how to use the UI, but that is a bad sign as I am a
developer and can use most UI's without RTFM'ing.
I still think this is a great (if expensive) toy for now, especially
for us Linux Geeks, and one day it may actually be a great phone too.
GPRS
UPDATE I got GPRS working, followed the instructions on the
WIKI, it is manual but it works.
My tmobile chatscript is...
# File: /etc/ppp/chatscripts/tmobile
TIMEOUT 20
ABORT BUSY
ABORT "NO ANSWER"
ABORT "NO DIALTONE"
ABORT VOICE
ABORT ERROR
ABORT RINGING
SAY 'Starting GPRS connect script\n'
"" +++
OK ATZ
OK ATE1
OK AT+CFUN=1
OK AT+COPS
SAY 'Setting APN\n'
OK AT+CGDCONT=1,"IP","wap.voicestream.com"
ABORT 'NO CARRIER'
SAY 'Dialing...\n'
OK ATD*99***1#
CONNECT /n/d
and the script
# File: /etc/ppp/peers/tmobile
#
/dev/ttySAC0
115200
crtscts
lock
hide-password
defaultroute # set the default route
usepeerdns
holdoff 3
ipcp-accept-local
lcp-echo-failure 12
lcp-echo-interval 3
noauth
noipdefault
novj
novjccomp
replacedefaultroute
persist
debug
connect "/usr/sbin/chat -v -f /etc/ppp/chatscripts/tmobile"
disconnect "/usr/sbin/chat -v -f /etc/ppp/chatscripts/tmobile-disconnect"
and a script to run it all...
/etc/init.d/gsmd stop
echo "1" > /sys/bus/platform/devices/neo1973-pm-gsm.0/power_on
chown uucp.uucp /dev/ttySAC0
stty -F /dev/ttySAC0 crtscts
pppd call tmobile
GPS
I did get a fix with the GPS using the internal antenna, however it
takes some concerted effort, see this page
for hints. NOTE without the sd card I get a fix within 1 minute.
WIFI
UPDATE Got WIFI and WPA/PSK working, again there are two sets of
instructions on the WIKI, the first set doesn't work for me, however
the second set does... adding
iface eth0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
to /etc/network/interfaces and then do ifdown usb0 and ifup eth0 of
course you need to setup /etc/wpa_supplicant/wpa_supplicant.conf
appropriately. However when I ssh into the phone via the wifi after
disconnecting the USB, it looses its connection regularly and usually
within a few minutes. Not sure why that is, my WIFI is generally very
stable with my laptop. I wonder if the bluetooth is interfering with
it?
Finally I would like to say that I love the idea of an open spurce
cell phone. I can see that these issues will probably get fixed pretty
quickly as it is open source and there are thousands of eyes on the
code, and if there is something you don't like you can fix it. Lets
see you do that on your I-Phone ;)
Posted in Openmoko, Linux | Tags freerunner, openmoko | 19 comments | no trackbacks
Posted by Jim Morris
Sun, 04 Feb 2007 06:32:35 GMT
The version of beagle available as a standard package with Ubuntu
Edgy 6.10, is horribly buggy and uses a lot of memory (2Gbytes on my
machine).
I wanted to build the latest version of Beagle (0.2.15.1) on my system which is
actually KUbuntu, and this required a lot of effort! I had to install
a bunch of added support libraries for gtk which do not appear to be
installed by default on KUbuntu. I downloaded the latest source from
here.
Here is a list of what I installed using sudo aptitude install many are suggested
here the rest I
discovered by trial and error.
libmono-sharpzip2.84-cil
mono
mono-devel
libmono-dev
libgdiplus
libxml-parser-perl
libsqlite0
libsqlite0-dev
libexif12
libexif-dev
shared-mime-info
libgmime2
libgmime2-dev
gtk-sharp2
libgmime1
libgmime-2.0-2-dev
libgmime2.2-cil
libbeagle0
libmono-sqlite1.0-cil
mono-gmcs
mono-classlib-2.0
gnome-vfs-extfs
libgnome-vfs-dev
libxml2-dev
libgconf2-dev
libbonobo2-dev
libbz2-dev
fam
libfam-dev
libgnomevfs2-dev
libgnome2-dev
libgtk2.0-dev
librsvg2-dev
python-gtk2-dev
gnome-sharp2
gtk-sharp
It turned out that the installed version of mono is not high enough to build the
latest version of beagle, so I installed the latest version of mono
manually into /opt/mono. You can get it
here, I got the Generic Mono 1.2.2.1_1 Linux
installer from
here.
To use this the following exports need to be done, usually in ~/.bashrc
export GTK2_RC_FILES=$HOME/.gtkrc-2.0
export PATH="/opt/mono/mono-1.2.2.1/bin:$PATH"
export PKG_CONFIG_PATH="/opt/mono/mono-1.2.2.1/lib/pkgconfig:$PKG_CONFIG_PATH"
export MANPATH="/opt/mono/mono-1.2.2.1/share/man:$MANPATH"
export LD_LIBRARY_PATH="/opt/mono/mono-1.2.2.1/lib:$LD_LIBRARY_PATH"
Additionally I needed to do this...
export MONO_PATH=/opt/mono/mono-1.2.2.1/lib/:/opt/mono/mono-1.2.2.1/lib/mono/gtk-sharp-2.0:/usr/lib/cli/gmime-sharp-2.2:/usr/lib/cli/gsf-sharp-0.0
when I got a bunch of build errors, and run errors, presumably from mono.
I am not a c sharp programmer, and know nothing about mono, so I am
not sure why these search paths are needed, but they are.
After all the above you can use the standard...
./configure
make
sudo make install
to build and install beagle.
I also turned on extended attributes on my ext3 partition as explained
here.
Then run beagle (making sure the above export is done first otherwise
it uses the wrong version of mono and can't find some of the mono
libraries.)
As far as I can see it is now running and indexing my disk, and the
memory usage is pretty low, and the cpu usage is tolerable.
If anyone can add good explanations please do so in the comments
section.
UPDATE This recipe also works with beagle 0.2.16
Posted in Linux | Tags beagle, edgy, kubuntu | 1 comment | no trackbacks
Posted by Jim Morris
Sun, 17 Dec 2006 10:57:15 GMT
My current development system is Ubuntu 6.06 using an Athlon 2500+ Barton
processor and an Asus A7V8X-X motherboard and 1GB of DRAM. It has been
pretty stable, and relatively fast, but it is about 3 years old, and I
like to upgrade when I can at least double my perceived performance. (ie I
have to notice the difference, not just going on specs).
So I decided the latest hot system seems to be based on the Intel Core
2 Duo 6600, and I like a quiet system so I decided to build one spec'd
out by Silent PC Review. The one in
particular was SPCR Model One: Modern General Purpose
PC.
This is a build based on an Asus P5B-E board, in an Antec Solo case,
with the silencer foam etc. I wanted 2 GB memory this time around as I
like to use VMware workstation to run winxp.
So I ordered the CPU, Mobo and Memory from NewEgg, and I ordered the
Antec Solo case with pre-installed silencer foam from EndPCNoise.com, they
have a pre-built
version
but by buying the components myself I could save about $500, and I enjoy
building systems.
The specs are:
- Intel Core Duo E6600
- Corsair TWIN2X2048-6400C4 memory
- Asus P5B-E Motherboard
- Antec Solo case
- Scythe Ninja Plus Rev. B CPU Cooler
I already have Seagate Barracuda drives (but had to get a SATA drive see
later).
I had an Antec 380 Watt PSU, which is not really quiet but I will
switch that with a 430 Watt Seasonic S12 later.
I had to get a new Video card, as the newer Motherboards no longer
have AGP slots, so I wanted to get as close to what I already have and
setup for dual monitor, which meant sticking with ATI Radeon, not the
fastest but I don't play games so don't need the fastest out there,
but it does need to support dual monitor, Fry's had a special on
Diamond Stealth x300e ATI based PCI express cards, so I got one of
those. (And as it turns out I may as well have gotten anything, as
even though it is a Radeon like my current card, it couldn't use the
same driver).
I had already read the horror stories of people trying to get Ubuntu
to work on these new C2D Mobos, but it seemed most of the problems
related to trying to run off of ATA/IDE disks, and the newer mobos all
have SATA. So I got an SIIG UltraATA 133 PCI card, just in case. This
was because the on-board JMicron based IDE controller does not work
with the version of the Kernel Ubuntu 6.06 comes with and the plan was
to try to continue using Dapper Drake and not have to upgrade to Edgy
Edge or worse Fiesty. I thought I could just stick my existing drive in
the new system and be off and running. (Boy was I wrong!)
I built the system pretty quickly, everything fitted in nicely
although the Ninja heatsink is huge, and made it hard to plug in some
connectors after I installed it, probably should have plugged them in
first. Also replacing the power supply later on is going to be tough
without removing the heatsink first.
The first thing I tried was to boot off of my existing IDE drive using
the SIIG IDE PCI board, and I was surprised that it booted OK. The
first thing I always do is run memtest over night, and as that comes
with Ubuntu it was easy to do. I needed to tweak the memory settings
in the BIOS first though. I don't overclock as I want stability, but
the defaults the BIOS picked up were wrong, so I just changed the
latencies to the Corsair specified ones (4,4,4,12). Memtest ran all
night with no problems, and the CPU temp was around 50 deg C, which
isn't too bad. I really like Corsair RAM it always seems to work for
me. So the first step seemed to go ok.
I then discovered I was not able to get the system to boot from an
IDE CDROM drive connected to the SIIG controller, whatever I tried.
I also noticed that the HD performance of the ata100 IDE disk drive
was not what it should be on the SIIG controller, I'm not sure why,
but it was about half the speed I expected, so I popped down to Fry's
again (I practically live there ;) as they had a Seagate 300GB SATA
drive for just under $100, and hooked that up, and it was nice and
fast, at least 3 times as fast as the IDE drive, I suspect the SIIG
PCI/IDE adapter was using a slower mode than necessary, but there was
no way of fixing it, and given I can't boot from CDROMs either I
returned the card (luckily Fry's has a great return policy).
I found I could boot off of a USB CDROM drive though, which I had
lying around so I ran Spinrite 6 on the SATA drive,
as I like to test all my drives as I've had a few bad ones in the past,
this comes on a bootable CD and I left that running for about 14
hours! The disk checked out OK.
Given all these problems, plus the fact that the sound card wasn't
recognized and the Ethernet card wasn't either I figured I'd see what
happened if I tried to boot off of the Edgy (Ubuntu 6.10) Live CD
using the built-in JMicron based IDE, I thought after all the bug
reports I read they have fixed it by now.
I stuck it into the IDE CDROM drive plugged into the JMicron slot, and
watched it boot, it came up and saw all the drives on the IDE, and the
sound worked too. Only the Ethernet was still invisible. So it seems
Edgy has fixed most of the compatibility problems, so this was enough
incentive for me to upgrade from Dapper to Edgy, which turned out to
not be too much of a hassle, and most of the problems I ran into other
people have already run into and can be easily fixed with some
Googling. (For instance the acpid didn't want to update, it was just a
matter of killing off hald).
I plugged my existing Dapper IDE drive into the JMicron slot, booted
into the Edgy Live CD, and copied the Dapper system onto the new SATA
drive, basically just cp -ax /mnt/old /mnt/new. This meant I could
keep that Dapper disk as a backup in case something went terribly
wrong down the road. I did some Grub incantations to get the SATA
drive to boot, this is best done in the grub boot prompt rather than
using grub on a running system...
grub> root (hd0, 0)
grub> setup (hd0)
Figuring out it's hd0 or hd1 takes some effort, but if its the only
drive it will be hd0, if you do this from a running system (ie the
Live cd)...
> grub
grub> device (hd0) /dev/sda
grub> root (hd0, 0)
grub> setup (hd0)
I then booted off the SATA drive into single user mode of Dapper.
(Dapper boots fine from a SATA drive on this MoBo).
I followed the KUbuntu instructions to upgrade from Dapper to Edgy,
basically edit the /etc/apt/sources.list and replace all occurrences
of dapper to edgy, then...
> apt-get update
> apt-get dist-upgrade
> apt-get install kubuntu-desktop python-qt3 python-kde3 ubuntu-minimal
Then keep doing it until everything downloads ok, that's when I found
the hald problem mentioned above which was blocking the upgrade
finishing.
I had to do a few apt-get upgrades afterwards, and manually upgrade
the list of things that got held back for some reason.
At the end of that I had my existing workstation image upgraded to
Edgy on the SATA drive, able to see the IDE drives on the JMicron
controller, and the sound worked fine. I had to plug in an old PCI
Ethernet card I had lying around as the Gig Ethernet controller is not
recognized even in Edgy.
In the process of all this I discovered that even though the JMicron
IDE works under Edgy, it thinks all the HDs are UDMA33, ie SLOW, I
haven't played around much with that, but I'm not sure why as it says
it handles UDMA133. This is ok for my CDROM, but I want my second IDE
drive to be a bit faster, even though my primary will now be a genuine
SATA. Fry's didn't have anymore SATA to IDE dongles to try (the one
from Syba I tried didn't work at all), so I ordered the newer SYBA one
from NewEgg, along with the 430 Seasonic S12 PSU. Hopefully this will
work and make my second IDE drive fast again. In the meantime I'll
live with the slow second drive.
Now I needed to find all the things that broke from my upgrade from
Dapper to Edgy (Something I was hoping I would have to avoid).
The first thing was to get dual monitors working again, and as fglrx
didn't seem to work anymore (not sure if it was Edgy or the different
video card), I had to do some research again and found that the Radeon
Xorg driver should work the same way withthe same setup I had before.
I took my existing xorg.conf that I had finally got to work with dual
screen a while back using fglrx and changed the driver to radeon, and
everything worked OK, except for some problem with the second screen
having a huge rectangle instead of a cursor, again Googling discovered
others had solved that problem, and I think adding "composite" "false"
to my xorg.conf fixed it. (Or rebooting, who knows).
Most everything else seemed to work except...
Had to uninstall and reinstall Mysql to get the server to run
I had to remove Beagle as it was using 2GB of memory! and no
backport in sight of the latest version, which apparently fixes that.
lm-sensors no longer worked, and it appears the device drivers
needed for my motherboard have not been ported over yet, and probably
won't make it into Edgys kernel anyway, so no more CPU temp sitting in
GKrellM.
Minor mods needed to smarttools (smartd) setup (add -d ata for the SATA drive)
Oh yea, it is really fast, well worth the effort and expense of the
upgrade, a very noticeable speed improvement over the Athlon XP 2500+
Barton system. I won't have to upgrade again for years, until there
are native quad core chips at 5GHz, at least ;)
This version is quieter than my old system, but not silent yet, I'm
hoping replacing the case fan with my Nexus fan, and the PSU with the
Seasonic S12, and removing the fan from the heat sink, will make it
almost silent.
update I got the new PSU it is a lot quieter. It is still not 100%
silent as I can just hear the nexus case fan, but the pc is right next
to my right ear, so you could say it is a good as it gets.
The syba silicon image based sata to ide dongle works well, the ide
drive now runs about 2-3 times faster, make sure you get the silicon image
based one and not the jmicron one. The one I have is in a clear
plastic case, available from egghead for about $12.
Posted in Linux | Tags coreduo, dapper, edgy, ubuntu | no comments | no trackbacks