Getting Started with your Neo 1973
m (Remove broken link to Shipment 1 deleted page.)
|Line 1:||Line 1:|
This is a guide of some first steps for those who have just received their first [[Neo1973]] phone
This is a guide of some first steps for those who have just received their first [[Neo1973]] phone.
== Overview of the device ==
== Overview of the device ==
Revision as of 22:44, 16 September 2008
This is a guide of some first steps for those who have just received their first Neo1973 phone.
Overview of the device
Button functions while the phone is on (as of writing):
- Power button short press: Close the current application
- Power button 1 second press: Open the power management menu
- Power button 10 second press: Last-resort power off
- AUX button short press: Go to the Today application
- AUX button 1 second press: Open the functions menu
Right above the power button on the lower right-hand side, there is a USB connector for connecting to computers with the cable shipped with the phone. Further above, the small golden connector (type MMCX) is for enhancing GPS reception with an optional external antenna (not included).
The black headset socket is on the left side of the phone. The plug type is the standard 2.5 mm four-conductor version, which differs from standard 3.5 mm headphones. The last millimeter is somewhat firmer so make sure you push the plug all the way. While a plug is in, the sound is automatically diverted to the headset.
For on-the-ear talking, there's a call speaker right above the display and a microphone in the oval opening at the bottom of the case. At the bottom of the case, there are also stereo speakers.
The display is a touch screen meant to be used with thumb for large items and with stylus when precision is useful. Contents of the screen can be rotated counterclockwise.
The stylus as shipped has three batteries in it, providing for the laser pointer and flashlight LEDs. A set of replacement batteries is also included. The stylus can be twisted open in middle to access the batteries.
To use the ballpoint or stylus head, turn the bottom part of the stylus to either direction.
The Neo ships with a stereo headset including a microphone and a push button. See #Interconnections above for connecting.
Also included are replacement rubber earbud sleaves in various sizes.
The provided lanyard can be attached to the hole in the bottom part of the phone. Put the loose end through the phone, through the two metal loops in the lanyard, between the metal loops and back through the first metal loop.
A short demonstration is available on Google video: Open the back cover, remove the battery, remove the SIM card, remove the micro-SD card, insert the micro-SD card, insert the SIM card, insert the battery, close the back cover
The micro-SD slot is underneath the SIM slot, which is underneath the battery. To access any of these, you need to open the back cover of the phone.
Remove the back cover by putting your fingernail or a guitar pick in the small recess on the top of the Neo and pulling gently (see just the first step of Disassembling Neo1973).
When you are done, close the back cover by inserting the pins of the cover into the holes on the bottom of the Neo and pressing the top of the case gently.
To remove the battery, lift its bottom edge with your fingernail.
Before closing the cover, insert the battery by pushing it against the three metal springs with the contacts aligned and pressing the bottom edge of the battery down into the case.
SIM card (optional)
The SIM card is obtained from a cell network operator. The slot for the SIM card is found just under the battery. The metallic card holder has arrows and text indicating which way to push it to lock and unlock it - make sure you don't open it with force when it's locked or it may break.
Click the holder unlocked and open it up. To remove the SIM card, slide it out of the holder.
When you're done with the micro-SD slot, slide the SIM card into its holder so that the pads make contact when you close the holder. Push the holder firmly against the springs, then lock it - otherwise the card will not be detected.
To check in Linux if the SIM card is inserted correctly, you can have a look in gsmd logs or use the instructions detailed in the Manually using GSM page and issue the AT+CIMI command.
Micro-SD card (optional)
You should have received a micro-SD memory card with your phone. You might want to copy some mp3 (or better Ogg Vorbis) files to it to try media playback.
The micro-SD slot is right under the SIM slot. Gently slide the micro-SD holder toward the battery contacts to unlock it. Lift up the holder. To remove a card, simply slide it out.
To insert a card, slide it into the holder the metal contacts first and away from the holder. Rotate the holder shut, press it firmly against the springs, and gently slide the holder away from the battery contacts to lock it closed.
The card should automatically be available under /media/card the next time you boot. You can test it and your audio drivers at the same time by playing an mp3 or ogg from it (see Neo1973 Audio Subsystem).
Powering up the phone
Just hitting the power button (depending on your u-boot version you have to press for >= 5 seconds) should get the phone first into the bootloader, then boot the kernel, and get into X/Openmoko. The shipped battery typically has enough charge to boot up directly without charging through the usb cable first.
Once you have pressed the power button sufficiently long, the vibrator makes a short pulse and the screen backlight turns on. You can now release the power button and watch the phone booting.
If the battery is not sufficiently charged, the phone will not turn on, even if the usb cable is plugged in.
Flashing the Neo1973 GTA01Bv4
The GTA01Bv4 devices that are currently shipping do not boot out of the box. Flashing the phone with the latest kernel and supporting file system ("rootfs") is required before the phone will successfully boot.
Powering down the phone
While in bootloader mode, or if the phone has crashed
If you press the power button for 9 seconds, the phone will switch off. You can notice this by the backlight going dark.
While running a full linux system with userspace
In this mode, a power-button press of 5 seconds will be sufficient. After this, the init process will take care of safely shutting down the phone, which might take up to 20 extra seconds. The X server should get killed, you should drop back to a (garbled) console, and it should finally switch off - much like a regular Linux PC.
- See also Neo1973 Battery Charger
The Neo1973 supports two charging modes: One 100mA charge mode (called pre-charge) and 500mA (called fast charge). Charging is always done via the USB socket. You can use any USB-A to USB-mini-B cable to connect the phone to any USB host.
Note: If the Neo1973 battery completely drains it's possible that even after a long recharge you might not be able to power the phone on. To fix that you need to remove the battery, and leave it out for about a minute, then replace the battery and plug the phone back into a usb port. You should be able to power it on after a few minutes of charging.
While in u-boot
While you are in u-boot mode, the phone only charges with 100mA by default. (This will change in one of the future revisions).
However, using the u-boot console you can manually enable fast charging. See U-boot#Battery_charger_related for more information.
While in Linux
As soon as the phone is connected via USB cable, it will charge. However, the default charging current is only 100mA, way too little if you want to operate the phone and charge at the same time.
If your USB upstream port is capable of supplying 500mA, then it will configure the Neo1973 accordingly and use 500mA charging mode. You can notice this by the following line in the kernel log (/var/log/messages) of the Neo1973:
usb0: full speed config #1: 500 mA, Ethernet Gadget, using CDC Ethernet
Getting shell access on the phone
By using the terminal emulator and on-screen keyboard
In Today (the main screen the phone boots to and which can always be accessed by pressing the AUX button), selecting (with a stylus or a thumb) the "+" tab in the center bottom of the screen shows the application launcher. Make sure the filter at the top of the window is set at "Applications" or "All", then drag upward on the list to scroll it until the Terminal application appears. Alternatively, you can toggle the magnifier glass in the filter and type "terminal" to the text box that appears. Click the application in the list to make it turn yellow and start - this might be difficult a first since any movement is interpreted as dragging rather than clicking.
The on-screen keyboard should appear whenever you choose a text entry. It can also be toggled by clicking on the tiny keyboard icon in the panel at the very top of the screen. More options are available via Input Manager which can be started in the application launcher filtered by "Utilities" or "All". A white box appears in the panel. It also can be used to toggle the keyboard. You can choose between different keyboard layouts and the stroke recognizer by dragging from the white box to the right of the box, which should make a menu appear.
By using Ethernet emulation over a USB cable
The standard Neo1973 Linux kernel has support for the "cdc_ether USB gadget", i.e. a standard implementation of how to emulate an Ethernet device over USB.
The following description is for generic *NIX system. For setting up connectivity specifically on a MacOS X machine, refer to MacOS_X. Older Mac OS X versions did not include a CDC Ethernet driver, you might have to install one first. There are also issues with Leopard.
As soon as the kernel is up and running, and you have the phone connected via USB, you should get a usb0 device on your host.
The Phone will have the IPv4 address 192.168.0.202/24. You can run `ifconfig` in the terminal on the phone to verify this (this is optional, just check it if it doesn't work given the instructions below)
If you plug a USB cable into a laptop running Linux, you'll likely see the "cdc_ether" kernel module being loaded and a usb0 network interface appear. If not, see USB_Networking for more details.
On the host PC, you should then configure your interface to 192.168.0.200 by using
# ifconfig usb0 192.168.0.200 netmask 255.255.255.0
Then you should be able to
# ping 192.168.0.202
and last, but not least
# ssh firstname.lastname@example.org
Once you press 'enter' (empty password), you should now have a root login.
See USB_Networking for more details, including instructions on how to automatically setup masquerading so that your phone can get access to the internet through the host PC.
Note: If you have a power management profile enabled on your device your ssh connection might appear to freeze when your phone tries to sleep. To stop this from occuring you need to hold the power button down for a few seconds until you get the menu with the "Power Off" option at the bottom. Once you do, you should select the "Profile: No PM" option. If your shell died and you want it back, you can do the following:
# modprobe -r cdc_ether # modprobe -r cdc_acm
Then unplug the device and plug it back in after turning power-management off.
By using the debug board/serial/JTAG
Please see Debug Board#Usage_Instructions
Getting access to the bootloader console
Please see u-boot#Using_usbtty_from_Linux
Enable Internal Speaker and Mic in Phone Calls
If you got no Speaker and Mic during a Call you need to load the "gsmhandset.state" alsa-configfile
alsactl -f /etc/alsa/gsmhandset.state restore
Maybe you need to load another .state file for playing mp3 or a BT-Headset see in /etc/alsa/
To hear something you can find an .au file (or convert a .wav into an .au by using the sox tool):
sox ringtone_thereisnophone.wav -t raw -r 8012 -u -b -c 1 rigtone_thereisnophone.au
copy it to the device and run
cat ringtone_thereisnophone.au > /dev/dsp
By default, calls pick up a lot of ambient noise and drown out the caller's voice. Here is a fix
Useful commands in Linux
Writing "mem" into /sys/power/state tells Linux to suspend - it will enter a low power mode where only the GSM and RAM are powered up and the CPU sleeps. It will persist in this state until a wake-up event arrives. Some currently enabled wake-up events are: AUX or POWER key press, USB cable detect, and GSM serial. (this does not however let you get calls in suspend as yet, as the serial port is not properly configured)
If you're connected over ssh, sshd will stop responding when the OS suspends, so to avoid locking up your ssh client, use the command
# (sleep 1; echo mem > /sys/power/state) & exit
One easy way to back up all of the Flash, that doesn't require installing any special software, is with netcat over the USB ethernet. The following commands can be used for that.
|On the host||On the target|
$ nc -l -p 20000 > mtdblock0 $ nc -l -p 20000 > mtdblock1 $ nc -l -p 20000 > mtdblock2 $ nc -l -p 20000 > mtdblock3 $ nc -l -p 20000 > mtdblock4
# cat /dev/mtdblock0 | nc 192.168.0.200 20000 # cat /dev/mtdblock1 | nc 192.168.0.200 20000 # cat /dev/mtdblock2 | nc 192.168.0.200 20000 # cat /dev/mtdblock3 | nc 192.168.0.200 20000 # cat /dev/mtdblock4 | nc 192.168.0.200 20000
This stores the five NAND partitions in files named mtdblock*. Knowing the partition layout (u-boot "mtdparts" command or Linux dmesg) you can restore the whole flash with it.
| NOTE: On some recent netcat (ex.: the one on Fedora 8), semantic changed and using -l and -p is an error. On the host, you could have to run:
$ nc -l 20000 > mtdblock0 $ nc -l 20000 > mtdblock1 $ nc -l 20000 > mtdblock2 $ nc -l 20000 > mtdblock3 $ nc -l 20000 > mtdblock4
Setting date and time
To set the date and time you need to open a terminal or ssh to the device. To set the date and time to August 9 19:02 2007 type:
# date -s 080919022007
The screensaver might turn on as you execute this command - just tap the screen to get back.
Now, you need to synchronize the time with the hardware date/time by typing:
# hwclock --systohc
Where to from here
You'll probably want to play with some of the interesting hardware in this device. Obviously, you can explore the applications available through the touch-screen interface. But for those who prefer doing things more in the raw from a shell prompt, you can manually use GSM, manually use SMS, or you can start playing with the GPS.