Neo FreeRunner Hardware Issues
This is a community-written page that discusses hardware issues with the FreeRunner/GTA02 device. Information here is unofficial (and possibly incorrect) unless otherwise stated. Corrections and clarifications from Openmoko employees would be greatly appreciated.
Please DON'T PANIC when reading this page. Please give Openmoko employees time to investigate these issues and to develop a solution. Some of the items may turn out to be non-issues, or may have software workarounds. The FreeRunner's software is still under heavily development and can help fix most of this problems.
Poor Audio Quality
Issue: The person on the other end of a GSM phone call may experience poor audio quality, to the point where he/she cannot carry on a normal conversation.
There are three related aspects to this issue:
- Call is too quiet (mixer settings for mic and/or earpiece are set too low)
- Caller hears a loud echo of their own voice #1267
- Buzzing noise caused by GSM radio interference #883 #1352
Affects: all devices but only some users (depending on many factors)
The source of the GSM buzz has been identified. It's a mere hw-issue, depending on the way you hold the device, and the local situation created by network settings made by the GSM-provider (mainly 1800/1900 seems to be affected), as well as your position relative to basestation. There is no way to fix GSM buzz by mixer-setting modifications. So all suggested settings here may improve a little the volume of buzz during you're *not* speaking only, while relative ratio of buzz/voice level while speaking can't be changed by mixer settings.
Some hidden Calypso commands may help with the echo problem.
- Using a bluetooth headset is a possibility.
- Using external GSM-antenna will stop buzz.
Due to the multiple factors influencing the result of a single test, it's nearly impossible to find a setup that lets you compare for a decent "before / after" result. If you ever took an old analog TV portable to a place where you had to fiddle around with the antenna to try and make the snow and shadows vanish off the picture, you might have gotten a slight idea of what it's like to reproduce the same situation for decent tests. So probably most of the suggested alsa-improvements are mere random results. Even if they worked for provider A evidently, this doesn't mean there's any improvement by using same settings for provider B.
This being said, here they are:
- Better mixer settings: One confirmed good settings are here: http://firstname.lastname@example.org/msg00564.html. Please change accordingly in /usr/share/openmoko/scenarios/gsmhandset.state. Should eliminate/lessen echo and buzz problems. Neo alsamixer is the main article for setting the mixer settings.
Better set of mixer settings
Regarding 2. in the previous paragraph, here are my further tweaked settings:
[mic volume & buzz problem]
- 'Mono Playback Volume' (95)
- 'Mono Sidetone Playback Volume' (2)
- 'Mic2 Capture Volume' (3)
[speaker volume & echo problem]
- 'Speaker Playback Volume' (112)
- 'Bypass Playback Volume' (5)
Lowering Mono Sidetone eliminated the buzz problem better. Please try out and report if you have good success... --TimoJyrinki 08:19, 16 October 2008 (UTC)
Can't boot with discharged or missing battery
Issue: Neo FreeRunner requires battery power to boot, because Neo FreeRunner consumes too much current while booting to boot with only a charger. Since charging isn't enabled until the Neo FreeRunner has booted, this means that a discharged battery can not be charged. One manifestation of this problem is a kernel panic (red LED flashes constantly) when trying to boot using the power button.
Status: By properly sequencing module power sequence, a software solution to this problem should exist.
I think this patch finally fixes the problem: Philipp Hugs patches
- Make sure that the battery never discharges completely
- Use external stand-alone charger (compatible with the Nokia BL-5C battery)
- Boot the FreeRunner with an alternative battery, or with a spare GTA01 or GTA02 battery, plug USB power, then switch to the empty battery.
- Boot the FreeRunner with a 4.5VDC external power source (steady hand and great care involved), plug USB power, then insert the empty battery.
- Oscilloscope digital clip probes fit perfectly on the Freerunner's battery connectors. Make sure polarity is correct!
- Some users have reported that Neo FreeRunner is able to boot on USB power alone using the NOR u-boot, thus: press AUX, plug USB power, select boot. Reports of success would be appreciated.
- Does work with sequence described. If after pressing boot it just turns off again (happened a few times), then: press AUX, plug in USB power, cycle through the menu a few times to keep it from turning off without booting, after a minute or so press boot. Imrehg 08:34, 10 September 2008 (UTC)
- This does indeed work with sequence described. After pressing boot, the screen went blank for a few seconds, but then the beast came to life again. That saved the day! Edictor
- Trifirmed. Neither USB connection nor wall charger was able to wake my phone. But in NOR u-boot it worked (connected to the computer). I think this trick hasn't failed to anyone. --Flamma 12:11, 17 September 2008 (UTC)
- Unfortunately this is not working for me. My FreeRunner has been off for a few weeks and completely dead. I tried various combinations of holding aux and plugging in to both wall and computer, no luck. Tried with and without the battery in place, no luck. Aux and power button / just power / aux then power. No luck... --Safire 6 November 2008
- This is working ! It has prevent me from buying an external power charger. My freerunner had its battery discharged for about 2 weeks now, and I was able to boot and charge it. --JRD 23:37, 12 November 2008 (UTC)
- It has worked for me ! I have booted to 2008.9 Om with discharged battery (after connecting the FR to power supply and waiting a few minutes until AUX button red light stopped flashing) using the NOR boot menu. Tried the same with NAND boot menu and worked also !!! Then I could charge the battery. -- Emsyr 3:23, 20 November 2008 (UTC)
- I can boot to 2008.9 without battery and with USB connection = plug USB power (FR <-> PC) + press power button. However I cannot shutdown correctly. --Cynan 13:43, 9 December 2008 (UTC)
- I can boot to 2008.9 without battery and with USB connection: press AUX button, then plug USB power, then press power button (keeping AUX pressed). NOTE that battery was fully charged. The problem wasn't battery but corrupted environment in NAND u-boot: with battery IN, no access to NOR u-boot
- Both my friend's freerunner and mine was completely discharged. This trick failed. Finally booted the freerunner with a BL-5C battery from an old nokia n-gage. With the power connected I then switched the batteries. --Unlotto 14:27, 25 January 2009 (UTC)
Battery discharges when charging completes
Issue: If the Neo FreeRunner has been charging, when charging completes, it seems to drain the battery and not turn on charging again. This seems to be bug of PMU-registers setup, that shows up when PMU has to handle bat autonomously (=suspend). There might be issues our current scheme relies on wake-interrupt at bat-full which doesn't succeed, or something like that.
- When the battery is full, disconnect the charger
Suspend/resume corrupts SD card's partition table
Issue: Suspend/resume corrupts the partition table of the SD card
[Patched kernel] might solve the problem
- [Script] as a temporary workaround
Some SIMs Don't Work
Issue: There are reports that some users cannot register with their GSM network when using certain SIM cards. See for example http://lists.openmoko.org/pipermail/community/2008-July/020370.html
It is possible that there is more than one issue involved here. The observed problems might (i.e. some items are only speculation at this point) be caused by:
- User error, not inserting the SIM in the correct orientation or not sliding the holder to the 'locked' position
- Software issues that result in a locked SIM (not properly prompting the user for a PIN and then passing this to the SIM)
- Mechanical issues with the SIM holder that prevent the pins from making reliable contact with the pads on the SIM. Note that only 6 of the 8 pins are used, and the remaining two are not connected.
- Electrical incompatibility (some tests show problems with 1.8V SIMs while 2.9V ones work OK)
- Firmware bugs in the TI Calypso GSM chipset. Note that one issue in this category was found and fixed on the GTA01 devices (#666 in Trac), and that specific problem should not affect the FreeRunner.
- Defective SIMs, i.e. ones that do not comply with the applicable standards and are acknowledged as being defective by the carrier (even if they happen to work in some phones).
- You may have true 3G operating at 2100 and your sim doesn't fallback to GSM. The Phone works on 850/1800/1900 or 900/1800/1900.
Affects: Only a subset of users (details unknown).
- Please document your existing SIM card and provider in the table here.
- If the table mentioned above shows any SIM cards known to work with your provider, make note of these numbers.
- Contact your network provider and request a new SIM card. You may wish to print out the table mentioned above and bring it with you to the store.
- Add your experience with the new SIM card to the table mentioned above.
This section lists items that are acknowledged as being less than ideal, but are considered to be acceptable in the shipping product. They will not be discussed in detail on this page.
- Poor performance + slow bus speed of the Glamo GPU - discussed to death on the mailing lists and IRC.
- stable-2.6.26 branch of kernel has wait states lowered, core speed increased from 50MHz to 80MHz and memory speed from 80MHz to 90MHz (the latter is also in stable branch) - these lessen the problem a bit, though it's slow still
- GPS antenna switch driven out-of-spec - does not appear to have a significant effect on device performance
- Poor low-frequency audio response with low-impedance headphones, e.g. as discussed in this thread: http://lists.openmoko.org/pipermail/openmoko-kernel/2008-March/001999.html (NOTE - this thread refers to pre-mass-production devices)
- Can be fixed to an semi-acceptable level (if not high fidelity most probably) by adjusting "Bass Volume" to full (15) and "Bass Filter" to "100Hz @ 8kHz" (bass will be boosted <= 600Hz when playing back at 48kHz) or "200Hz @ 8kHz" (<= 1200Hz @ 48kHz). The default is 130Hz @ 48kHz and does not help much with the more wider scope of low frequencies.
- Ideally someone would record output and find out which setting produces best output, ie. compensating for the loss of low frequencies without boosting too high frequencies with this "bass" boost.
Actually with 16 Ohm headphones the cutoff frequency is more than 2kHz, so even 1200Hz @ 48kHz seems to be not appropriate. If you have 30 Ohm, it might be just correct setting.
These are issues that have been discussed in the past, but have been fixed (or turned out not to be a problem) for the mass-produced devices.
- Excessive LED current - Some early units lacked a current-limiting resistor for the LEDs. This has been fixed for the production units.
- Battery life - At this time it appears that the FreeRunner battery life will be acceptable once suspend/resume support has been implemented in software.
- slow GPS TTFF - see GPS Problems
Empty NOR Flash
Issue: NOR flash (backup copy of u-boot) is not programmed. #1568
Affects: Unknown - maybe only 1 or 2 devices? Also need to confirm that the bug report was from a mass-production unit rather than an earlier prototype.
Status: Solved. The new devices are tested better if they have the NOR flashed programmed and aren't shipped if the test fail.
Workarounds: Use the NAND copy of u-boot and be careful not to brick the device unless a debug-board is available.
Debug board has wrong vendor/product ID
Issue: A debug board is not reporting the expected USB Vendor/Product ID.
Affects: Only one report has been seen so far.
Status: Probably a single case scenario.
Workarounds: Edit configuration files (e.g. openocd.conf) to use the IDs that the board is reporting.
List of "Current issues" Imported from the "Community update page"
(to be sorted)
The information below has been collected from various sources, feel free to add questions and comments here.
GPS Performance of the FreeRunner
The poor GPS performance on the FreeRunner has been traced to an interaction between the microSD card and the GPS unit. A software and a hardware fixes are available, see GPS Problems.
GTA02 battery status
While writing a device driver for the new battery which provides an accurate counter of the charge state of the GTA02, the driver developer discovered that the device driver does not get a reading of the charge state due to a very long response time with only one I/O signal when trying to read the charge state. To be able to read the battery status properly, it has been written that it will be necessary to re-design that part of the GTA02 for hardware version GTA02A5 to use two I/O signals to reduce the response time (one for transmitting commands, one for receiving data?). This was fixed two months ago (see Bug 957).
Delivery of a GSM firmware update for the 3G SIM bug (#666)
A bug in the GSM firwmare of Neo 1973 caused some 3G SIM cards to not work with Neo 1973. This Neo 1973 GSM firmware update can only be installed by an Openmoko employee due to licensing issues.
This fix is already present in the Neo FreeRunner firwmare, and thus the Neo 1973 GSM firmware update is not required for the Neo FreeRunner. In fact since the firmware differs between the Neo 1973 and the Neo FreeRunner, it would very likely make the GSM module unusable.
There seem to be other GSM issues on the Neo FreeRunner. See Some SIMs Don't Work above.
SMedia 3362 Documentation & OpenGL ES Drivers
There is an open source kdrive driver being written for the GTA02 which will use hardware to accelerate the XRender extension. While the chip is capable of 3D graphics, no OpenGL ES driver/library is avaliable and Openmoko developers will not be writing one in the near future (although they have not ruled it out in the long-term).
Documentation for the SMedia 3362 has been promised (see this post). However, this refers to documentation Openmoko developers will be writing themselves, not the technical documentation SMedia have provided Openmoko with. The Openmoko developers had to sign an NDA with SMedia to obtain this documentation and are therefore unable to pass this information on to community developers. (See this post for details)
Power Management on the Neo1973/FreeRunner
The current battery life of the Neo1973 and FreeRunner is not satisfactory. A lot of changes seem to be necessary to the kernel, drivers and related user-space applications. Hopefully the situation will improve over time.
Draws too much current from USB
Unless the battery is full, the device draws more than 500mA from the USB Device. Some devices then - correctly - switch off this presumably defect device, instead of limiting the current at the expense of too low voltage supplied.
However, as learned from Specialized USB cables , the power consumption can be switched by the host, and this simply seems to be a bug in many distributions not to honor the id-pin.