Showing posts with label neo1973. Show all posts
Showing posts with label neo1973. Show all posts

2007-12-19

OpenMoko Debug Board

I've had a problem with my u-boot_env since ever since I flashed a bad u-boot version in early august. The first time I tried to flash a new kernel it wrote right over the environment partition and since then I've been unable to boot without holding in AUX and use Factory Reset. Also, since the u-boot_env was overwritten I had no way to redirect the u-boot serial terminal output to USB because the limited default boot menu only includes Boot and Factory Reset.

Fortunately I managed to get my hands on a debug board. (Thanks abraxa_!) Following the instructions in the wiki I installed libftdi and started looking for an openocd ebuild. Wasn't until later that I realized I didn't need to install openocd in Gentoo at all, since it was a lot easier to use the one built by the Moko Makefile.

Next I connected the debug board to the pc but it just wouldn't show up correctly. Taking a closer look at the debug board page in the wiki I noticed I was missing kernel module. Recompile the kernel to include Device Drivers -> USB -> USB Serial Converter Support -> USB FTDI Single Port Serial Driver as a module, and after a modprobe ftdi_sio vendor=0x1457 product=0x5118 the device was detected the way it should:
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device
ftdi_sio 2-1.1:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT2232C
usb 2-1.1: FTDI USB Serial Device converter now attached to ttyUSB0
ftdi_sio 2-1.1:1.1: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT2232C
usb 2-1.1: FTDI USB Serial Device converter now attached to ttyUSB1
usbcore: registered new interface driver ftdi_sio
drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver
I updated the openocd.conf according to the wiki and it started without complaints. Did a telnet localhost 4444 and was greeted by the openocd prompt. The only problem now was that I had no real clue how to proceed. I typed help in the prompt and then tried some of the commands. After a mix of a halt and reset commands the Neo1973 went black. Trying to restart from scratch I closed openocd and unplugged the debug board. That turned out to be a bad idea. After reconnecting the USB cable and restarting openocd I constantly got the error:
Info: openocd.c:93 main(): Open On-Chip Debugger (2007-09-05 09:00 CEST)
Info: configuration.c:50 configuration_output_handler(): Command ft2232_vid_pid not found
Info: configuration.c:50 configuration_output_handler(): Command ft2232_layout not found
Error: jtag.c:1461 jtag_init(): No valid jtag interface found (ft2232)
Error: jtag.c:1462 jtag_init(): compiled-in jtag interfaces:
Error: jtag.c:1465 jtag_init(): 0: parport
The reason it failed was probably that the Neo was still on, but halted, and I guess that caused some trouble for the debug board. After disconnecting both devices and taking the battery out of the Neo, then starting over again it worked better.

Asked for some help in #openmoko for how to get that u-boot_env repaired and NineX suggested using the Devirginator since it had worked well for him. At that time the buildhost was down, so I tried to configure it to use my local repository instead. After about an hour or so fighting with the config file, only getting useless error messages, I got tired and gave up for the day.

At the same time as NineX mentioned the devirginator, Mike Montour put together a short list of steps in a pastebin explaining how to do it manually and my plan was to try that next time. While I was away during the weekend, moving to Stockholm, he wrote an awesome wiki page on how to do that manual Unbricking. Thanks a lot for the clear and helpful wiki page Mr Montour!

I followed the steps on that page straight through, using a mix of openocd, dfu-util and cu, I now have a Neo1973 that boots correctly. Rebuilding my Bad Block Table showed that I had a bad block at 0x00004000, the default u-boot_env address. Maybe that, in combination with an early August version of u-boot was the reason I got this problem in the first place.

The Debug Board itself is not so easy to use at first, especially when you're not really familiar with embedded things like JTAG and serial consoles. Despite that it is still very nice to have one around when you experiment with your Neo1973. If I knew this low level stuff was so much fun I would have bought the Advanced Kit from the start.

2007-11-24

OpenMoko is growing

I just took a quick look at the statistics for the OpenMoko project and it made me happy.

Currently there is 3500 revisions in the svn repository and bugzilla has reached 1022 bugs, 241 of them are still open. The wiki has 3685 pages and 6090 registered users, and maybe more impressively, projects has 1507 developers and 81 projects registered.

The IRC channel on freenode has stayed at around 320 people for the last six months and there's a lot of interesting discussions going on. It's a friendly atmosphere and people interested in the project are encouraged to drop by. Usually, they get pointed to the right place in the wiki, where most questions have already been answered. A good page to read if you want to know what is going on in the project is the Community Updates page. Right now it has not been updated in over a week, but I'm sure it will be soon.

Unfortunately, a hardware bug in power management with GTA02v4 has required a fifth revision of the hardware for GTA02. It's a bit of a shame that the release will be delayed even further, but I'd rather have good hardware later, than something broken right now.

The most interesting code changes in OpenMoko recently involves gsmd, PhoneKit(pdf) and the dbus interface to it. The dialer and sms handling is also being worked at in a furious pace by the OpenedHand guys. Since about a week, calling has worked without any problems for me. Power management has been improved and the phone should last at least a day now.

Also, some guys from Ixonos have been working on an alternative to gsmd, gsmd2. I haven't looked at the code, but they have some very nice documentation and a detailed specification. Still, lots to be discussed it seems.

The GPS binary driver is still not available for download. OpenMoko have been promised by Global Locate that they will be able to distribute it, but the legal terms are not yet set. Hopefully this will be solved soon.

All in all, a lot is going on and the software will be in pretty good shape for when the GTA02 is released.

2007-10-18

OpenMoko progress

I have had my Neo1973 for three months now and the software is finally getting usable. There were a lot of changes during August, the totally new theme and a lot of updates to the kernel and low level libraries. I had the first successful "out of the box" call with OpenMoko using a build from ScaredyCat in September 3:rd, but after that things started to go bad. The daemon handling communication to the GSM modem was more or less broken for a month and calling did not work out of the box for quite a while. That was if you even managed to get the rootfs built. WebKitGtk failed to build almost every time, and so did many other programs too.

This happened for many reasons, mostly because the understaffed development team had to focus on the hardware for GTA02 to iron out all serious bugs, and also because some of them finally had some well deserved vacation.

Despite these issues, the first batch of Neo1973's sold out quickly. A second batch was produced during late September and more people got their hands on the GTA01 phones in early October.

Trolltech also published an image for the Neo1973 and it worked really well. Even managed to use up the rest of my prepaid sim card calling friends.

Since then things have really sped up again. OpenMoko hired XorA to manage OpenMoko in OpenEmbedded and take care of build issues and bitbake recipies. This quickly made a big difference when it comes to getting the complete OpenMoko distro to build. Also, WebKitGtk now compiles more often than not and the default build has seen a several additions. It now includes the openmoko-browser2 based on WebKitGTK. The browser is a bit unstable still and the design is awful since only about 50% of the screen is used to display the actual web page you're browsing.


Also the media player has gotten a face lift and is becomming usable, with the exception that the mp3 decoding library is not yet optimized for the Neo. There's some usability issues still, like that the volume slider is difficult to control with your fingers only, and how you add files to the playlists.


The manufacturing of the second hardware revision of the Neo1973 is just about to start and hopefully all eager developers can get hold of a GTA02 before Christmas. If I didn't have a GTA01 already I would probably wait for the GTA02. The WiFi and faster processor would surely be nice to have. Of course bigger flash disk, the accelerometers and the graphics accelerator are nice too. In addition to that, the AGPS chip has changed to U-blox. (For a comparison of the two revisions of the phone, look here.)

Talking about that, I really hope that Broadcom will release an EABI driver for the Global Locate chip in the GTA01. Since Broadcom bought Global Locate it's been awfully quite about the GPS and even if you can get the old driver working in a chroot, it's a shame it takes so much effort. There's also no applications what so ever for using the GPS either. Not beyond a few shell scripts at least.

2007-08-19

OpenMoko 2007.2

A few weeks ago I ordered the Neo1973 phone and have been playing around with it a bit since. The software is currently early alpha state and often fails to even build correctly, but that's what we all expect at this early phase of development.

The easiest way to build a complete image to flash on the phone has been to use Rod Whitby's MokoMakefile. Basically all you have to write is "make openmoko-devel-image" and wait a few hours. To compile the whole OpenMoko distribution from scratch takes about 10 hours on my AMD64 3000+, so it's not something you just do in a heartbeat.

The OpenMoko Wiki is really working well and it's still expanding quickly. #openmoko on Freenode is also a very busy channel, currently around 320 people in it. There's always someone there to point you in the right direction if there's some trouble with your Neo.

I have yet to make any applications on my own to install or include in the rootfs, but I'm trying to keep up with the latest development and I'm still learning how bitbake works.

I haven't even been able to make a call with the phone yet, or been able to use the GPS. But that's fine for now, I did order a development sample of a phone. The battery on the Neo doesn't last long either since the power management isn't really working yet. Basically it can be on for a few hours, then it dies completely.

The screen looks great though, and the size is nice. The touchscreen feels good, but is a bit difficult to use near the edges. It's definitely a bit slow to use still, but the GTA02 version (mine is GTA01) will have some nice additions, including WiFi, 3D Graphics accelerators and a faster processor.

There's still a lot of people ordering the developer version of the phone and I'm sure that we'll see a lot of interesting applications fairly quickly. I do worry a bit about the stability and quality of it though. Hopefully they will lock down a stable release in good time before the public release of the phone so that there's enough time to test and bugfix without introducing more problems.

I have no doubt that there will be lots and lots of games and utilities for this phone in a years time. The Neo1973 is still only for tinkerers who like to mess around, but the future is promising.

2007-03-28

Geotagging

GPS tagging photos on Flickr has been done for a long time, but I had not seen it on regular blogs yet. Why not? You could do a lot of fun with that! At least I hadn't heard any noise about it so I thought it hadn't really taken off. But of course some clever people had started working on this long ago and things are well on the way.

The first thoughts around this I got from reading an article on O'Reilly radar about Google supporting GeoRSS. That led me to the GeoRSS homepage which links straight to geotagthings.com. In geotagthings (still in beta) you can subscribe to a feed that's an aggregation of many geotagged feeds that are limited to be within a certain area of your choice. I think it would be really fun to see what other bloggers in the block are saying and what pictures they are posting.

Then of course there's the question of how to easily add geotags to all blog posts. It should of course happen automatically if possible, but good support for adding it manually should be built into all blogging software. There should be the possibility to save some default locations where you do most posts from and a row with free editing, just to enter latitude and longitude.

There's a newly started GNOME project called GeoClue, which is about making a DBus service for geographic information. They have a great list on the homepage with suggestions of how this information could be used and I really hope this to takes off. The more this is integrated into the desktop the better.

One of many cool things mentioned on the GeoClue page is Placeopedia. Placeopedia is an effort to connect Wikipedia articles with the location they are talking about. This is exactly what I want to have in my Neo1973 when I'm out traveling somewhere. "Is there something interesting around here?" - One look on the map and I can click and read the article about it.

Of course some clever minds at Google have also been looking at this stuff. There's been some rumors that maybe Google was making a phone, but of course they were not going build any hardware. The proof for this is this patent for quicker search results when using a mobile device was dug up by Mad4MobilePhones. It shows that Google was, as usually, looking for a way to get better and faster search results. Jacqui Cheng at Ars Technica took a closer look on this new mobile search and really liked it. The last piece of the puzzle is how to add the positioning automatically. (Google's mobile search currently needs you to enter your current Zip code to tell where you are.)

GPS receivers are getting built into more and more things and now we have to make it possible to get the geographic information to all programs that can make use of it.

2007-03-05

First Neo1973 phones are being shipped

Some happy Phase 0 developers will soon have a Neo1973 phone delivered to their doorstep. Hopefully we'll see a lot more images of it and a lot of bugfixes and work done until the first revised developer version can be ordered by the end of this month.

It's really nice to see FIC being so open with everything in this project